SCALING UP WITH AWSGROWING PAINS OF A STARTUP COMPANY
Galed FriedmannHead of Operations
COPYRIGHT © 2012 ONAVO LTD. PROPRIETARY AND CONFIDENTIAL.
ONAVO
COPYRIGHT © 2012 ONAVO LTD. PROPRIETARY AND CONFIDENTIAL.
ONAVO IS 100% CLOUD BASED
» Over 150 instances world wide› US East, EU West, South America,
Singapore
» Plenty of AWS services in use› EC2 S3 RDS IAM EMR› SES SNS SQS› CloudWatch Route53
CloudFront
COPYRIGHT © 2012 ONAVO LTD. PROPRIETARY AND CONFIDENTIAL.
BASIC ARCHITECTURE
COPYRIGHT © 2012 ONAVO LTD. PROPRIETARY AND CONFIDENTIAL.
THE GROWING PAINS
» Continuously growing› Adding more resources all the time
» Handling sudden increases› “We’re on TechCrunch, bring up more
servers!”
» Maintaining a 99.99% uptime
COPYRIGHT © 2012 ONAVO LTD. PROPRIETARY AND CONFIDENTIAL.
UTILIZING RESOURCES
COPYRIGHT © 2012 ONAVO LTD. PROPRIETARY AND CONFIDENTIAL.
AUTO SCALING
» Maintains the desired amount of instances› Replaces unhealthy instances
» Allows scaling up and down based on CloudWatch metrics
» Completely automated› Assumes your application is automated
COPYRIGHT © 2012 ONAVO LTD. PROPRIETARY AND CONFIDENTIAL.
BECOMING FULLY AUTOMATED
» Instance Store backed› Pre-bundled AMIs with everything
» Configuration» Sharing
› No persistent storage, but data needs to be shared
» Exporting› No persistent storage, but data needs to be
saved
COPYRIGHT © 2012 ONAVO LTD. PROPRIETARY AND CONFIDENTIAL.
AUTOMATING CONFIGURATION
» Puppet› Keeping
configuration up to date
› Share resources› Deploy changes
instantly
Configuration Sharing Exporting
COPYRIGHT © 2012 ONAVO LTD. PROPRIETARY AND CONFIDENTIAL.
LOAD BALANCER NEEDS TO KNOW
» Life is easy with Auto Scaling & ELB› We’re not using ELB
» Puppet keeps the LB up to date
Oct 18 00:34:58 puppet-agent[6841]: (/Stage[main]/Loadbalancer::Loadbalancer/Export::Expiringhost[proxy21]/Host[stable_host21]/ip) ip changed '0.0.0.1' to '10.207.110.184'Oct 18 00:34:58 puppet-agent[6841]: Finished catalog run in 2.87 seconds
Configuration Sharing Exporting
COPYRIGHT © 2012 ONAVO LTD. PROPRIETARY AND CONFIDENTIAL.
SHARED CONFIGURATION
» Basic information needs to be shared› Authentication details› Compression on/off› Desired compression level
» Are there any off the shelf solutions?
Configuration Sharing Exporting
COPYRIGHT © 2012 ONAVO LTD. PROPRIETARY AND CONFIDENTIAL.
REDIS TO THE RESCUE!
» Advanced key-value store» In memory data sets, atomic operations» Easy to implement master-slave replication
Configuration Sharing Exporting
COPYRIGHT © 2012 ONAVO LTD. PROPRIETARY AND CONFIDENTIAL.
LOG COLLECTION
» Logs need to be collected and processed in order to display users’ savings
» Flume – distributed, reliable and available service for moving large amounts of log data.
Configuration Sharing Exporting
COPYRIGHT © 2012 ONAVO LTD. PROPRIETARY AND CONFIDENTIAL.
DECIDING ON SCALING POLICIES
» Scale up quickly› You want to prepare for the worst
» Scale down slowly› Prevent fluctuations
» Get the most out of the resource› Maintain 80-90% utilization
COPYRIGHT © 2012 ONAVO LTD. PROPRIETARY AND CONFIDENTIAL.
PUTTING IT ALL TOGETHER
COPYRIGHT © 2012 ONAVO LTD. PROPRIETARY AND CONFIDENTIAL.
SUMMARY
» AWS have great building blocks» Auto Scaling
› Reduces operational costs› Assists in utilizing your resources effectively
» Prepare your automation and handle all use cases
» It’s worth it.
COPYRIGHT © 2012 ONAVO LTD. PROPRIETARY AND CONFIDENTIAL.
THANK YOU
» [email protected]» @galedfriedmann