Upload
dennis-stevenson
View
410
Download
4
Tags:
Embed Size (px)
Citation preview
Cloudy… with a chance of change
Dennis Stevenson
Photo Courtesy kevindooley http://www.flickr.com/photos/pagedooley/4340727578/
About Me
• Director of SaaS at MediServe– Medical Software Solutions – Chandler Arizona, USA– Agilis/FSoft client for 2 years– Implementing “Project Murdock” – a SaaS solution for the
US healthcare industry• Blogger
– http://it.toolbox.com/blogs/original-thinking– Search topics: SaaS and Cloud Computing
• Other– http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000006244
Photo courtesy of JillClardy http://www.flickr.com/photos/jillclardy/4408775913/
Discussion Topics
• What is Cloud Computing?
• How did we get to Cloud Computing?
• Why do people want Cloud Computing?
• What makes Cloud Computing work?
Photo courtesy of florin_mogos http://www.flickr.com/photos/florin_mogos/2523984446/
Cloud Computing Confusion
Cloud Computing is a
major tech buzz word today…
Photo courtesy of Dru! http://www.flickr.com/photos/druclimb/457930888/
but it lacks any standard definition whereby it can be measured or quantified
Cloud Computing Quotes
• Cloud computing is Internet-based computing (wikipedia: Cloud_Computing)
• Cloud computing is a type of computing that is comparable to grid computing (webopedia: Cloud Computing)
• Cloud computing—not to be confused with grid computing, utility computing, or autonomic computing—involves the interaction of several virtualized resources (Rackspace)
Photo courtesy of James Jordan http://www.flickr.com/photos/jamesjordan/2751393381/
A Brief History of Cloud ComputingMainframe Computing
Centralized infrastructure, Dumb terminals, High controlHigh Unit Cost of expansion
ClientServer
Distributed infrastructure, Distributed controlLowered Unit cost of expansion, flexibility
ApplicationServer Provider
Remote infrastructure, Managed OperationsSoftware runs on 2nd party infrastructurePurchase operational expertise
SaaS…PaaS…IaaS…
Remote infrastructure, Managed OperationsConsumer: Purchase solution not software/infrastructureDeveloper: Develop software to run on 3rd party infrastru.
CloudComputing
Public meme applied to matters of software which runs on 3rd party infrastructure, leveraging the internet. Ongoing discussion about Private Cloud vs. Public Cloud
High Complexity
Internet
Photo courtesy of Lisa Nolan http://www.flickr.com/photos/lisanolan/503198966/
Often Confused Terms
• SaaS – Software as a Service (Gmail, Salesforce.com)• PaaS – Platform as a Service (Force.com)• IaaS – Infrastructure as a Service (Amazon EC2, S3)
Photo courtesy of Chop1n http://www.flickr.com/photos/chop1n/372428498/
What’s Cloud Computing All About?
Purchase computing capacity at maximum price efficiency per
computing unit
Deploy computing at minimum levels to meet
application requirements “as
needed”
Scale up/down to meet actual demand
Cloud Providers Charge customers for actual
capacity used, not servers purchased or
managed
Photo courtesy of Chocoloategirl64 http://www.flickr.com/photos/chocolategirl64/887763318/
Cloud Computing Technology• Virtualization
– Divide up economically efficient servers to consumable VM images and deploy across one or many clients to optimally consume server capacity
– Enables horizontal scaling – adding capacity by adding more virtual machines• Self Service Tools
– Allow customers to see and manage their virtual machines and have control over how/when they are running and their status
– Allow customers to select a standard VM image or customize their own VM image to meet their requirements
• Billing Mechanism– Measure the number of units that a customer actually uses and submit an invoice
for the related price for that consumption• Dynamic Load Balancing
– Effectively manage infrastructure utilization across a varying number of machines to ensure traffic is evenly distributed
– Allow adding/removing VMs from the load balancer as demand dictates
Photo courtesy of MorBCN http://www.flickr.com/photos/bcnbits/2383740252/
Cloud Computing Example
• Application peaks at 3 CPU and 8 GB RAM(1 hour/day)
• Normally it runs at 2 CPU and 4 GB RAM (11 hours/day)
• Overnight it runs at 1 CPU and 2 GB ram (12 hours/day)
• How do I provision hardware for this application?
Photo courtesy of Reini68 http://www.flickr.com/photos/stansich/433484931/
Simple Cloud Computing Math
Traditional (On Premise)• Purchase 4 CPU server with
10 GB RAM for $9,000• Spend $10,000 per year in
salary cost supporting the server.
• 3 year cost = $39,000 (702,000,000 VND)
• $0.37 per available CPU Hour (105,120 CPU Hours)
Cloud Computing• Purchase 40,515 CPU Hours
at $0.27 per hour• Total Cost = $11,081
(199,453,125 VND)• 28.4% of On Premise
Cloud Provider • Pays $46,000 for 8CPU/12 GB
RAM machine = 210,240 CPU Hours
• Charges 25% premium/margin• Sells remaining CPU Hours to
other clients
Photo courtesy of Paraflyer http://www.flickr.com/photos/paraflyer/452122094/
More Cost Details
Photo courtesy of Whirling Phoenix http://www.flickr.com/photos/kelloggphotography/3941066064/
Further Questions to Ask
• After 1 year the application peaks at 5 CPUs and 18 GB RAM. How do I scale?
• I launch a second product which requires a constant 2 CPUs and 4 GB RAM. How do I provision it?
• I don’t want a hardware failure to bring down my application. How do I plan for High Availability?
Photo courtesy of Alles_schlumph http://www.flickr.com/photos/29487767@N02/3592571491/
Application Considerations
• Stateless applications
• Services Orientation
• Strong decoupling of application layers
• OS Agnostic – Use Cloud APIs (abstraction)
• Standardization over customization
Photo courtesy of Kables http://www.flickr.com/photos/kables/6324973/
Questions & Answers
Photo courtesy of *sapiel http://www.flickr.com/photos/saipal/199661563/