Cloud Native or Cloud Washed PaaS - The Difference Matters
Join the DZone community and get the full member experience.Join For Free
With mainstream vendors (e.g. RedHat OpenShift, IBM Cloud Application Services, Oracle Public Cloud, ActiveState Stackato) promoting quickly pushing bits into the Cloud, smart development teams have established a clear Cloud Platform comparison criteria and a process to determine if the run-time PaaS will exhibit cloud characteristics and offer a Cloud Native instead of a Cloud Washed experience.
A review starting point is the underlying application platform architecture. Many individuals believe PaaS benefits can be accrued without refactoring the application platform, and few vendors have delivered middleware supporting new application architecture and programming models, which would facilitate cloud characteristics. As a result, PaaS offerings often recreate the traditional machine environment in the Cloud.
Cloud washed solutions modify the architecture at the virtual machine and network level. The architecture simply adds hardware virtualization and application platform provisioning. Cloud washed solutions exhibit reference architecture models that closely correlate with those found in traditional, terrestrial on-premise environments. In a Cloud washed environment, application platform components (i.e. application server, enterprise service bus, business process management engine, identity store) are not re-factored to natively deliver supporting architectural attributes (i.e. multi-tenancy, dynamic discovery, utilization monitoring, stateless components, partitioning, metering, dynamic routing, and resource coordination).
Cloud washed offerings are optimized for traditional, static single-tenant deployment. Single tenancy will force teams to provision a virtual instance for every client; consuming large amounts of machine resources (e.g. CPU, memory), increasing administration effort, and limiting cost benefits. Cloud washed offerings exhibit elastic scale by provisioning (or de-provisioning) entire physical machines or virtual images, and manual effort is often required to synchronize application platform session state with hardware infrastructure changes. Single tenancy negatively impacts total cost of ownership (TCO) by a factor of 214% compared with shared container multi-tenancy.
Development agility improvements will accrue once your team has changed both process and platform. While cloud washed PaaS solutions will deliver familiar architecture and programming models, they will offer modest, incremental improvement. Cloud native PaaS solutions will inject behavior into the application, decouple application code from run-time infrastructure details, increase application density, and facilitate distributed interactions. Adopting Cloud native architecture platforms will increase your team’s’ ability to meet user demand, rapidly deliver new capabilities, reduce time to market, and lower cost.
Published at DZone with permission of Chris Haddad, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.