cloud computing: highlights
TRANSCRIPT
Cloud computing: highlights
Luís Bastião - [email protected]
2
Outlines
Cloud computing: natural evolution Stack Deployment models
Services Blobstore/Datastore Databases Notification Systems
Frameworks Google AppEngine PubNub Jclouds AWS
Overview
3
4
Computing paradigm
5
Computing paradigm
6
Cloud computing: definition
“Cloud computing has the potential to create irreversible changes in how computers are used around the world”
7
Cloud computing: definition
“Cloud computing technology’s objective is to move any application stored on a computer to a remote location, eliminating all the standard components, including operating systems and hard drives, which are necessary in today’s computers and make them accessible online through a standard browser.”
8
Clod computing: definition
Resources as a Commodity
9
Anywhere and anytime
http://cloudcomputingcompaniesnow.com/
10
1) No capital expenditures
11
2) Pay only what you need
12
3) Elastic capacity
13
4) Focus on development
14
5) No need to maintain infrastructure
15
6) Redundancy
16
7) Design for failure
17
Deployment models
18
Increase efficiently
19
Increase efficiently
20
Increase efficiently
21
Increase efficiently
22
Increase efficiently
23
Cloud computing providers
24
So..? Leave it to the experts.
… who have a lot of money to spend to build large datacenters in different locations of the globe.
Benefits/Challenges
25
Reduce IT infrastructure on the organizations side
Reduce the maintenance of datacenter
Reduce the costs
Energy, air condition
Licenses
Access applications and data “anytime, anywhere”
x Ensure privacy and confidentiality
x Interoperability with existents protocols
x Portability
Services
26
27
What fits in the cloud services?
Elastic capacity: applications to scale
SOA applications: all of them use mainly web services to communicate
Access anytime and anywhere
High parallelized workflows
28
Cloud computing stack
Software as a service(Finished application: for sales and it
customizable)
Plataform as a service(Developer plataform that abstracts the
infrastructure OS)
Infrastructure as a service(Abstract real infrastructure)
29
Infrastructure-as-a-Service
Adding “servers” in a click
Run it in just a few minutes, not days
30
Infrastructure-as-a-Service
Create Virtual Machines on demand
Snapshots
Start/Stop machines
Automatically scale
Pay only the resources that the machine are using
There is an API, you can management the infrastructure programming or invoking web services
31
Infrastructure-as-a-Service - Hybrid
32
High Level: Platform-as-a-Service
Platform-as-a-Service (PaaS) Storage-as-a-Service Database-as-a-Service Notification-as-a-Service
33
Storage-as-a-Service
Blobstore: upload blobs/data objects to the cloud
Based on Key, Value concept
Each blobstore can contain several containers/buckets.
They have a Key and the value is a binary blob. The developer can store information
34
Storage-as-a-Service
Providers: Dropbox API S3 Google Storage Azure Storage Box.net Rackspace Store
35
Databases – Columnar Data
Flexible and mutable tables
Key/Value structure
Providers: Datastore Google AppEngine Azure Table SimpleDB – AWS
36
Notification systems
Asynchronous message queue
HTTP protocol
Publish/Subscribe pattern
Examples: Channel API PubNub
Frameworks/SDKs
37
Google AppEngine: What is it?
Platform-as-a-Service
Languages: Java and Python
Create Web Applications
Free (to start with)
www.appspot.com
39
Google AppEngine: services
40
Google AppEngine: Dashboard
41
Google AppEngine: Dashboard
42
Google AppEngine: Datastore
“Bigtable is a distributed storage system for managing structured data that is designed to scale to a very large size: petabytes of data across thousands of commodity servers. Many projects at Google store data in Bigtable, including web indexing, Google Earth, and Google Finance”
43
Requires a new way of thinking
44
Google AppEngine: Channel API
Channel API: notification and collaborative environment
45
PubNub
Free service to do notification in real time
Accessible via Web Services
Easy to use for collaborative systems
Check it out: http://www.pubnub.com/console
Free alternatives to deploy locally: http://www.ape-project.org/ XMPP/Smack
46
PubNub
47
Multi cloud frameworks
Jclouds: Multi cloud library
Services: Computing Service Blobstore service
Language: Java
Supports several cloud providers for Computing Utility and Storage
Jclouds.org/github
49
Jclouds - blobstore
BlobStoreContext context = new BlobStoreContextFactory().createContext("aws-s3", identity, credential);
BlobMap map = context.createBlobMap(”food");
Blob blob = map.blobBuilder("sushi.jpg")
.payload(new File("sushi.jpg"))// or byte[]. InputStream, etc.
.contentDisposition("attachment; filename=sushi.jpg")
.contentType("image/jpeg")
.calculateMD5().build();
map.put(blob.getName(), blob);
context.close();
50
Other services
Computing services: launch machines on demand. Allocate processing and memory Grow dynamically Pay what you use
Networking
Payments
Workflow
… and many others.
51
What to do next?
Keywords: Google AppEngine, AWS S3, Dropbox API, Cloud API
Google AppEngine – SDK (PaaS)
Dropbox API – Storage
Google API – Services
Install your own services (testing)
52
References
http://blog.zenoss.com/2011/08/top-10-presentations-on-cloud-computing/
http://www.slideshare.net/jaapgorjup/cloud-computing-intro-slides
http://www.slideshare.net/simon/ive-probably-been-using-google-app-engine-for-a-week-longer-than-you-have
http://www.appspot.com
http://www.pubnub.com
http://aws.amazon.com