Presentation of a seminar paper (cloud computing seminar at University of Stuttgart 2011). Contains a description of cloud platforms, their significance and a small market overview.
3. Agenda
Motivation!
Definition!
Significance!
Platform Idea and Components!
Market Overview!
Conclusion!
Disclaimer: The statements in this presentation are related to
the Java programming language.
1
4. Motivation
Image-Source: http://dilbert.com/strips/comic/2010-01-18/
reduce administration effort! increase flexibility!
improve scalability! reduce development effort!
increase availability! short time to market!
reduce overall costs! focus on business applications
reduce fix costs
2
5. Definition
HuaaS in the middle of the Cloud
Stack!
SaaS divided into programming
- applications and runtime environment!
- Application services provides an application
PaaS container for one or more
- programming environment programming languages!
- runtime environment divided into Application
PaaS and Integration and
IaaS
Governance PaaS
- infrastructure services
(network / storage / compute)
- Resources
(virtual / physical)
Hardware
3
6. PaaS vs. SaaS and IaaS
Image-Source: http://www.microsoft.com/austria/enterprise/article.aspx?Id=IaaS+PaaS+und+SaaS
no direct access to operating and file system!
application server, load balancer and other middleware
is already installed and accessible via APIs
4
7. Significance
used by leading
edge users & ISVs!
in Japanese
companies more
common!
currently not suitable
for complex
applications
Image-Source: http://www.gartner.com/it/page.jsp?id=1447613
5
8. Platform Idea and Components
Programming Model
comparable to enterprise application
development (cluster of application
servers with load balancer)!
asynchronous!
stateless
Image-Source: http://www.ibm.com/developerworks/websphere/library/techarticles/
0606_petersonr/0606_petersonr.html
Development Process
provider selection (vendor lock-in)!
multiple versions parallel usable
(test, stage, live)!
SDKs and IDE plugins provided!
new development or migration
6
Image-Source: http://www.klinksoft.com/webdev.htm
9. Platform Idea and Components
Runtime Environment
based on existing runtime
environments!
can be shut down at any time by
PaaS provider!
partially limited (sandbox)!
manages database access!
e.g. Java Servlet Container
Image-Source: http://download.oracle.com/docs/cd/E19933-01/819-2641/6n4trr8j8/index.html
Persistence
no direct disk access!
hold data in DB, caches or RDS
BLOB stores!
access via provider dependent
NoSQL
API or runtime environment BLOB
Image-Source: http://www.softicons.com/free-icons/system-icons/
colobrush-icons-by-eponas-deeway/database-icon 7
10. Platform Idea and Components
Concurrency and Communication
threads are not available
everywhere!
asynchronism via provider
dependent APIs!
usage of messaging
infrastructure
Image-Source: http://www.thefullwiki.org/Thread_pool_pattern
Access Layer
access via Internet via HTTP!
make use of HTTP protocol
attributes (cache, stateless)
Image-Source: http://www.tcpipguide.com/free/t_HTTPOperationalModelandClientServerCommunication.htm
8
11. Platform Idea and Components
Multi-Tenancy
Image-Source: http://www.ibm.com/developerworks/webservices/library/ws-multitenantpart2/index.html
multi-tenancy on several layers!
PaaS providers support multi-tenancy partially through
namespaces for DB and tasks
9
13. Amazon Web Services: Elastic Beanstalk
based on AWS IaaS
services!
direct access to EC2
instances possible!
supports only JEE
applications
Image-Source: http://itsitspace.blogspot.com/2011/01/elastic-beanstalk-amazons-revolutionary.html
11
14. Google: App Engine
runtime environment
sandboxed!
supports JEE, Python
and Go applications
Image-Source: http://thegrovegroup.wordpress.com/2009/04/27/the-google-apps-engine/ 12
15. Salesforce.com: VMforce
VMware stack!
runs in the salesforce data
center!
strong link to force.com services
and database!
supports Java applications!
hard to port to other provider
Image-Source: http://blog.springsource.com/2010/04/27/vmforce-spring-cloud/
13
16. Microsoft: Windows Azure
Image-Source: http://www.microsoft.com/china/ard/en/innoforum/innoforum_14.mspx
large set on supported programming languages!
3 roles (Web Role, Worker Role, VM Role)!
also useable as appliance
14
17. Conclusion, Questions & Discussion
Image-Source: http://dilbert.com/strips/comic/2010-01-18/
reduce administration effort! increase flexibility!
improve scalability! reduce development effort!
increase availability! short time to market!
reduce overall costs! focus on business applications
reduce fix costs
15