O processo demorado de configurar os recursos necessários, um por um, não é mais necessário para implantar aplicativos e servidores da web.
Produtos de plataforma como serviço (PaaS), como AWS Elastic Beanstalk e Heroku, foram criados para permitir aplicativos sejam implantados e disponibilizados aos usuários com pouco ou nenhum código e alguns botões cliques.
Então, o que é o AWS Elastic Beanstalk e como você pode implantar seus aplicativos da web Go na nuvem com o Elastic Beanstalk?
O que é AWS Elastic Beanstalk?
O AWS Elastic Beanstalk (AWS EB) é um produto de plataforma como serviço oferecido pela Amazon Web Services que permite a implantação e gerenciamento rápido e fácil de aplicativos e recursos necessários.
Com o Elastic Beanstalk, é fácil implantar um aplicativo sem precisar configurar todos os recursos necessários, como um
servidor linux no EC2, ou um serviço de monitoramento em cloudwatch. O Elastic Beanstalk lida com todos os processos de configuração dos recursos e permite implantar vários tipos de aplicativos, incluindo Node.js, Golang, PHP, Docker e assim por diante.Criando um servidor da Web Golang simples
Para a finalidade deste tutorial, é necessário ter um aplicativo Golang funcional para implantar no AWS Elastic Beanstalk, portanto, nesta seção, um servidor da web Go simples é criado.
Você precisa de um ambiente de desenvolvimento Golang configurado em sua máquina para acompanhar esta seção.
O primeiro passo é inicializar um novo projeto Golang que pode ser feito a partir do terminal executando os seguintes comandos:
Uma vez feito isso, você pode abrir o diretório do projeto em seu IDE preferido. No diretório raiz do projeto, crie uma pasta chamada estático e crie um index.html arquivo nele. Copie e cole o seguinte código no arquivo HTML e salve-o.
html>
<htmlidioma="en">
<cabeça>
<metaconjunto de caracteres="UTF-8">
<título>Olá Mundo!título>
cabeça>
<corpo>
<h1>Hello World do Elastic Beanstalkh1>
corpo>
html>
Retorne ao diretório raiz do seu projeto e crie um application.go arquivo. Copie e cole o código abaixo em seu application.go arquivo e salve-o. Você deve nomear o arquivo principal application.go porque esse é o arquivo que o Elastic Beanstalk procurará para criar seu aplicativo durante o processo de implantação.
pacote principal
importar (
"registro"
"rede/http"
)funçãoprincipal() {
estático := http. Servidor de arquivos (http. Dir("./estático"))
http. Lidar("/", estático)
registro. fatal (http. OuvirEServir(":5000", nada))
}
Por padrão, o Elastic Beanstalk usa uma configuração NGINX que encaminha solicitações para seu aplicativo somente na porta 5000. Exceto que você substituirá as configurações NGINX padrão, seu aplicativo Golang deve sempre escutar na porta 5000 para solicitações.
Se você salvar o arquivo e executar o programa no terminal com ir executar application.go, você poderá visualizar a página da Web estática abrindo o endereço host local: 5000 no seu navegador.
Agora você tem seu aplicativo de amostra criado e pronto para implantação. Na próxima seção, você implantará o aplicativo no AWS Elastic Beanstalk.
Implantar um aplicativo Go no AWS Elastic Beanstalk
Para implantar um aplicativo em qualquer serviço da AWS, como o Elastic Beanstalk, você precisa de uma conta na nuvem da AWS. Se atualmente você não possui uma conta da AWS, acesse Página de inscrição da AWS para criar um novo gratuitamente.
Há várias maneiras de implantar aplicativos no Elastic Beanstalk, incluindo a AWS CLI, Elastic Beanstalk Command Line Interface (EB CLI) e do console da web, mas neste tutorial, você aprenderia como implantar no Elastic Beanstalk a partir do terminal usando o EB CLI ferramenta.
Você pode conferir o Guia de instalação da AWS EB CLI para obter um guia detalhado sobre como instalar e configurar o EB CLI para acompanhar nesta seção. Assim que terminar de instalar e configurar o EB CLI, você pode seguir em frente e seguir as etapas abaixo para implantar seu aplicativo Golang.
- Abra uma nova janela de terminal e navegue até a pasta do projeto do aplicativo Go a ser implantado usando o cd comando.
- Correr eb init para inicializar um novo repositório Elastic Beanstalk CLI. Sendo a primeira vez que executa este comando após a instalação, o EB CLI solicitará as opções de configuração inicial, conforme visto nas etapas a seguir.
- Depois de escolher uma região preferida, você deve configurar suas credenciais de identidade de segurança (ID da chave de acesso e chave secreta). Há um guia completo fornecido por AWS sobre como gerar as credenciais de segurança no console da AWS.
- Em seguida, você deve definir o nome do aplicativo que está implantando. Por padrão, isso usa o nome de sua pasta de projeto atual.
- O próximo passo é selecionar a plataforma da aplicação que você está prestes a implantar, neste caso, você deve selecionar a 4ª opção já que está implantando uma aplicação Golang.
- O próximo prompt pergunta se você gostaria de habilitar uma conexão SSH para seu aplicativo implementado. Isso é recomendado, pois permite fácil acesso remoto e depuração para seu aplicativo, mas neste tutorial, Não está selecionado, pois é apenas um aplicativo simples.
A linha que indica que o CodeCommit não pôde ser configurado não é nada para se preocupar, pois é devido ao fato de que o Git ou qualquer outro controle de origem não está sendo usado no projeto neste exemplo.
- Depois de concluir as etapas acima, um novo repositório Elastic Beanstalk CLI será criado e você poderá criar um ambiente Elastic Beanstalk para implantar seu aplicativo nas próximas etapas.
- Correr eb criar “nome do ambiente” para criar um novo ambiente chamado especificado nome do ambiente. O ambiente é criado com todos os recursos necessários, incluindo uma instância EC2, grupo de escalabilidade automática, balde S3, balanceador de carga, etc. Esse processo leva cerca de 5 a 10 minutos, dependendo da velocidade da rede.
Assim como quando você implantar um site estático na AWS, seu aplicativo EB também recebe um URL (marcado na caixa vermelha na captura de tela acima) que você pode usar para acessar seu aplicativo da web.
- Depois de concluído com sucesso, o aplicativo está pronto para ser visualizado e você pode executar eb aberto para abrir o aplicativo implantado em seu navegador. Agora você deve ver Olá Mundo exibido em seu navegador da web usando o URL atribuído a ele pelo Elastic Beanstalk.
Sempre que você fizer uma alteração em seu aplicativo, poderá executar eb implantar para enviar as atualizações mais recentes para o Elastic Beanstalk. E para encerrar seu aplicativo e todos os seus recursos, você pode executar eb terminar.
Agora você implantou com sucesso um aplicativo web Golang no AWS Elastic Beanstalk usando a ferramenta Elastic Beanstalk CLI. O processo é muito fácil e pode ser seguido para implantar qualquer forma de aplicativo da web Golang no Elastic Beanstalk.
Você pode verificar seu painel do Elastic Beanstalk no console AWS para visualizar o status ou qualquer outra informação sobre seu ambiente e aplicativo.
Implantação de aplicativos Web no Elastic Beanstalk
O Elastic Beanstalk é uma maneira confiável de transformar seus aplicativos locais em ativos em etapas muito fáceis. Você pode implantar e gerenciar facilmente seus aplicativos de pequena e grande escala usando qualquer um dos meios disponibilizados pela AWS, incluindo o console da web, AWS CLI, EB CLI, APIs da AWS ou AWS SDK.
Para praticar mais com o conhecimento obtido neste artigo, considere criar uma API CRUD com Go e implantá-la no Elastic Beanstalk.