Você está na página 1de 3

Bootcamp: Arquiteto(a) de Soluções

Desafio
Módulo 1: Computação em nuvem

Objetivos de Ensino
Exercitar os seguintes conceitos trabalhados no Módulo:

1. Conectividade com a nuvem apresentada, criando redes virtuais e elementos de


balanceamento de carga.
2. Entender o funcionamento da virtualização e containers na computação em nuvem.
3. 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
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.

2
4. Validar o funcionamento do autoscaling.

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

Você também pode gostar