White Paper : Selecting a Cloud Platform : A Platform as a Service Scorecard

Archived Content
This article is provided for historical perspective only, and may not reflect current conditions. Please refer to relevant product page for more up-to-date product information and resources.
  • By wso2 wso2
  • 17 Dec, 2011

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.

    Download the complete White Paper