White Paper : Selecting a Cloud Platform : A Platform as a Service Scorecard
- wso2 wso2
- - WSO2
To improve application and information service delivery, teams must transform the
development experience. Cloud native solutions shield teams from infrastructure details
and inject new behavior into the application. Cloud native solutions are natively multi-
tenant, elastic, dynamically wired, and incrementally testable. The entire application
platform stack spanning virtual machine, managed code containers, application platform
engines (e.g. business process, presentation, enterprise service bus, business activity
monitor), and persistence should support multi-tenancy. Multi-tenancy enables teams to
customize applications and services per consumer by changing run-time configuration
settings instead of provisioning new instances. As user demand grows and shrinks, an
elastic and distributed platform will right-size application resources based on utilization,
quality of service, and cost optimization policies. When resources are added, subtracted,
or moved, the automated service management components dynamically re-wire resource
connections. To further increase business agility, the PaaS environment must enable
rapid release iterations and incremental solution testing.
When attempting to improve software application delivery using Cloud services,
development teams often specify the following IT objectives:
- Ensure an application satisfies consumer demand while maximizing resource
utilization - Scale workload processing and increase performance while minimizing
infrastructure spend - Allocate, provision, monitor, manage, and administer resources and policies
across multiple tenants, nodes, and locations - Rapidly deploy application and service components on a preferred topology
that meets deterministic performance requirements (e.g., replication, utilization,
latency, bandwidth, and coherency)
Platform as a Service (PaaS) should improve the infrastructure’s ability to a support IT
objectives. The following PaaS capabilities are used to achieve these objectives:
- DevOps Tooling
- Automated Governance
- Service Level Management
- Consumption based pricing
While all middleware vendors purport to deliver a platform powering the Cloud, all PaaS
offerings do not deliver appropriate granularity, abstraction, capabilities, simplicity, and
solution breadth. To ascertain how a PaaS supports achieving IT objectives, teams canevaluate and compare PaaS offerings across the following categories:
- Cloud Characteristics
- Measures characteristics (i.e. on-demand self-service, resource pooling,
rapid elasticity, and measured service) used to distinguish Cloud solutions
from traditional application solutions. - Cloud Dimensions
- Measures how widely the solution can be shared, who is responsible for
PaaS environment management, and where the PaaS is located - Production Ready
- Measures PaaS maturity and suitability for enterprise, mission critical use
- DevOps Activities and Lifecycle Phases
- Measures how to design, construct, deploy, and manage applications and
services using DevOps practices (i.e. continuous integration, continuous
delivery, automated release management, and incremental testing) - Cloud Architecture
- Measures architecture principles, concepts, and patterns enabling
applications to dynamically execute parallel workloads across a highly
distributed environment - Platform Services
- Measures how completely the PaaS satisfies development of complex
applications by providing comprehensive application middleware
components and services - Programming Model
- Measures programming languages and frameworks, which facilitates
building applications and services exhibiting Cloud characteristics
A scorecard can help enterprise architects and solution architects evaluate and select PaaS
offerings. The scorecard can be used to shortlist PaaS providers, build questions posed
in a Request for Proposal (RFP) document, or generate use case scenarios. The scorecard
should list detailed criterion and visually illustrate strengths and weaknesses. When your
team is selecting a PaaS provider, road test the PaaS offerings. At a minimum, become
comfortable with your team’s ability to realize goals, measure improvements using key
metrics, and confidently design, build, deploy, and manage cloud-enabled applications.
Platform as a Service can deliver limited, incremental benefits, or provide a
transformational opportunity. To maximize innovation and transformation, shield
development teams from hardware infrastructure details, raise the level of abstraction,
and inject new Cloudy behavior into the application. Choose Cloud native solutions that
are natively multi-tenant, elastic, dynamically wired, and incrementally testable. I have
created an evaluation framework and quick start roadmap to assist your selection process.