Developer Exchange Blog
Cloud Platforms as a Service Will change your IT Strategy
Notes and key takeaways from the respective Gartner session.
Everyone either is or should be considering how Cloud Platforms may affect their IT Strategy.
A platform is almost anything on which you build. Essentially, with regard to cloud computing, platform-as-a-service relates to "middleware in the sky".
Cloud computing starts with someone else being responsible for your hardware. The hardware is not under your control. This is different from hosting. In the cloud many tenants are sharing the resources - costs are different and there is the possibility of flexibility (ability to get more resources when needed). There are many details of what "cloud" is and many variations of "cloudiness".
In the cloud we have a stack of infrastructure: Systems Infrastructure Services (IaaS), Application Infrastructure Services (PaaS), Application Services (SaaS).
You can enter the cloud at any of these layers: IaaS, PaaS, SaaS.
With IaaS, you do all the same work you previously did, but you've basically gotten virtualized hardware with the opportunity to scale quickly (no need to order services, you just provision a new VM).
With PaaS, you get some middleware services, but you write the applications, programming to the platforms services. You get full control over the application.
SaaS, everything is done in the cloud. You consume the application directly from the cloud. Some may think that if they provide a web based application and make it available on the Internet on a pay-as-you-go basis, they have SaaS. That would be a very liberal interpretation, at least within the realm of the term Cloud Services. To represent an application as Cloud based, it must be reasonably faithful to the terminology; therefore, it needs to have cloud-like (cloudy) underpinnings (e.g., PaaS).
A typical SOA Application is made up of four layered parts:
- User-Facing Logic, which relies on
- Integration/Composition, which relies on
- Back-end App business Logic, which relies on
- Data Persistence
Within PaaS there are four levels of services emerging (or available) corresponding to the above: uxPaaS, iPaaS, aPaaS, dbPaaS.
Each of us must decide what we will put in the cloud? Data? Data and Business Logic? Everything? All are possible and reasonable and none are the "right answer" for every situation.
The PaaS technology base encompasses several foundational elements:
* Underlying Performance Foundation:
(in-memory computing, grid/massive scale, auto scaling, SLA enforcement, use tracking, high availability, security, data integrity, parallel processing)
* The Cloud Foundation:
(shared resources, multi-tennancy, self service, elasticity, continuous versioning, metadata management, subscription/Use billing)
* Platform Technology Management:
(monitoring, tuning, administration, version control, resource control)
PaaS is currently near the peak of the hype-cycle. The PaaS market today has a lot of diversity/chaos. Things are in a constant state of emergence/evolution. Many products are at a "Beta" level of maturity. We're headed for the trough of disillusionment.
Gartner believes that aPaaS and iPaaS will be the dominant services.
Comprehensive Application Service is PaaS and it encompasses all forms of PaaS.
Two PaaS models that can be roughly characterized as: High productivity and/or/versus High Control.
The High Productivity model focuses on: ease of use, fast results, fast learning, low cost, elasticity, scalability, default workload types, modern outcomes
The High Control model focuses on: middleware APIs, Access to behavior management, advanced programming, advanced development and design tools, advanced management tools, options, Advanced ALM (testing, fersion control), Advanced QoS of outcomes.
These two models can coexist. Currently most are focused on High Control.
App Server (e.g., JBoss, etc.) --> aPaaS
aPaaS in a private cloud is a "Cloud Enabled Application Platform" (CEAP). CEAP provides value due to the benefits of the cloud model: continuous unintrusive versioning, realtime elasticity, etc. The functional benefits of the cloud are useful even in one's own data center. For these reasons, "Over time, Gartner believes all platforms will be cloud enabled." Vendors are realizing there are benefits to all of their products when made cloudy. Expectations are that this will give way to cloudy products being dominant (even when sold to be run privately).
Here are some quick notes on the vendors (note that jotted these down quickly):
* Microsoft: App fabric/Windows Azure. Microsoft has realized that step one was to develop all middleware in the cloud. They have been at this for a couple of years and have a good head start.
* Oracle: to them PaaS is strategic. e.g, Oracle fusion apps.
* IBM: Smartcloud integration services. Was selling "workload deployer" for private cloud use. Now taking this into the public cloud. Beta.
* VMWare and Redhat: Products in Beta. Both are Java based. VMWare striving to partner with others (e.g., Spring Frameworks) enabling others with Cloud Foundry. cloudfoundry.com is VMWares directly available PaaS service - in Beta.
* Salesforce.com is the largest most proven PaaS (force.com). Has the largest real production apps. The problem for them is that they are proprietary. Many do not want to go here due to lock-in - single vendor.
Small and medium business love Cloud because they believe cloud providers enable them to have better platform services than they can build and maintain themselves and at a better price. Larger organizations are the opposite - "we don't trust the cloud", "we believe our own infrastructure is superior" - many times it may more related to closed mindeness and related, perhaps, to job security. "Resistance is futile."
Failing to address PaaS is at your own peril. Learn about it, figure out how (not if) it will benefit you.