running on elastic beanstalk
TRANSCRIPT
Running on
AWS Elastic Beanstalk
Alex Verdyan
AWS Glossary
• EC2 – Elastic Compute Cloud = Cloud Servers (Instances)
• S3 - Simple Storage Service = Cloud Storage (REST API)
• ELB – Elastic Load Balancer = Load balancer
• AMI – Amazon Machine Image
• EBS – Elastic Block Store = Attachable network storage
• AZ – Availability Zone
• RDS – Relational DB Service = Cloud RDBMS
(MySQL,Oracle)
• SG – Security Group – Kind of Firewall
Elastic Beanstalk?
• AWS offering for Java PaaS
* Recently added support for .NET and PHP
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
Architecture
Versions
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…
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
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
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 *
DEMO
Thank you