O AWS Elastic Beanstalk é uma maneira mais fácil ainda de começar a implantar e gerenciar aplicativos na nuvem da AWS. Basta fazer o upload de seu aplicativo e o Elastic Beanstalk automaticamente gerencia os detalhes de implantação do fornecimento de capacidade, balanceamento de carga, escalonamento automático e monitoramento do status do aplicativo. Ao mesmo tempo, com o Elastic Beanstalk é possível ter o controle completo de todos os recursos da AWS que alimentam seu aplicativo e acessar os recursos secundários a qualquer momento. O Elastic Beanstalk potencializa serviços da AWS como o Amazon Elastic Cloud Compute (Amazon EC2), o Amazon Simple Storage Service (Amazon S3), o Amazon Simple Notification Service (Amazon SNS), o Elastic Load Balancing e o Auto Scaling para oferecer a mesma infraestrutura altamente confiável, escalável e de bom custo-benefício da qual centenas de milhares de negócios dependem atualmente. AWS Elastic Beanstalk é fácil de começar a usar e impossível de superar.
A maioria dos contêineres de aplicativos ou plataformas de desenvolvimento (PaaS) de aplicativos existentes diminuem a quantidade de programação exigida, mas limitam consideravelmente a flexibilidade e o controle do desenvolvedor. Os desenvolvedores são forçados a conviver com as decisões pré-determinadas pelo vendedor – com pouca ou nenhuma oportunidade de retomar o controle sobre várias partes da infraestrutura de seus aplicativos. Contudo, com o Elastic Beanstalk, você pode ter o controle completo dos recursos da AWS que alimentam seu aplicativo. Se você quiser controlar alguns (ou todos) os elementos de sua infraestrutura, isso é possível de forma fácil utilizando as capacidades de gerenciamento do Elastic BeanStalk.
Para garantir uma fácil portabilidade para seu aplicativo, o Elastic Beanstalk foi construído usando pilhas de softwares conhecidas, como o Apache HTTP Server para PHP e Python, o Passenger para Ruby, o IIIS 7.5 para .NET e o Apache Tomcat para Java. Não há custos adicionais pelo Elastic Beanstalk – você só paga pelos recursos da AWS necessários para executar e armazenar seus aplicativos.
Para implementar aplicativos .NET usando o AWS Elastic Beanstalk, basta:
Para implementar aplicativos PHP usando o Elastic Beanstalk, basta:
http://myapp.elasticbeanstalk.com/). Para implementar aplicativos Java usando o Elastic Beanstalk, basta:
http://myapp.elasticbeanstalk.com/).
Assim que um aplicativo estiver sendo executado, o Elastic Beanstalk fornecerá vários recursos de gestão, como:
Com o Elastic Beanstalk, os desenvolvedores retêm o controle total sobre os recursos da AWS capacitando seu aplicativo e podem desempenhar uma série de funções simplesmente ao ajustar definições de configuração padrão do console de gestão do Elastic Beanstalk, incluindo:
Fácil de começar – O Elastic Beanstalk é uma forma rápida e simples de implementar seu aplicativo na AWS. Basta usar o AWS Management Console, implementação do Git ou um ambiente de desenvolvimento integrado (IDE), como o Eclipse ou Visual Studio, para carregar seu aplicativo e o Elastic Beanstalk gerenciará automaticamente os detalhes de implementação do provisionamento da capacidade, balanceamento de carga, Auto Scaling e monitoramento da saúde do aplicativo. Em instantes, seu aplicativo estará pronto para uso sem que você desempenhe qualquer ação de configuração da infraestrutura ou dos recursos.
Impossível de superar – O Elastic Beanstalk aumenta ou diminui automaticamente seu aplicativo com base nas definições padrão de Auto Scaling. É possível ajustar facilmente as definições de Auto Scaling com base nas necessidades do seu aplicativo específico. Por exemplo, você pode usar a utilização da CPU para acionar ações de Auto Scaling. Com o Elastic Beanstalk, seu aplicativo pode lidar com picos de carga de trabalho ou tráfego ao minimizar os custos.
Controle total – O Elastic Beanstalk permite que você "obtenha acesso" e mantenha o controle total com relação aos recursos do AWS que capacitam o aplicativo. Se você optar por assumir o controle de alguns (ou todos) os elementos da sua infraestrutura, poderá fazê-lo com perfeição ao usar as capacidades de gestão do Elastic Beanstalk. Por exemplo, você pode pesquisar arquivos de log, monitorar o status do aplicativo, ajustar regras de Auto Scaling, configurar notificações de e-mail e até transferir variáveis do ambiente por meio do console do Elastic Beanstalk.
Flexível – Você tem a liberdade de selecionar o tipo de instância do Amazon EC2 que é ideal para seu aplicativo com base nos requisitos de CPU e de memória, e pode selecionar entre várias opções de banco de dados disponíveis. Por exemplo, você pode especificar uma implementação formada por instâncias com mais memória elevada se o aplicativo da Web tiver uma presença de memória grande.
Confiável – O Elastic Beanstalk é executado dentro da infraestrutura de rede comprovada e dos Datacenters da Amazon, e fornece um ambiente onde os desenvolvedores podem executar aplicativos que exigem alta durabilidade e disponibilidade.
Não há cobrança adicional pelo Elastic Beanstalk – você só paga pelos recursos AWS subjacentes (Amazon EC2, Amazon S3) que seu aplicativo utilizar.
Clientes novos da AWS que tem direito a usufruir do nível de uso gratuito da AWS podem executar um aplicativo no Elastic Beanstalk gratuitamente, pois as configurações iniciais do Elastic Beanstalk permitem a execução de um aplicativo de baixo tráfego dentro do nível gratuito, sem incorrer em cobranças. Se esses aplicativos exigirem mais recursos do que o ambiente inicial oferece, os clientes serão cobrados pelas taxas padrão da AWS por recursos adicionais utilizados pelo aplicativo.
Os custos de manter um website utilizando o Elastic Beanstalk podem variar de acordo com diversos fatores, tais como o número de instâncias do Amazon EC2 necessárias para controlar o tráfego de seu website, a largura de banda utilizada por seu aplicativo e qual banco de dados ou opções de armazenamento seu aplicativo utiliza. Os principais custos de um aplicativo da web geralmente são: a(s) instância(s) do Amazon EC2 e o Elastic Load Balancing que controla o tráfego entre as instâncias que executam seu aplicativo.
A tabela abaixo traz exemplos que mostram os custos mensais de manutenção de um website de baixo tráfego utilizando as configurações padrão do Elastic Beanstalk, com e sem nível gratuito da AWS:
| Serviços e recursos | Unidade | Redução de custos | Custos |
|---|---|---|---|
| Instância t1.micro de Linux no Amazon EC2 | 1 | US$ 0,02/h * 24 horas * 30 dias | US$ 14,40 |
| Elastic Load Balancer | 1 | 0,025 USD/h * 24 horas * 30 dias | US$ 18,00 |
| Processamento de dados Elastic Load Balancer | 15 GB | US$ 0,008/GB * 15 GB | US$ 0,12 |
| Volume Elastic Block Store | 8 GB | US$ 0,10/GB * 8 GB | US$ 0,80 |
| Armazenamento S3 para arquivo e acesso WAR | 1 GB | 0,125 USD/1 GB + 0,01 USD por<1k PUTs + 0,01 USD por <10 k GETs | US$ 0,15 |
| Entrada e saída de banda larga | 15 GB | A entrada é gratuita; 15 GB para saída * US$ 0,12 | US$ 1,80 |
| Custo total mensal sem Nível Gratuito | US$ 35,27 | ||
| Custo total mensal com o nível gratuito | US$ 0 |
| Serviços e recursos | Unidade | Redução de custos | Custos |
|---|---|---|---|
| Instância t1.micro de Windows no Amazon EC2 | 1 | 0,03 USD/h * 24 horas * 30 dias | 21,60 USD |
| Elastic Load Balancer | 1 | 0,025 USD/h * 24 horas * 30 dias | US$ 18,00 |
| Processamento de dados Elastic Load Balancer | 15 GB | US$ 0,008/GB * 15 GB | US$ 0,12 |
| Volume Elastic Block Store | 8 GB | US$ 0,10/GB * 8 GB | US$ 0,80 |
| Armazenamento S3 para arquivo e acesso WAR | 1 GB | 0,125 USD/1 GB + 0,01 USD por<1k PUTs + 0,01 USD por <10 k GETs | US$ 0,15 |
| Entrada e saída de banda larga | 15 GB | A entrada é gratuita; 15 GB para saída * US$ 0,12 | US$ 1,80 |
| Custo total mensal sem Nível Gratuito | 42,47 USD | ||
| Custo total mensal com o nível gratuito | US$ 0 |
Para obter mais detalhes sobre o preço de serviços da AWS, consulte a seção de preços das relevantes páginas de detalhes dos serviço da AWS:
Preço Amazon EC2 (inclui preço de instâncias, balanceamento de carga, armazenamento elástico de bloco e transferência de dados)
Preço Amazon S3 (inclui preço de armazenamento e transferência de dados)
Se você deseja utilizar um serviço de banco de dados da AWS, consulte os links abaixo para verificar preços:
Preço do Amazon RDS (inclui preço para instâncias de banco de dados, armazenamento de backup e transferências de dados)
O Amazon DynamoDB (incluindo o preço para armazenamento de dados, capacidade de taxa de transferência e transferência de dados)
Preço do Amazon SimpleDB (inclui preço de armazenamento e processamento e transferência de dados)
Ao se registrar para o Elastic Beanstalk, a fim de evitar a necessidade de se registrar separadamente para todos os serviços da AWS que o Beanstalk pode incluir, automaticamente registramos você para estes serviços. Para todos os serviços da AWS, você paga somente pelo que utilizar, sem taxas mínimas e sem nenhum gasto inicial.
O Elastic Beanstalk permite que você implante um aplicativo rapidamente, mantendo tanto controle quanto você desejar ter sobre a infraestrutura subjacente. Comece criando uma versão do aplicativo, que é simplesmente uma iteração rotulada (por exemplo, "versão 1.5") do código implantável do seu aplicativo, que você armazena no Amazon S3. Por exemplo, uma versão do aplicativo se refere a uma implementação específica do Git de um aplicativo em PHP. O Elastic Beanstalk fornece uma variedade de ferramentas que facilitam a criação de versões de aplicativos incluindo o AWS Management Console, a implementação do Git e a interface da linha de comando, o AWS Toolkit for Visual Studio e o AWS Toolkit for Eclipse. Em seguida, você especifica qual versão do aplicativo você deseja implementar e o inicia em um ambiente. Um ambiente representa os recursos da AWS (por ex., load balancer, grupo Auto Scaling e instâncias EC2) criados especificamente para executar o aplicativo. Quando você inicia um ambiente, o Elastic Beanstalk automaticamente gerencia os detalhes de implementação da capacidade de provisionamento, balanceamento de carga, auto scaling e monitoramento de integridade de aplicativo sem que você necessite especificar qualquer coisa sobre o tamanho e o tipo desses recursos e o notifica quando o ambiente for iniciado. Você também pode implantar uma versão de aplicativo diferente para um ambiente em execução, se, por exemplo, você tiver uma versão mais recente do seu código que você deseja implantar, ou se você quiser retornar para uma versão anterior.
Um ambiente usando as configurações padrão executará uma única micro instância do Amazon EC2 (servidor de aplicativo) e um Elastic Load Balancer. A instância EC2 é configurada para Auto Scaling, o que significa que instâncias adicionais serão adicionadas automaticamente para gerenciar quaisquer picos na carga de trabalho ou tráfego (e instâncias incrementais serão descartadas se o tráfego diminuir). O Elastic Beanstalk fornece uma URL ao seu aplicativo (por exemplo, http://myapp.elasticbeanstalk.com/), que pode ser digitada em um navegador da web para exibir seu aplicativo em execução. O load balancer também distribui o tráfego de entrada entre várias instâncias do Amazon EC2 enquanto seu aplicativo se expande ou se retrai e encaminha automaticamente o tráfego de entrada somente para instâncias íntegras para fornecer um ambiente confiável para seu aplicativo. Cada instância do Amazon EC2 é construída a partir de uma Amazon Machine Image (AMI), que contém todas as informações necessárias para criar uma nova instância de um servidor. O Elastic Beanstalk utiliza o Amazon Linux AMI ou o Windows Server 2008 R2 AMI como padrão. Esses AMIs contêm todos os softwares para atuarem tanto como um servidor da web quanto como um servidor de aplicativos (por exemplo, Linux, Apache e PHP). Se você deseja executar mais de 10 ambientes, carregar mais de 500 versões de aplicativos ou iniciar mais de 20 instâncias do Amazon EC2, preencha o formulário de solicitação de limite do AWS Elastic Beanstalk e avaliaremos sua solicitação imediatamente.
A melhor forma de começar a usar o AWS Elastic Beanstalk é trabalhar por meio do Getting Started Guide, que faz parte da nossa documentação técnica. Em alguns minutos, você poderá implementar e usar um mesmo aplicativo ou carregar seu próprio aplicativo.
O uso deste serviço está sujeito ao Acordo do Cliente da Amazon Web Services.