Elastic Beanstalk

Overview

  • Elastic Beanstalk is a developer-centric view of deploying an application on AWS

  • It uses all the components we’ve seen before: EC2, ASG, ELB, RDS, etc...

  • But it’s all in one view that’s easy to understand!

  • We still have full control over the configuration

  • Beanstalk = Platform as a Service (PaaS)

  • Beanstalk is free but you pay for the underlying instances

  • Managed service

    • Beanstalk handles instance configuration / OS

    • Deployment strategy is configurable but performed by Elastic Beanstalk

    • Capacity provisioning

    • Load balancing & auto-scaling

    • Application health-monitoring & responsiveness

  • Just the application code is the responsibility of the developer

  • Three architecture models:

    • Single Instance deployment: good for dev

    • LB + ASG: great for production or pre-production web applications

    • ASG only: great for non-web apps in production (workers, etc..)

• Support for many platforms:

  • Go

  • Java SE

  • Java with Tomcat

  • .NET on Windows Server with IIS

  • Node.js

  • PHP

  • Python

  • Ruby

  • Packer Builder

  • Single Container Docker

  • Multi-Container Docker

  • Preconfigured Docker

  • If not supported, you can write your custom platform

Health Monitoring

• Health agent pushes metrics to CloudWatch

• Checks for app health, publishes health events

Last updated