4. What do you get?
• Tomcat on EC2 instance ( up to date )
• Load balancer with DNS name ****.elasticbeanstalk.com
• Automatic scaling based on your criteria (CPU/Incoming
traffic/Disk IO)
• Management console + REST API + CLI
• Zero downtime deployment
• Log rotation to S3 (access_log, catalina.out)
• Basic monitoring by Load balancer (health check)
• Email notifications
• SSL Support
6. Elastic Beanstalk(EB) - Glossary
• Application
– Collection of all other components
• Version
– Deployable code / resource (WAR)
• Environment
– Version running on a bunch of resources
• Environment Configuration
– JVM args, DB connection string
– Instance size, # instances, auto-scaling…
7. Pros
• $$$
– Cheaper than Heroku, CloudBees, Jelastic….
– The EB is free - you pay only for the components
you use (EC2,S3,ELB, Network)
• Even cheaper if you buy “Reserved instance”
• Get’s the job done – pretty robust
• We use other AWS services –
– Email, Queues, CloudFront(CDN), Route
53(DNS)…
• REST clients and CLI for everything
8. Cons
• Logging
– Central, searchable, live log access
• Deployment - WAR files upload takes time
• No VCS integration
• SSH access to the servers is cumbersome
• No HTTP firewall (mod_security) style
• No simple way to blacklist IP
• Not really a PaaS
9. Misc
• Maven plugin (elastic-beanstalker)
• SSL support
• Custom AMIs
– OS / App monitoring agent
– Different Java / Tomcat version
– no automatic Tomcat/OS patches
• We use NewRelic for performance and
monitoring *
On the axis between IaaS and PaaS it’s closer to IaaS
No built it Database or other stuff included
Not comparing DB costs – cause you can use RDS for Heroku / Cloud bees
We use GrayLog2 for central loggingWe have build scripts to add versioning to the deployed WAR filesSSH – find ELB, goto EC2, find the ELB by name, look at the healthy instances, copy the name, goto EC2 instances and find it"configuration feature for IaaS, like InstallShield. It makes it easy to deploy and configure an application“You need to understand OPS to operate it If you want to have Ops people on staff or use your Dev resources to troubleshoot issues when your PaaS provider goes down, then AWS Elastic Beanstalk is an option