Click to learn more about author Pete Johnson.
I recently overheard someone say, “The public Cloud was supposed to be simple and cheap, but it’s neither.” The problem with this statement is the premise. Nobody ever promised that the public Cloud was either simple or cheap, let alone both at the same time. The promise of public Cloud is about low overhead and elasticity, and unless you architect your applications to take advantage of those two things, your cloud strategy will be filled with waste as you fail to realize its full potential.
Early public Cloud was defined by spinning up VMs in minutes and renting them by the hour. This allowed users to closely track demand with supply and avoid capital expenses associated with purchasing physical hardware. Netflix, which was the featured customer at the first two AWS re:Invent keynotes, was the early poster child for this. They completely architected their new streaming business to take advantage of this elasticity as much as possible.
In other words, you can’t just take an application designed for bare metal deployments in the 1990s, get it to run on public Cloud, and expect savings to be there. The good news is, there are some simple things you can do with applications of all ages to get varying degrees of benefits.
The easiest way to get more out of public cloud is to add horizontal autoscaling to your applications. Typically this means the app or web tier of a three-tier application has some minimal number of VMs serving up content that expands as certain CPU or memory utilization thresholds are passed and reduced when those values fall again.
Applications that keep true state in some combination of the client (browser or mobile device) and the back end (database) are the easiest to implement this strategy, and Cloud Management Platforms (CMP) can help automate the triggering. CMPs are good at deploying applications onto clouds, minimally monitoring them, and spinning up more VMs at that middle tier using the same code used to deploy the original VMs, which makes utilizing them here (and as we’ll see in a moment in another way as well) low-hanging fruit.
Derivative Managed Services
Beyond VMs, storage and networking, the second act of public Cloud has been focused on derivative managed services for common application components that internally adjust to usage and are priced accordingly. For example, if your application architecture utilizes a database, queuing, messaging—or more AI-centric components like speech-to-text, sentiment analysis or image recognition—rolling your own is likely far more expensive than using a pubic Cloud managed service equivalent. The risk you run is getting locked into a particular Cloud that offers such services, but the benefits are that you can get usage-based pricing for individual tiers of your application without fundamentally changing function.
Don’t Forget the Private Cloud
IDC tells us it’s a Multi-Cloud world, meaning that just because you can virtualize a workload doesn’t mean it should necessarily run on a public cloud. As analyst and CIO whisperer Tim Crawford suggests, some applications will span Clouds in a hybrid configuration, while Multi-Cloud approaches will have some applications on one Cloud and others deployed on a different Cloud. This, again, is where CMPs can help, because they can give system administrators a single view of an application portfolio even when different applications are more appropriate for different Clouds. The virtualization benefit of a private Cloud so that it becomes far easier to replicate production environments for staging, testing or development purposes alone make it a key part of most enterprise strategies, but some workload demand simply doesn’t fluctuate enough to take advantage of hourly public cloud elasticity.
Moving a three-tier web application that has steady demand to public Cloud isn’t likely to reap many benefits without changes. Hourly charges can add up and be more expensive than private Cloud alternatives over time. But many applications that have varying demand or that contain components suitable for migrating to pubic Cloud-managed services do have benefits. While there’s no broad, quick fix, tools like CMPs can help mitigate migration and management overhead, and it’s always best to look at your portfolio on an application-by-application basis to judge what is the best path for each unique situation.