www.appistry.com
The Cloud “Pyramid”
Applications, Platform, Infrastructure
Sam Charrington
Appistry
1
www.appistry.com
Cloud Infrastructure… • Provides access to “Compute” and
“Storage” instances, on-demand
• Based an virtualization technology
• Advantages: Full control of environments and infrastructure
• Disadvantages: Provide little or no abstraction
• Examples: Amazon EC2, GoGrid, Amazon S3, Nirvanix, Linode
www.appistry.com
What About the Applications?
After a few hours, the fog of hype starts to lift and it becomes
apparent that the clouds are pretty much shared servers just
as the Greek gods are filled with the same flaws as
earthbound humans. Yes, these services let you pull more CPU
cycles from thin air whenever demand appears, but they can't
solve the deepest problems that make it hard for applications
to scale gracefully. Many of the real challenges lie at the
architectural level, and simply pouring more server cycles on
the fire won't solve fundamental mistakes in design.
www.appistry.com
The Challenge: Cloud Presents New Application Requirements
• Modular, service-oriented
• Unpredictable load
• Dynamic
• Distributed
• Connected
• Multi-tenant
Traditional Application Infrastructure Wasn’t Built to Meet
the Requirements of Cloud Applications
www.appistry.com
The Solution: Cloud Platforms
• Abstract applications across individual cloud servers (“application virtualization”)
• Ensure application QoS: scalability, reliability, availability
• Provide run-time services for cloud applications via APIs, e.g. state, workload management
• Simplify and automate appdeployment and management
Cloud Platforms Provide the Glue that Allows Cloud
Applications to Fully Leverage Cloud Infrastructure
www.appistry.com
Cloud LayersInfrastructure vs. Platform
Characteristic Infrastructuree.g. Amazon EC2
Platforme.g. Appistry EAF, Google App Engine
Scope Virtual Machine Application
Management Manual; machine-by-machine Automated; single step
Ease-of-use Easy to provision new infrastructure
Easy to build/migrate cloud-enabled applications; cut time-to-market
Scalability Create new servers on demand Applications scale linearly
Risk Reduce infrastructure investment Reduce project/development risk
Reliability Reliable infrastructure Reliable applications
Cost Pay only for what you use; use only what you need
Enable application agility and reduce development costs
Security Provide secure infrastructure Enable secure applications
www.appistry.com
Hosted Cloud Platforms (“PaaS”)
Provides platform benefits, but:
• Focus on single application stack (e.g. Ruby, Python)
• Lock applications to single cloud infrastructure provider
• Restricted to available services, e.g. can’t use SQL compliant DBs
as-a-Service
www.appistry.com
Cloud Application Platforms
• Delivered as software
• Used in-cloud or on-premise
• Support standard enterprise software development stacks (e.g. Java, .NET, C++ via Eclipse, Visual Studio)
• Provide portability across cloud environments
• Provide essential services such as data caching and workload management
Cloud App.