considering the cloud? From IaaS to SaaS and Beyond - Find Your Path to the C...
Prince Building Tech Talk 12102012
1. Head in the Cloud
War Stories and Scaling Clouds
for Startups
Prince Building Tech Talks
Andy Parsons | @andyparsons | andyparsons@gmail.com
Thursday, December 13, 12 1
2. Who Am I?
CTO/Co-founder at Happify
Startup junkie / masochist
Deliver stuff that works in startup time
Veteran of the NYC startup scene
♥ luxury of choosing tools. And living with
them.
Thursday, December 13, 12 2
3. Who Aren’t I?
DBA
Heavy Sys Admin
Mongo, PostgreSQL, Redis, AWS Uber
Guru
Thursday, December 13, 12 3
4. I Will Cover
Some Experiences
Lessons Learned
How Well Does It Work?
Some Advice
How Much Does the Cloud Cost?
Which Provider To Use? *
Thursday, December 13, 12 4
6. “Cloud Computing is the delivery of
computing as a service rather than a
product, whereby shared resources,
software, and information are provided to
computers and other devices as a utility (like
the electricity grid) over a network.”
(http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf)
Thursday, December 13, 12 6
7. Impact to Startups
Changed Economics
Democratizes Entrepreneurship
Changed VC landscape:
Then: raise $$ to build something
Now: build something to raise $$
Thursday, December 13, 12 7
8. Essential Aspects and Some Jargon
Self Service On-Demand
Provisioning without humans
No ownership of servers
Pooled Resources
Multi-tenant
Location independence
Processing, Memory, Storage, Bandwidth, Services
Rapid Elasticity - provision and destroy
Measured & Metered Service
Usage transparency
Cost transparency * (kinda)
Thursday, December 13, 12 8
9. Service Models
SaaS = Software As A Service
this is Google Apps. Enough said.
PaaS = Platform As A Service
Drop code, watch magic
IaaS = Infrastructure As A Service
Building blocks only
Thursday, December 13, 12 9
10. Deployment Models
Private Cloud
Tenants are a single customer
Owned or rented
On premises or off
Public Cloud
Off premises
Available to anyone
Hybrid Cloud
2 or more cloud infrastructure providers bound together
OR, hybrid multi-tenant and dedicated resources
Thursday, December 13, 12 10
11. PaaS vs IaaS
IaaS PaaS
Application Code You You
Runtime Platform You Provided
Security You Provided
Databases You Provided
Servers Provided Provided
Virtualization Provided Provided
Hardware Provided Provided
Storage Provided Provided
Networking Provided Provided
Thursday, December 13, 12 11
12. Where is the Cloud Essential?
Some examples:
Web servers: scaling up and down to meet
demand
Offline data crunching
Recommendation engines
Social Graph applications
Giant search indexing
Thursday, December 13, 12 12
13. AWS Components
EC2 - computing
EBS - fast-ish “local” storage
S3 - storage capacity
ElastiCache
ELB - load balancing
CloudFront - Content Delivery Network on top of S3
Route53 - DNS
SNS - notification service
SES - email services
SQS - queueing
Elastic Beanstalk
Elastic MapReduce - Hadoop
Payments
Databases
Simple DB
RDS
DynamoDB
Thursday, December 13, 12 13
14. Cloud Timeline
FedRAMP,
First General US Gov
Hypervisor: use Cloud,
Google
Dot com Google
Runs on Internet docs and Multi-cloud,
bubble Microsoft
IBM 360 becomes EC2 Compute commoditization,
bursts Azure
common launch Engine market growth
1961 1965 1969 1990 1995 2000 2002 2006 2008 2009 2010 2012
John IBM and Oracle
Intel AZN AWS
McCarthy - Google and other
founded, founded launches
Cloud introduce clouds,
ARPANet
Computing their IaaS popularity
created
Concept of PaaS
Thursday, December 13, 12 14
16. Really Well! Until Things Break.
Failure of some kind is assured
Performance Drops
Instance Failures
Network Outages
EBS RAID bottlenecks
Thursday, December 13, 12 16
17. One day this email came in...
Hello,
One of your instances in the us-east-1 region is on hardware that requires network
related maintenance. Your other instances that are not listed here will not be affected.
i-3fcdb156
For the above instance, we recommend migrating to a replacement instance to avoid
any downtime. Your replacement instance would not be subject to this maintenance.
If you leave your instance running, you will lose network connectivity for up to two
hours. The maintenance will occur during a 12-hour window starting at 12:00am
PST on Monday, February 15, 2010. After the maintenance is complete, network
connectivity will be restored to your instance.
As always, we recommend keeping current backups of data stored on your instance.
Sincerely,
The Amazon EC2 Team
Thursday, December 13, 12 17
18. ~ April 21, 2011 ~
MASSIVE AWS Service outage
Some data loss (< 0.1%)
Revealed details about how EBS worked at
the time
Catastrophic for some
Triggered by a router upgrade!
Replication stampede
Thursday, December 13, 12 18
19. Disk I/O: The Thorn in Your Side
Unpredictable
No guarantees (unless you pay for iops)
Bane of databases
And disk-bound operations like app startup
Monitor closely
Build around this by carefully removing disk
pressure
Thursday, December 13, 12 19
21. How Will Things Improve?
Price drops, accelerated by Google
Compute Engine
SSD (already in AWS DynamoDB)
Improvements in virtualization
Ever more interesting PaaS offerings
Convergence of IaaS and PaaS
Thursday, December 13, 12 21
23. We Don’t Need a Sys Admin!
You probably do, actually. But not yet.
Ops -> DevOps -> NoOps
(Adrian Cockroft, NetFlix)
But your SA or DevOps can do more than
ever before.
David Fletcher http://cloudtweaks.com
Thursday, December 13, 12 23
24. Choice of Stack...
Will come back to haunt you!
$$ spent directly related to how resource
intensive your code is
Some you can solve (caching,
configuration, replication)
Some you can not solve (threading, Web
server model)
Thursday, December 13, 12 24
25. Architecting for the Cloud
Don’t count on SLA’s
Figure out how things will fail. Design for
failure.
No fire drills. Deal with Friday failures on
Monday.
Make provisioning new parts trivial
Failover
Thursday, December 13, 12 25
26. Architecting for the Cloud
Exact hardware location is often decided by
the provider
Design to Distribute
Stateless wherever possible
Loosely coupled, redundant systems
Redundant data storage
Understand Your Dependencies!
Thursday, December 13, 12 26
27. Automate Everything
Monitoring
Deployment and Rollback
Provisioning
Anything else that is a drag and ruining your
weekend
Thursday, December 13, 12 27
28. Basic Tools to Have in Place
Security
Security Groups
OpenVPN
Internal Monitoring
Cloudwatch
Nagios, many others
External Monitoring
Pingdom, Chartbeat, Gomez
Thursday, December 13, 12 28
29. Other Tools: Monitoring/Cost Management
Ylastic
RightScale
Cloudability
CloudVertical
SensibleCloud
Raveld
Cloud Cruiser
Thursday, December 13, 12 29
31. Wait a sec...
Cloud Hardware
100% Considers cost
of:
Utilization
✓Computing,
✓Storage,
80%
✓Bandwidth,
✓Staff
60%
$0K $150K $300K $450K $600K
Cumulative Cost Over 3 Years
(http://www.hightechinthehub.com/2011/09/dirty-little-secret-of-the-cloud/)
Thursday, December 13, 12 31
32. Wait a sec...
YEAR PHYSICAL CLOUD
1 $240,000 $196,000
2 $62,000 $196,000
3 $62,000 $196,000
TOTAL $364,000 $588,000
(http://www.hightechinthehub.com/2011/09/dirty-little-secret-of-the-cloud/)
Thursday, December 13, 12 32
33. Elasticity is the key
YEAR PHYSICAL CLOUD
1 $240,000 $80,000
2 $62,000 $100,000
3 $62,000 $120,000
TOTAL $364,000 $400,000
Now we are managing costs
Thursday, December 13, 12 33
34. Price Comparisons - Tricky
The Devil is in the Details
Billing is a Means of Differentiation
What are you paying for?
“Compute Units” + RAM + I/O
Bandwidth
Storage
Virtualization (efficient use of bare metal)
Thursday, December 13, 12 34
36. EC2 Reserved Pricing
3-Year Run Cost:
35 small, 10 large instances
Own Hardware On-Demand 1-Year Reserved 3-Year Reserved
Usage $157,680 $75,411 $48,123
Hardware $20,129
Network gear $4,026
Hardware Maint. $28,986
Datacenter Cost $131,382
Remote Hands $1,014
Data Transfer $10,071 $6138 $6138 $6138
TOTAL $195,608 $163,818 $81,550 $54,263
(http://mikekhristo.com/ec2-ondemand-vs-reserved-instance-savings-calculator/)
Thursday, December 13, 12 36
37. Reserved/On-Demand Costs
Reserved Standard
Monthly $$
Jan Feb March April May June July Aug Sept Oct Nov Dec
Thursday, December 13, 12 37
38. Keys to Controlling Costs
Correlate Cloud sizing with application needs
Keep things running at close to 100% utilization
Fact: for always-on infrastructure cloud is more
expensive than hardware
Good metrics to consider:
CCOGS Cloud cost of goods sold = Cloud Costs/
Revenue
% Utilization: Actual Utilization/Total Capacity
HOLY GRAIL: Cloud Costs/Active User
Thursday, December 13, 12 38
39. Which Provider to Use?
David Fletcher http://cloudtweaks.com
Thursday, December 13, 12 39
41. How Do Providers Distinguish Themselves?
Affinity for a language or stack
Pricing models
Performance
Add-on computing services (DNS, Load
Balancing ...)
Managed Services (backup, humans ...)
SLAs
Thursday, December 13, 12 41
42. Some Conclusions
Plan Ahead for Failure (obvious, and yet...)
Plan Ahead for Growth Economics
Automate Everything
Don’t Treat the Cloud Like Hardware - Optimize for
Utilization
Do Lots of Research. People like to blog/talk about
“Disaster Porn!”
Make Sure Dev Schedules Have Room for
Infrastructure Trial and Error
Thursday, December 13, 12 42
43. What Does the Future Hold
True Portability, Interoperability
SSD
Commoditized Pricing
Thursday, December 13, 12 43
44. Thanks!
Andy Parsons | @andyparsons | andyparsons@gmail.com
Thursday, December 13, 12 44