Alura > Cursos de DevOps > Cursos de AWS > Conteúdos de AWS > Primeiras aulas do curso Cloud: realize o deploy de aplicações na AWS

Cloud: realize o deploy de aplicações na AWS

Criando aplicações com Lightsail - Apresentação

Olá, meu nome é Lucas Mata e sou instrutor na Alura.

Audiodescrição: Lucas é pessoa branca. Tem cabelo preto e olhos castanhos. Tem barba curta e usa óculos de armação redonda. Está com uma camiseta azul com a logotipo da Alura. Ao fundo, estúdio da Alura com iluminação arroxeada e estante com decorações à direita.

Neste curso, vamos dar um novo passo na nossa jornada de aprendizado em Cloud Computing (Computação em Nuvem), usando o ambiente da AWS (Amazon Web Services).

O que vamos aprender?

Vamos começar pelo deploy (implantação) de aplicações na nuvem, usando diferentes serviços da AWS.

Começaremos pelo Lightsail, depois vamos usar uma abordagem de subir aplicações de forma "containerizada", adotando serviços como ECR (Elastic Container Registry) e ECS (Elastic Container Service) da AWS.

Vamos aprender também como criar uma nuvem privada virtual para manter as nossas aplicações operando na nuvem de maneira segura e protegida. Vamos explorar a definição das políticas de escalabilidade, uma característica importante da nuvem.

Por fim, vamos analisar alguns serviços que nos ajudam a distribuir e armazenar melhor o nosso conteúdo.

Projeto

Para aprender esses conceitos, começaremos utilizando o Lightsail para testar a criação de website utilizando o WordPress.

Na sequência, vamos adotar um projeto de aplicação web, um site para adoção de animais chamado Adopet. Vamos construir a imagem desse projeto para subir um container usando o serviço ECS da AWS.

Pré-requisitos

Vamos explorar tudo isso de maneira contextualizada, a partir de questões relacionadas à operação de aplicações web na nuvem.

Para aproveitar melhor esse curso, recomendamos que você tenha feito o curso anterior da formação de Cloud Computing. Aproveite também os recursos da plataforma. Além dos vídeos, teremos atividades, o apoio do fórum e da comunidade no Discord da Alura.

Nos encontramos nos próximos vídeos para dar início a uma nova jornada de aprendizado em Cloud Computing.

Criando aplicações com Lightsail - Usando o Lightsail

Quando utilizamos aplicações web, seja em um celular ou notebook, estamos interagindo com outros computadores, geralmente de maior capacidade de processamento e armazenamento, através da internet.

Exploramos isso no passo anterior desta formação, quando criamos uma aplicação web simples, um site em HTML, dentro de uma instância EC2 (Amazon Elastic Compute Cloud) da AWS.

Qual será a nossa próxima missão nessa jornada? Vamos continuar explorando a computação em nuvem, dentro do ambiente da AWS, e mais precisamente, analisando como podemos fazer o deploy, ou seja, a implantação de aplicações web nesse ambiente de nuvem.

Deploy é a disponibilização de uma aplicação para uso.

Visitando instância da EC2

Vamos entrar no console da AWS e fazer o login. Para acompanhar esse curso, você também deve fazê-lo, mas atente-se que podemos utilizar alguns serviços ao longo da nossa jornada, que podem ter alguns custos. Portanto, fique sempre atento ao período de teste gratuito, de acordo com os recursos que você já consumiu na AWS.

Será que sempre precisaremos usar alguma instância da EC2 e fazer o processo de configuração para ter uma aplicação web funcional na nuvem?

Podemos acessar o EC2, para analisar uma aplicação que construímos anteriormente, mas que está levemente modificada. No campo de pesquisa, digitamos "EC2" e clicamos na opção que nos leva ao console desse serviço.

O primeiro painel chamado "Recursos" faz uma síntese dos diversos recursos disponíveis do EC2. Vamos clicar no primeiro item, que são as instâncias em execução. Atualmente, temos duas instâncias.

Se clicamos sobre o ID da primeira instância, vamos acessar um painel com todas as configurações e também o endereço IP público dessa instância, no qual podemos acessar o conteúdo que está armazenado nela e que está exposto na web.

Nesse caso, aparece o site "Central Tech" que criamos para compartilhar projetos de tecnologia. Inicialmente havíamos feito apenas um HTML, mas agora adicionamos também alguma estilização com CSS.

Além de configurar a instância do zero, escolhendo o sistema operacional e instalando o servidor web Apache para servir as páginas, também tivemos que escrever um código HTML e CSS para criar um site bem simples.

No entanto, para criar um site mais atrativo, existe uma solução mais simples na AWS: o serviço Lightsail, que pode facilitar esse processo.

Criando instância do Lightsail

Para voltar ao console da AWS, vamos clicar no logotipo da AWS que fica no canto superior esquerdo da tela. Na barra de pesquisa da página inicial, vamos procurar por "Lightsail" para navegar diretamente para o console do Amazon Lightsail.

A primeira informação dessa nova página é que não temos nenhuma instância no momento. Mas por que falamos de instância também fora do EC2? Na verdade, uma instância é uma máquina virtual que criamos para instalar dependências e aplicações, permitindo disponibilizar nossos projetos, como um site de tecnologia, na internet.

Também é possível criar uma instância no Lightsail, só que de uma forma bem mais simplificada. Para exemplificar esse ponto, vamos clicar no botão "Criar instância" localizado no centro da página.

Na página de criação, a primeira informação que aparece é o local em que essa instância estará armazenada. Isso se refere ao datacenter, à zona de disponibilidade que vamos utilizar. Podemos manter como "Virgínia, Zona A".

Logo a seguir, temos a opção de selecionar uma imagem da instância, onde podemos escolher uma plataforma e um esquema. Com isso, podemos indicar tanto o sistema operacional que vamos utilizar quanto o aplicativo que queremos configurar nessa instância para que ela esteja pronta para a nossa finalidade de uso.

No caso da plataforma "Linux/UNIX", temos algumas opções de aplicações, como WordPress, LAMP, Node.js, Django, Nginx e muitas outras. Como vamos criar um site de tecnologia para compartilhar projetos, repositório do GitHub e vídeos no YouTube, podemos usar o WordPress como uma solução mais simples. Assim, não precisaremos necessariamente configurar nenhum código HTML ou CSS para conseguir ter uma boa experiência de usuário.

Descendo a página, existem algumas configurações opcionais, como, por exemplo, adicionar um script de execução, que será executado na primeira vez que a instância for lançada, e também adicionar um par de chaves SSH, para fazer acesso remoto, usando o terminal como cliente.

E, por fim, podemos escolher o plano de funcionamento dessa instância. Assim, temos uma certa previsibilidade de custo, sem importar o número de acessos recebidos pela aplicação.

Desse modo, podemos escolher o plano de que custa 5 dólares por mês, que fornece uma instância com 512 MB de memória, 20 GB de armazenamento e dois processadores. E, ao mesmo tempo, também é disponibilizado 1 TB de transferência.

Isso significa que as pessoas vão poder interagir e consumir os nossos conteúdos na web, trafegando nessa página, até o limite de 1 TB por mês. A partir do momento que ultrapassamos esse limite, podemos ser cobrados adicionalmente por transferência e recebimento.

Por fim, na seção "Identifique sua instância", devemos criar um nome exclusivo para a instância, facilitando sua identificação para fins de gerenciamento. Vamos optar por projeto_tech. Agora, basta clicar no botão "Criar instância" no final da página.

Esse processo foi bem mais rápido e simplificado em comparação ao uso do EC2, como fizemos no curso anterior. Pode demorar um pouco para a instância ser lançada, mas depois de alguns momentos ela estará pronta para uso.

Usando instância do Lightsail

Agora que a instância já está em execução, podemos acessar suas configurações para verificar, por exemplo, as regras de entrada e saída que permitem o acesso das pessoas usuárias em nossa aplicação. Além disso, é essencial acessar o WordPress para popular essa página com as informações que desejamos compartilhar.

Na caixa que identifica a instância projeto_tech no Lightsail, temos dois ícones: um para acessar o terminal do Cloud Shell e outro com três pontinhos para acessar mais opções. Clicando sobre os três pontinhos, vamos escolher a opção "Gerenciar" para conferir todos os recursos de gerenciamento dessa instância.

Na aba de "Redes", encontramos o IP público dessa instância e as regras de entrada e saída. Atualmente, o tráfego HTTP e HTTPS está permitido, isto é, está pronta para receber nossas informações.

Na aba "Conectar-se", podemos obter as credenciais do WordPress no final da página. Assim, conseguiremos fazer o acesso do painel administrativo do WordPress, para criar e inserir conteúdo. Os dois itens que precisamos saber são: o nome de usuário padrão de acesso, que é user, e a senha padrão de acesso.

Para obter a senha padrão de acesso, é preciso fazer duas etapas. A primeira etapa é iniciar o Cloud Shell, clicando no botão de mesmo nome.

O Cloud Shell é um recurso que a AWS oferece para interagir e configurar as instâncias sem precisar configurar um cliente SSH no terminal do nosso computador. Assim, conseguimos fazer esse acesso ao terminal da instância diretamente via navegador.

Para obter a senha de acesso ao admin do WordPress, vamos ter que copiar o código da segunda etapa 2 e inseri-lo no Cloud Shell. Cada código é diferente, portanto, copie o seu. Após colar e executar o comando, será retornada a senha de acesso do admin do WordPress, que será um texto aleatório com números e letras.

Minimizando o Cloud Shelll, podemos fazer login na aplicação do WordPress por meio da opção que está logo abaixo da opção de obter a senha padrão. Para isso, basta clicar no botão "Acesse o WordPress Admin".

Em seguida, vamos clicar na opção com o endereço IP público que nos direciona para a página de login do WordPress. No campo "Username", vamos digitar o nome de usuário padrão e, no campo "Password", vamos colar a senha que obtivemos no Cloud Shell. Feito isso, apertamos o botão de "Login".

Agora já estamos dentro do painel administrativo do WordPress e a instância está pronta para receber todas as informações e conteúdos do nosso site.

Criando aplicações com Lightsail - Criando site e configurando URL

Criamos uma instância no Lightsail e, dentro dessa instância, especificamos um esquema. Esse esquema tinha um sistema operacional, que era um Linux, e uma aplicação padrão para nos ajudar a criar um website de forma mais rápida e simplificada, que, no nosso caso, selecionamos o WordPress.

Criando site

Para descobrir como é mais simples criar uma aplicação web usando o esquema do Lightsail, podemos criar um rascunho rápido de uma publicação no painel administrativo do WordPress.

Assim como também, se navegarmos pelo menu lateral, temos diferentes recursos, como a criação de posts e páginas. Desse modo, podemos compartilhar projetos e até incluir vídeos de outras plataformas, já que a nossa instância não tem uma grande quantidade de memória. Carregar vídeos diretamente na instância consumiria muita taxa de transferência, por isso, seria ideal usar plataformas externas.

Para criar uma nova página, vamos acessar o menu de "Páginas". Já existe uma página de amostra (sample page), que já vem publicada por padrão. Podemos clicar em "Editar" para acessá-la e editar as informações que ela contém.

Por exemplo, trocamos o título para "Mundo Tech", já que é um site para compartilhar assuntos de tecnologia. Já no campo do texto, podemos apagar os parágrafos de amostra e escrever apenas "Página para compartilhamento de conteúdos de tecnologia".

Observe que conseguimos inserir vários tipos de blocos, sem precisar escrever nenhum código em HTML. Assim, a criação da página acontece de uma forma muito mais simplificada.

Depois de fazer as modificações, vamos clicar no botão de "Atualizar" no canto superior direito da tela. Com isso, no canto inferior esquerdo da tela, já aparece um aviso de que a página foi atualizada e também uma opção de "Ver página" para conferir a pré-visualização da sample page.

Se navegamos pelo menu na parte superior dessa página, conseguimos editar o design do site, sem precisar configurar o CSS, para melhorar a experiência de navegação.

Configurando URL

Quando criamos um site ou aplicação web, como garantimos que as pessoas o encontrem e, mais importante, o acessem a partir de seus navegadores?

No momento, estamos usando o endereço IP público gerado pela instância quando ela foi criada. No entanto, na prática, usamos URLs para acessar plataformas, como alura.com.br ou youtube.com, em vez do endereço IP do servidor que hospeda esses sites.

Você sabia? A sigla URL significa Uniform Resource Locator ou Localizador Uniforme de Recursos.

Então, como podemos substituir o IP público por um domínio personalizado para nossa aplicação web?

Vamos voltar para a página de configuração de gerenciamento da instância projeto_tech no Lightsail. Nessa página de configuração, podemos conferir diversos recursos, como armazenamento, rede e também os domínios.

Ao acessar a aba de "Domínios", descobrimos que não temos um domínio disponível para usar nessa instância. Para o registro de um novo domínio, vamos usar outro serviço da AWS, que se chama Amazon Route 53.

Então, vamos clicar no botão para "Registrar um domínio". Observe que não precisamos acessar diretamente esse serviço. Vamos fazer um acesso indireto, dentro do próprio ambiente do Lightsail.

Nessa nova página, conseguimos especificar o nome de domínio que queremos. Iremos digitar mundotech.com e clicar no botão "Verificar disponibilidade" para conferir se alguém já está usando esse domínio. Esse domínio não está disponível, mas ele vai nos oferecer algumas sugestões de domínios, parecidas com a nossa proposta.

Por exemplo, mundotech.io está disponível e teria um custo anual de manutenção de 71 dólares. Já o domínio mundo-tek.com seria mais barato, custando apenas 14 dólares por ano.

Note que quando usamos algum tipo de domínio que dá mais credibilidade à nossa URL e dá mais confiabilidade para as pessoas que desejam acessar esse conteúdo, acabamos também pagando um pouco mais caro. É o caso de domínios que terminam com .com e .org.

Se selecionássemos a opção mundotech.io, poderíamos continuar com a configuração do domínio. A renovação automática do domínio está ativa. Dentro de um ano, o domínio registrado será renovado e teremos que desembolsar 71 dólares para usá-lo.

Também podemos preencher as informações de contato, inserindo os dados da pessoa que será responsável por esse domínio. Além disso, temos uma seção de proteção de privacidade, que está ativa.

E, por fim, podemos configurar as zonas DNS. Para acessar essas plataformas, digitamos uma URL no navegador que deve ser traduzida para um endereço IP público, para que consigamos, através da rede, acessar o(s) servidor(es) que armazenam e hospedam os conteúdos dessa plataforma que acessamos pelo navegador.

Quando usamos uma zona DNS global, isso significa que pessoas de diferentes partes do mundo vão conseguir acessar nossa aplicação, ou seja, esse mapeamento de domínio versus endereço IP da instância, estará disponível no DNS (domain name system ou sistema de nome de domínio) ao redor de todo o globo.

Por fim, a AWS dá um resumo do custo total do registro de domínio. Se clicássemos no botão de "Registrar domínio", já seríamos debitados diretamente da conta da AWS. Não vamos fazer isso, porque o objetivo é apenas aprender a utilizar esse recurso.

Inclusive, poderíamos acessar o console da AWS para conferir mais informações sobre o serviço do Route 53 da AWS. Desse modo, seria possível fazer configurações mais customizáveis, como de regiões e DNS. O processo que demonstramos é uma forma mais simples, já integrada com o Lightsail.

Próximos passos

Você pode estar se perguntando: é necessário adquirir todos os serviços da AWS, como hospedagem e registro de domínio? Não, podemos usar outras opções.

O diferencial da AWS é a confiabilidade e integração entre recursos. Ao utilizar tudo no mesmo ambiente, a integração se torna mais simples, assim como as configurações de privacidade e segurança.

Agora que já entendemos como utilizar o Lightsail para fazer a implantação de aplicações web de forma bem simplificada, é hora de explorar outros serviços com esse mesmo fim na AWS.

Sobre o curso Cloud: realize o deploy de aplicações na AWS

O curso Cloud: realize o deploy de aplicações na AWS possui 132 minutos de vídeos, em um total de 48 atividades. Gostou? Conheça nossos outros cursos de AWS em DevOps, ou leia nossos artigos de DevOps.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda AWS acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas