4. Where it makes sense
• Need to get started and test out business concepts
– No Capital Expenditures
– Elasticity – buy for average use, not for peak
– Outsource server administration
• Open Source Software
– Free Open Source Software licenses restrict resale
• FOSS licenses do not restrict service
• The economics make it possible to start LILO companies
– A little in, a lot out
4
4
5. Players in the MarketPlace
• Some established players • Some new players
– Amazon – Cloud Administration Services
• Simple Storage Service, Elastic • Rightscale
Compute Cloud, SimpleDB, • Scalr
Simple Queuing Service
– Virtualized Data Centers
• FPS, FWS, MTurk
• Rackspace
– Google • Mosso
• Google App Engine
– Private Clouds
• Google Apps
• Eucalyptus
– Microsoft
– Transition Products
• Azure
• TwinStrata
– EMC • CloudSwitch
• Atmos
– IBM
• Collaboration w/ AMZN, GOOG • Confession:
– Salesforce.com – I don’t follow the
Entrepreneurial Landscape
– Facebook.com
closely
5
5
6. Cloud Computing Nuts and Bolts
• Amazon / Google Clouds
• S3 Programming
• Introduction to EC2
• Google App Engine Virtual OS
• Woven Clouds
6
6
7. Amazon / Google Clouds
• Amazon EC2
– Flexible and configurable
– Interact with the machine at the
OS level
– Good for hosting existing
programs in the cloud
• Google App Engine
– Interact with the machine at the
‘virtual OS’ level
– Tightly controlled, not possible
to break out of the virtual OS
– Good for new development
Source: Dion Hinchcliff, ZDNet, April 2008
7
7
8. Using S3
• Just two concepts
– Bucket
• Max 100 per account
• Unique name system wide
– Object
• If public, addressable as
http://s3.amazonaws.com/bucket-name/object-name
• Access controlled by ACL
• Atomic access. Read, write but no update, no rename
• Replicated storage but with latency
• Access methods
– APIs: SOAP and REST (preferred)
– Every request must be signed with ID and Secret Key
• Applications available
– Explorers, e.g., S3Fox, JungleDisk
– Backup solutions
– Used by storage-based businesses, e.g., SmugMug, Pixily, SlideShare
8
8
9. Using EC2 (pg 1)
• Concepts
– EC2 Instance: a machine running in Amazon’s cloud
• Regions: 3 locations in the US, 2 in Europe
• Make an API call to get one, another API call to return it
• Need an AMI (Amazon Machine Image) when requesting an Instance
– Provided by many vendors, some free, others for a price
» MSFT, ORCL, SUNW, IBM, RHT, Rightscale, Scalr, Cloud in Code
– You can make your own private AMI
– You can offer your own special AMI for sale to others
– Elastic Block Storage (EBS)
• Storage block, attached using mnt
• Can be backed up to S3
– Static IP address
• Reachable from the domain registrar
9
9
10. Using EC2 (pg 2)
– Access Methods
• APIs: SOAP and REST
• Every request must be signed with ID and Secret Key
• Once you have an instance, you can open a ssh window.
– Applications available
• ElasticFox, Amazon EC2 Console, Eclipse plugin
– Other facilities
• Load balancing
• Auto-scaling
10
10
11. Google App Engine (pg 1)
• Programming Languages • SSL constraint
– Python, Django-like Web – Supported:
Application Framework • http://abc.appspot.com
• Templates, CSS, HTML • https://abc.appspot.com
– Java • http://www.abc.com
• I’m not up to speed on this, but – Not supported
it uses the same virtual OS • https://www.abc.com
• Client-side facilities
– Javascript, AJAX, YUI, GWT,
jQuery, Flash
• Development Environment
– Can be any, I like Eclipse
– Local Sandbox
– Upload to Google
11
11
12. Google App Engine (pg 2)
• Virtual OS facilities
– Datastore, an object database based on Goggle’s BigTable
• Designed for massive parallelism for serving web content
• Transaction atomicity handled differently from normal databases
• Multiple copies of each table replicated across Google’s servers
• No local file system
– If you need to store something, put it in the Datastore as a blob
– User API (provides authentication based on Google IDs)
– MemCache, ability to keep certain data in memory
– UrlFetch, ability to invoke any http request
• Examples: Google Docs, OpenID, Captcha, Amazon AWS
– Email, Chat APIs
12
12
13. Extending the Paradigms
• Heterogeneous Clouds • Massive Parallelism
– Combining multiple clouds can – Paradigms that exploit the
help you leverate their available redundancy
individual strengths – Were not economically feasible
– But overall availability may be before
compromised – Examples:
– Examples: • Hadoop. An open framework
• Google App Engine for web for parallelizing intensive data
server, AWS for specialized mining tasks
processing • BrowserMob / LoadStorm. Load
• Facebook front ends for Google testing. Unleash hundreds of
App Engine-based applications browsers at an application
• Google App • Search / Indexing Applications.
Engine/Salesforce.com Divide up the task among
interfaces thousands of machines
13
13
14. Summary
• Cloud computing is changing the paradigm for how
computing gets done
• It is a multi-year change,
– Accelerated by current cost pressures
• Advantages go to the early adopters
– So do the risks
• It’s uncharted waters
• It’s fun!
14
14
15. Thank You
J Singh
j.singh@EarlyStageIT.com
(978) 760-2055
15