Many believe that private clouds are just a stepping stone for corporate IT on a path that will end at the public cloud. Dedicated private clouds allow IT to have full control over the environment, though they don’t provide the cost efficiencies associated with multi-tenant, public cloud IaaS services. This control is helpful for enterprises with data security and compliance concerns, and for IT organizations looking to get more comfortable with the cloud model. Private clouds provide IT a safer way to come up the cloud learning curve and build skills, while perceived issues around data security, performance and compliance are addressed by public cloud service providers. Note that Amazon’s Virtual Private Cloud (VPC) is an exception to this inherent cost/control trade-off, providing many of the benefits of a private cloud in a multi-tenant environment.
While private clouds may end up being an effective stepping stone to public and hybrid cloud models, for others it runs the risk of becoming a tar pit. Why? The enterprise application portfolio will also need to make the step forward to the cloud. In many enterprises today, unfortunately it isn’t.
While common market definitions are still emerging, in general enterprise applications fall into three categories when considering the cloud:
Cloud-native applications – also sometimes called cloud-centric, these are enterprise applications that have been architected from the ground-up for cloud environments. Cloud-native applications are typically:
- Elastic, and able to automatically and dynamically scale-out to use additional compute resources as needed
- Fault tolerant, and architected for resiliency through redundancy
- Infrastructure independent, and able to run on multiple clouds (public, private or hybrid) or service providers
In many enterprises new custom apps are developed to be cloud-native (on PaaS or IaaS), but these still represent a small percentage of the overall application portfolio.
Cloud-ready applications – these are enterprise applications that can run in cloud environments, but which haven’t been re-architected to fully take advantage of the benefits of cloud. For example in most cases these applications are unable to auto-scale, and hence unable to capitalize on consumption-based pricing of public or hybrid cloud environments.
Legacy applications – these are traditional enterprise applications that are largely infrastructure dependent, and architected around a scale-up vs scale-out approach. While they may have been modernized or re-platformed to run in virtualized environments, they haven’t been refactored for the cloud.
Why are these distinctions important?
The cost efficiencies offered by public cloud IaaS and PaaS models are based on the ability of an application or workload to dynamically scale, and consume compute resources only when required. Until a significant percentage of the application portfolio is cloud-native, enterprises won’t be able to capture the cost and flexibility benefits of public or public / private hybrid cloud models. And without the benefits, there will be no incentive to take the next step forward.
Many enterprises that claim to be moving to private cloud environments today are basically just rehosting a set of existing legacy applications in virtualized environments and calling them “cloud,” or enabling applications to be cloud-ready. While this provides the illusion of progress, the ball really hasn’t been advanced from a broad cloud migration or transformation perspective. In these scenarios infrastructure will have taken a step forward towards public or hybrid models, but the next step will be dependent on the maturity of the application portfolio. Why not do the rework to make existing applications fully cloud-native? Corporate IT frequently finds the effort required to be daunting in light of perceived ROI, and given the lack of internal cloud skills.
For public cloud IaaS services to go mainstream in the enterprise, existing enterprise application portfolios will need to be largely rebuilt and/or rapidly replaced with new cloud-native, custom built apps. Until their existing application portfolios are fully separated from infrastructure using next generation cloud architectures, enterprises will be “stuck” in private cloud models.