não está mais em seus estágios primários. Agora está bem estabelecido eestá servindo como uma plataforma inovadora, permitindo que as empresas implementem aplicativos que seriam impossíveis de entregar na infraestrutura tradicional.Este sucesso foi acompanhado por um aumento exponencial em , PaaS sendo um deles. A Amazon lançou seu próprio serviço que segue o modelo PaaS, que é AWS Elastic Beanstalk!
Vamos dar uma olhada nos tópicos abordados neste artigo do AWS Beanstalk:
- O que é Amazon Elastic Beanstalk?
- Benefícios do AWS Elastic Beanstalk
- Componentes do AWS Elastic Beanstalk
- Arquitetura AWS Elastic Beanstalk
- Demo - implantar um aplicativo no Beanstalk
O que é Amazon Elastic Beanstalk?
A computação em nuvem está remodelando todo o processo de desenvolvimento de aplicativos. Uma série de fornecedores de nuvem, incluindoAmazon Web Services e Microsoft Azure oferecem ferramentas de desenvolvimento para ajudar a tornar o processo mais simples e seguro. AWS Elastic Beanstalk é uma ferramenta de desenvolvimento implementada com base no modelo PaaS.
AWS Elastic Beanstalk é um serviço fácil de usar para implantar e escalonar aplicativos e serviços da Web desenvolvidos com Java, .NET, PHP, Node.js, Python, Ruby, Go e Docker em servidores familiares como Apache, Nginx, Passenger e IIS.
Com o AWS Elastic Beanstalk, um desenvolvedor pode implantar um aplicativo sem provisionar a infraestrutura subjacente, mantendo a alta disponibilidade. Dê uma olhada no vídeo a seguir para saber mais sobre o Elastic Beanstalk.
tem um relacionamento em java
Tutorial do AWS Elastic Beanstalk | Edureka
Mas por que escolher o Elastic Beanstalk quando já temos muitas outras plataformas? Então, vamos discutir os benefícios do Elastic Beanstalk.
Benefícios do AWS Elastic Beanstalk
Abaixo estão alguns benefícios que o AWS Elastic Beanstalk oferece em relação a outros serviços PaaS
Oferece implantação mais rápida: Elastic Beanstalk oferece aos desenvolvedores a maneira mais rápida e simples de implementar seu aplicativo. Em minutos, o aplicativo estará pronto para uso sem que os usuários tenham que lidar com a infraestrutura subjacente ou configuração de recursos.
Suporta Multi-TenantArquitetura: O AWS Elastic Beanstalk possibilita que os usuários compartilhem seus aplicativos em diferentes dispositivos com alta escalabilidade e segurança. Ele fornece um relatório detalhado de uso do aplicativo e perfis de usuário.
Simplifica as operações: O Beanstalk provisiona e opera a infraestrutura e gerencia a pilha de aplicativos. Os desenvolvedores precisam apenas se concentrar no desenvolvimento de código para seus aplicativos, em vez de gastar tempo gerenciando e configurando servidores, bancos de dados, firewalls e redes.
Oferece controle de recursos completo: Beanstalk dá developersa liberdade de selecionar o AWS recursos, como Instância EC2 tipo, que são ideais para sua aplicação. Ele permite que os desenvolvedores mantenham controle total sobre os recursos da AWS e os acessem a qualquer momento.
Agora que temos motivos sólidos para acreditar por que o AWS Elastic Beanstalk é preferido pelos desenvolvedores, vamos dar uma olhada em seus conceitos fundamentais.
Quer ser um arquiteto certificado da AWS?Componentes do AWS Elastic Beanstalk
Existem certos conceitos-chave que você encontrará frequentemente ao implantar um aplicativo no Beanstalk. Vejamos esses conceitos:
Inscrição:
- Um aplicativo no Elastic Beanstalk é conceitualmente semelhante a uma pasta
- Um aplicativo é uma coleção de componentes, incluindo ambientes, versões e configuração do ambiente
Versão do aplicativo:
- Uma versão de aplicativo se refere a uma iteração rotulada específica de código implantável para um aplicativo da web
- Uma versão do aplicativo aponta para um objeto Amazon S3 que contém o código implantável, como um arquivo Java WAR
Meio Ambiente:
- Ambientes dentro do aplicativo Elastic Beanstalk é onde a versão atual do aplicativo estará ativa
- Cada ambiente executa apenas uma única versão do aplicativo por vez. Mas é possível executar versões iguais ou diferentes de um aplicativo em muitos ambientes ao mesmo tempo
Camada de ambiente:
Com base no requisito, beanstalk oferece duas camadas de ambiente diferentes: Servidor WebMeio Ambiente, Ambiente de trabalho
- Ambiente de Servidor Web: AlçasSolicitações HTTP de clientes
- TrabalhadorAmbiente: Processostarefas em segundo plano que consomem recursos e consomem muito tempo
Aqui está uma ilustração para mostrar comoAplicativo, versão do aplicativo e ambientesrelacionam-se uns com os outros:
E aqui está como o Beanstalk Environment usando o tipo de contêiner padrão se parece com:
Agora que você sabe sobre os diferentes conceitos-chave pertencentes ao Elastic Beanstalk, vamos entender a arquitetura do Elastic Beanstalk.
Arquitetura AWS Elastic Beanstalk
Antes de entrar na arquitetura do AWS Elastic Beanstalk, vamos responder às perguntas mais frequentes,
O que é um ambiente Elastic Beanstalk?
Ambiente refere-se à versão atual do aplicativo. Quando você inicia um ambiente para seu aplicativo, o Beanstalk pede que você escolha entre duas camadas de ambiente diferentes, ou seja, Web Servidor Meio Ambiente ou Ambiente de Trabalho . Vamos entendê-los um por um.
Ambiente de Servidor Web
A versão do aplicativo que é instalada no ambiente do servidor da Web lida com solicitações HTTP do cliente. O diagrama a seguir ilustra um exemplo de arquitetura do AWS Elastic Beanstalk para uma camada de ambiente de servidor da Web e mostra como os componentes nesse tipo de camada de ambiente funcionam juntos.
Ambiente Beanstalk - O Meio Ambiente é o coração do aplicativo. Quando você inicia um ambiente, o Beanstalk atribui vários recursos que são necessários para executar o aplicativo com sucesso.
Elastic Load Balancer - Quando o aplicativo recebe várias solicitações de um cliente, o Amazon Route53 encaminha essas solicitações para o Elastic Load Balancer. O balanceador de carga distribui as solicitações entre as instâncias EC2 do Grupo Auto Scaling.
Grupo de Auto Scaling - O grupo Auto Scaling inicia automaticamente instâncias adicionais do Amazon EC2 para acomodar o aumento da carga em seu aplicativo. Se a carga em seu aplicativo diminuir, o Amazon EC2 Auto Scaling interrompe as instâncias, mas sempre deixa pelo menos uma delas em execução.
Host Manager - É um componente de software que é executado em todas as instâncias EC2 atribuídas ao seu aplicativo. O gerente de host é responsável por várias coisas como
- Gerar e monitorar arquivos de log do aplicativo
- Gerando eventos de nível de instância
- Servidor de aplicativos de monitoramento
Grupos de Segurança - O grupo de segurança é como um firewall para sua instância. O Elastic Beanstalk tem um grupo de segurança padrão, que permite ao cliente acessar o aplicativo usando a porta HTTP 80. Ele também oferece uma opção onde você pode definir grupos de segurança para o servidor de banco de dados. A imagem abaixo resume o que aprendemos sobre o ambiente de servidor web.
Então, isso é tudo sobre o ambiente de servidor da Web. Mas e se a versão do aplicativo instalada no nível do servidor da web continuar negando várias solicitações porque encontrou tarefas que consomem muito tempo e recursos ao lidar com uma solicitação? Bem, é aqui que o nível de trabalhador entra em cena.
Quer levar seu conhecimento de 'nuvem' para o próximo nível?Ambiente de Trabalho
Um trabalhador é um processo em segundo plano separado que auxilia a camada do servidor da Web ao lidar com operações que consomem muitos recursos ou tempo. Além disso, ele também envia notificações por e-mail, gera relatórios e limpa bancos de dados. Isso permite que o aplicativo permaneça responsivo e lide com várias solicitações.
Isso é ótimo, mas como o Processo de trabalho sabe quais tarefas realizar e quando? Como essas duas camadas de ambiente se comunicam? Para isso, utilizamos um serviço de enfileiramento de mensagens da AWS chamado Amazon Simple Queue Service (SQS). A imagem abaixo dá uma ideia aproximada de como o processo de trabalho recebe e trata as tarefas em segundo plano.
O fluxo de trabalho do processo de trabalho é bastante simples. Quando você inicia uma camada do ambiente de trabalho, o Elastic Beanstalk instala um daemon em cada instância do EC2 no grupo Auto Scaling. O daemon puxa solicitações enviadas de uma fila Amazon SQS. Com base na prioridade da fila, o SQS enviará a mensagem por meio de umPOSTAR
solicitação para o caminho HTTP do ambiente de trabalho. O trabalhador ao receber omensagem executa as tarefas e envia uma resposta HTTP assim que a operação é concluída. O SQS ao receber a mensagem de resposta exclui a mensagem da fila. Se não conseguir receber uma resposta, ele tentará continuamente enviar as mensagens novamente.
usando a classe scanner em java
Agora que vimos o Elastic Beanstalk teoricamente, no restante deste blog veremos como implantar um aplicativo no Elastic Beanstalk.
Implantar um aplicativo no Elastic Beanstalk
A implantação de um aplicativo no Elastic Beanstalk é um processo bastante simples. Vamos ver como implantar um aplicativo passo a passo.
Passo 1: No console do Elastic Beanstalk, clique em Criar novo aplicativo opção. Uma caixa de diálogo aparece onde você pode dar um nome e uma descrição apropriada para seu aplicativo.
Passo 2: Agora que a pasta do aplicativo foi criada, você pode clicar no Aba Ações e selecione Criar ambiente opção. O Beanstalk fornece uma opção onde você pode criar vários ambientes para sua aplicação.
Etapa 3: Escolha entre duas opções de camada de ambiente diferentes. Escolha Web Server Environment se desejar que seu aplicativo trate de solicitações HTTP ou escolha Worker Environment para lidar com tarefas em segundo plano.
Passo 4: Outra caixa de diálogo é exibida, onde você precisa fornecer um nome de domínio e uma descrição para o seu aplicativo.
quando usar isso. em java
Etapa 5: Escolha uma plataforma de sua preferência para seu aplicativo. Elastic Beanstalk fornecerá várias opções. Você pode escolher um aplicativo de amostra fornecido pelo Beanstalk ou fazer o upload de um arquivo que contém o código do seu aplicativo.
Beanstalk levará alguns minutos para iniciar um ambiente. Depois que o Ambiente é iniciado, no painel de navegação você pode ver várias opções onde pode alterar a configuração de seu aplicativo, visualizar arquivos de log e eventos. Como você já está na página de ambiente, tente explorar os diferentes recursos que o Beanstalk oferece.
Etapa 6: No canto superior direito, você encontrará o URL da versão do seu aplicativo. Clique nesse URL. Você será levado a uma página que confirmará que iniciou com sucesso seu aplicativo no Elastic Beanstalk.
Parabéns! Você implantou com sucesso um aplicativo na plataforma Elastic Beanstalk.
Espero que agora você tenha uma imagem clara do Elastic Beanstalk e como você pode usar o Beanstalk para implantar seus aplicativos.
Então é isso! Espero que este blog tenha sido informativo e tenha agregado valor ao seu conhecimento. Se você estiver interessado em levar seu conhecimento da Amazon Web Services para o próximo nível, inscreva-se no curso de Edureka.
Tem alguma questão para nós? Mencione isso na seção de comentários do “AWS Elastic Beanstalk” e entraremos em contato com você o mais rápido possível.