Você está na página 1de 3

Bootcamp: Arquiteto(a) de Soluções

Desafio

Módulo 1 Computação em nuvem

Objetivos

Exercitar os seguintes conceitos trabalhados no Módulo:

✔ Conectividade com a nuvem apresentada, criando redes virtuais e elementos


de balanceamento de carga.

✔ Entender o funcionamento da virtualização e containers na computação em


nuvem.

✔ Elasticidade, escalabilidade, alta disponibilidade e automação.

Enunciado

No Trabalho Prático, fizemos parte de uma equipe de Tecnologia da Informação da


organização X. Nossa equipe será incumbida da migração do ambiente on-premises
para a nuvem. Exercemos o papel de um cliente da nuvem (cloud customer) e vamos
escolher um provedor de nuvem pública para a criação dos recursos de TI na nuvem. O
objetivo da equipe é criar a infraestrutura para uma aplicação web na nuvem. Essa
infraestrutura deve ter alta disponibilidade, ser elástica e utilizar as tecnologias de
container e virtualização.

Atenção: Se esse for seu primeiro contato com a computação em nuvem, a


recomendação é a escolha da Azure devido à limitação de custos criada por padrão,
evitando assim qualquer cobrança real para o aluno.

Atividades
Os alunos deverão desempenhar as seguintes atividades:
1. Utilizar a conta gratuita de um dos três provedores de nuvem pública: Azure,
AWS ou GCP, criada para o trabalho prático. Novamente, chamo atenção quanto
ao risco de uma possível cobrança para o aluno, caso os devidos cuidados não
sejam seguidos. Caso seja o primeiro contato com a nuvem, escolha a Azure.

2. O objetivo é criar uma estrutura que atenda às necessidades do enunciado. As


instruções abaixo foram feitas de acordo com o provedor AWS. Caso utilize
outro provedor, a ordem das atividades e os nomes dos serviços serão
alterados.

3. Criar uma máquina virtual com o sistema operacional de sua preferência e


transformar em uma imagem (Amazon Machine Image AMI). Durante o
processo de criação, habilitar um IP externo, liberar o acesso à porta 80 e
adicionar comandos na inicialização (“Advanced Details” > User Data.”) para
criar e customizar um webserver apache. O exemplo abaixo é para um sistema
operacional Ubuntu 20.04.2 LTS. De acordo com o sistema operacional
escolhido, os comandos podem ser diferentes.

#!/bin/bash
apt-get update -y
apt-get upgrade -y
apt-get install apache2 -y
systemctl start apache2
systemctl enable — now apache2
INSTANCE="`wget -q -O - http://169.254.169.254/latest/meta-data/instance-id`"
sudo sed -i 's/works/works - Server: '"$HOSTNAME"' - '"$INSTANCE"'/g' /var/www/html/index.html

Atenção: Os procedimentos de criação de IP externo e a liberação de porta externa,


sem nenhuma proteção adicional, não é uma boa prática, principalmente em relação à
segurança da informação. Preferencialmente, não devem ser repetidos para ambientes
produtivos.
1. Criar um modelo customizado (AWS Launch Template) utilizando a máquina
virtual criada anteriormente.

2. Configurar um auto scaling group, com capacidade desejada de 3, capacidade


mínima de 2 e máxima de 5 instâncias EC2. Utilizar a métrica de utilização
média de CPU como política de escalabilidade.

3. Iniciar algum software de simulação de carga de CPU em uma das instâncias.

4. Validar o funcionamento do autoscaling.

5. Remover instância para não gerar custo adicional.

Você também pode gostar