Post on 20-Jun-2015
transcript
Introduction to Cloud Computing
J Singh
President, Early Stage IT
Sept 17, 2009
Emulating a Previous Megatrend
• An on-site power plant…
…replaced by an off-site power plant
22
Characteristics of Cloud Computing
•On-demand self-service
•Ubiquitous network access
•Resource pooling
– Location independence
33
– Location independence
– Homogeneity
•Rapid elasticity
•Measured service
Source: NIST
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
4
• 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
Players in the MarketPlace
• Some established players– Amazon
• Simple Storage Service, Elastic Compute Cloud, SimpleDB, Simple Queuing Service
• FPS, FWS, MTurk
– Google• Google App Engine
• Google Apps
• Some new players– Cloud Administration Services
• Rightscale
• Scalr
– Virtualized Data Centers• Rackspace
• Mosso
– Private Clouds
5
• Google Apps
– Microsoft• Azure
– EMC• Atmos
– IBM• Collaboration w/ AMZN, GOOG
– Salesforce.com
– Facebook.com
– Private Clouds• Eucalyptus
– Transition Products• TwinStrata
• CloudSwitch
• Confession:– I don’t follow the
Entrepreneurial Landscape closely
5
Cloud Computing Nuts and Bolts
• Amazon / Google Clouds
• S3 Programming
• Introduction to EC2
• Google App Engine Virtual OS
6
• Google App Engine Virtual OS
• Woven Clouds
6
Amazon / Google Clouds�
• Amazon EC2
– Flexible and configurable
– Interact with the machine at the OS level
– Good for hosting existing programs in the cloud
7
• 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
• 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
Using S3
8
• 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
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
9
» 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
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
10
– Other facilities
• Load balancing
• Auto-scaling
10
Google App Engine (pg 1)
• Programming Languages
– Python, Django-like Web Application Framework
• Templates, CSS, HTML
– Java
• I’m not up to speed on this, but it uses the same virtual OS
• Client-side facilities
• SSL constraint
– Supported:
• http://abc.appspot.com
• https://abc.appspot.com
• http://www.abc.com
– Not supported
• https://www.abc.com
11
• Client-side facilities
– Javascript, AJAX, YUI, GWT, jQuery, Flash
• Development Environment
– Can be any, I like Eclipse
– Local Sandbox
– Upload to Google
11
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
12
– 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
Extending the Paradigms
• Heterogeneous Clouds
– Combining multiple clouds can help you leverate their individual strengths
– But overall availability may be compromised
– Examples:
• Google App Engine for web
• Massive Parallelism
– Paradigms that exploit the available redundancy
– Were not economically feasible before
– Examples:
• Hadoop. An open framework for parallelizing intensive data
13
• Google App Engine for web server, AWS for specialized processing
• Facebook front ends for Google App Engine-based applications
• Google App Engine/Salesforce.com interfaces
for parallelizing intensive data mining tasks
• BrowserMob / LoadStorm. Load testing. Unleash hundreds of browsers at an application
• Search / Indexing Applications. Divide up the task among thousands of machines
13
Summary
• Cloud computing is changing the paradigm for how computing gets done
• It is a multi-year change,
– Accelerated by current cost pressures
14
• Advantages go to the early adopters
– So do the risks
• It’s uncharted waters
• It’s fun!
14
Thank YouThank You
J Singh
j.singh@EarlyStageIT.com
(978) 760-2055
15