virtualization and cloud - a "pro" infrastructure for everyone
DESCRIPTION
A talk about Cloud Computing, to understand what is Cloud Computing and what are the benefits of building applications on top of Amazon AWS.TRANSCRIPT
Virtualization and Cloud: a “PRO”
infrastructure for everyone.
Luca Bonmassar, BetterSoftware 2011
Monday, 27 June 2011
BetterSoftware ‘11
Luca Bonmassar
Passionate about Tech
Favorite topics: Cloud, Virtualization, NoSQL
Enterprise / startup experience
Monday, 27 June 2011
BetterSoftware ‘11
Cloud - Agenda
Avoiding “the fog”
Cloud what?
Cloud why?
Cloud when?
Building on AWS Cloud
Monday, 27 June 2011
BetterSoftware ‘11
1. Cloud what?
Monday, 27 June 2011
BetterSoftware ‘11
It’s not about the product
You have the biggest idea ever: a brand new pizza type!
You have spent time designing, implementing and testing your new pizza™
But now you need a place to sell it
Monday, 27 June 2011
BetterSoftware ‘11
Build your own pizza place!
Monday, 27 June 2011
BetterSoftware ‘11
Build your own pizza place
Upfront decisions:
How big?
How many tables?
Where?
Time and money if you change your mind
Monday, 27 June 2011
BetterSoftware ‘11
What about renting?
Monday, 27 June 2011
BetterSoftware ‘11
Renting in Cloud mall
In the Cloud mall you can rent by square meters
If:
you need more, you get more
you need less, you give it back
Monday, 27 June 2011
BetterSoftware ‘11
2. Cloud why?
Monday, 27 June 2011
BetterSoftware ‘11
Move from Capex to Opex
Monday, 27 June 2011
BetterSoftware ‘11
eCommerce Website
0
400000
800000
1200000
1600000
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
Traffic
Monday, 27 June 2011
BetterSoftware ‘11
Over provisioning
0
400000
800000
1200000
1600000
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
Traffic Provisioning
Monday, 27 June 2011
BetterSoftware ‘11
Under provisioning
0
400000
800000
1200000
1600000
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
Traffic Provisioning
Monday, 27 June 2011
BetterSoftware ‘11
AutoScale(TM)
0
400000
800000
1200000
1600000
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
Traffic Provisioning
Monday, 27 June 2011
BetterSoftware ‘11
From Capex to Opex
No need for approval to buy any new computational resources
“Pay as you go” model
Monday, 27 June 2011
BetterSoftware ‘11
Ready to succeed?
Monday, 27 June 2011
BetterSoftware ‘11
“Breakup notifier” - launch
0
50
100
150
200
Sat Sun Mon Tue Wed Thu Fri Sat Sun
Traffic
Monday, 27 June 2011
BetterSoftware ‘11
The TechCrunch effect
0
75000
150000
225000
300000
Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu
Traffic
Monday, 27 June 2011
BetterSoftware ‘11
3. Cloud when?
Monday, 27 June 2011
BetterSoftware ‘11
Enterprise
Circumvent IT department
Pay as you go - no budget approval
No provisioning
Cons: sensitive data?
Monday, 27 June 2011
BetterSoftware ‘11
Startup / Pet project
Defeat TechCrunch effect
No money (but glory)
No operations team
Monday, 27 June 2011
BetterSoftware ‘11
Building on AWS
Monday, 27 June 2011
BetterSoftware ‘11
Amazon Web Services
“The most mature, flexible and complete infrastructure platform” -- Jeff Bezos (CEO, Amazon.com)
Monday, 27 June 2011
BetterSoftware ‘11Storage
Frontend
Messaging
Backend BackendAutoScale
Monitoring
AWS WebApp Architecture
Monday, 27 June 2011
BetterSoftware ‘11
Network Components
Load Balancers
Firewalls
Elastic IPs
Route 53
Virtual Private Cloud
Monday, 27 June 2011
BetterSoftware ‘11
Computing: EC2
Virtual Machines
Different memory/cpu resources
Run public or custom OS images
When turned off, changes are lost (volatile)
Pay what you use (time and bandwidth)
Monday, 27 June 2011
BetterSoftware ‘11
Bonus Track: EC2 + LXC
Run Virtual Machines into Virtual Machines
LXC (Linux Containers)
UML (UserMode Linux)
FreeBSD jails
Monday, 27 June 2011
BetterSoftware ‘11
Storage: EBS
Network storage volumes
Customizable size
Data stored in snapshots
Data is automatically replicated
Pay per allocated GB
Monday, 27 June 2011
BetterSoftware ‘11
Storage: S3
Key/value object storage
Rest API to manipulate the repository (web access to objects)
S3FS
Slower, more reliable
Pay per allocated GB and usage (data transfer)
Monday, 27 June 2011
BetterSoftware ‘11
Storage: RDS
Relational Database Service
A managed MySQL/Oracle instance in the Cloud
Different cpu/mem resources
Pay what you use (bandwidth and time)
Monday, 27 June 2011
BetterSoftware ‘11
Storage: SimpleDB
The NoSQL alternative
A managed NoSQL instance in the Cloud
Custom API to manipulate the data set
Pay what you use (bandwidth and time)
Monday, 27 June 2011
BetterSoftware ‘11
Messaging: SNS
Simple Notification Service
A notification infrastructure in the Cloud
Publish/Subscribe protocol
Http/Mail/SQS notifications
Pay what you use (requests, notification and bandwidth)
Monday, 27 June 2011
BetterSoftware ‘11
Messaging: SQS
Simple Queue Service
A message queue infrastructure in the Cloud
Communications between EC2 instances
Enable the “worker queue” paradigm
Pay what you use (bandwidth and API requests)
Monday, 27 June 2011
BetterSoftware ‘11
Monitoring: CloudWatchMonitor AWS resources
EC2 instances
EBS volumes
RDS databases
Load Balancers
...
Set alarms
View graphs and statistics
Pay per number of alarms and metrics monitored
Monday, 27 June 2011
BetterSoftware ‘11
Monitoring: AutoScale
Monitor instances and take scalability decisions
Scale out EC2 instances when demand increases
Shed unneeded EC2 instances when demand subsides (save $$$)
Enable “elasticity”
Free of charge
Monday, 27 June 2011
BetterSoftware ‘11Storage
Frontend
Messaging
Backend BackendAutoScale
Monitoring
Putting it all together
Monday, 27 June 2011
BetterSoftware ‘11
Failures
Cloud is not immune to failures
Cloud Apps should be designed with failure in mind (distributed components app)
Take advantages of:
Availability Zones
Multiple Regions
Monday, 27 June 2011
BetterSoftware ‘11
One more thing: API!All services are manageable through a Web Console
But all AWS services have exposed APIs
You can (for example):
Allocate, start, control, terminate EC2 instances
Allocate/attach/deallocate EBS partitions
Allocate/start/stop databases
Create/Read/Update/Destroy S3 objects
Change IPs
Monitor components
...
Monday, 27 June 2011
BetterSoftware ‘11
Predicting costs
Amazon Simple Monthly Calculator (google it!)
Given some assumptions, how much will I pay?
Monday, 27 June 2011
BetterSoftware ‘11
Keep costs low
Use a mix of reserved instances vs. On-Demand instances
Undersize your storage and processing power
Monitor process activities (e.g. you pay for the bandwidth)
Use AutoScale
Monday, 27 June 2011
BetterSoftware ‘11
Conclusions
Cloud is a very good place to host your application and data
Very flexible, leaves to others the pain of operations
Easy to migrate to Cloud in steps (subscribing one service at a time)
Your application is ready to scale with your business
Monday, 27 June 2011
BetterSoftware ‘11
Thanks! Questions?
linkedin.com/in/lucabonmassar
twitter.com/lucabonmassar
Monday, 27 June 2011