It's 2019, and cloud computing is old news. Or so it may seem, given that it has now been more than a decade since organizations began migrating their infrastructures away from corporate data centers and to the cloud. Yet, if your cloud computing strategy is still rooted in the cloud tools and services that prevailed a decade ago, you are missing out. A lot has changed in the world of cloud computing, not just during the past 10 years, but also during the past two or three. If you are not evaluating new cloud infrastructure options, you are likely missing out.
To help you keep on top of the latest, here's an overview of cloud strategies that are growing stale, an evaluation of what's currently trending in new cloud infrastructure options, and a look at cloud opportunities you might be overlooking.
The Cloud of Yesteryear
Before delving into modern cloud computing trends, let's consider what the typical company's traditional cloud computing infrastructure and strategy looked like in the past. In most cases, companies used the cloud primarily for three things.
1. Data storage: Cloud-based data storage wasn't necessarily cheaper than on-premises storage. And because of network bandwidth limitations, it was almost always much slower. But was more expandable.
2. Application deployment on virtual servers that ran in a cloud environment: Here again, the cloud didn't necessarily offer a lower total cost of ownership than running your own servers, but it was more scalable and flexible.
3. Platform as a service: PaaS solutions let developers write, test and deploy code in the cloud.
Modern Cloud Computing Trends
At forward-thinking organizations, cloud computing strategies are starting to look very different. So are the cloud services that these companies use. Here's a roundup of some of the newer types of cloud services and strategies that have emerged in recent years.
- More diverse cloud storage strategies
When cloud providers first rolled out storage offerings, they were pretty simple. You stored whichever data you wanted in the cloud, and you paid a straightforward per-gigabyte fee each month for that data, along with relatively minor fees for data transfers. The per-gigabyte cost of data storage was flat once you got past the first 100 terabytes or so of data storage.
Today, cloud storage offerings have become more diverse, in several ways. First, all of the major cloud providers now offer so-called cool and archival storage tiers. These tiers provide lower-cost storage, with the caveat that there is a delay when retrieving data from them. (The delay ranges from a few minutes to a few hours, depending on which storage tier you use and how lucky you are when you go to access your data.)
The Microsoft Azure cloud is going in the opposite direction, too. In March 2019, it added a "premium" storage tier that offers extra-fast data access speeds (at a higher cost than standard and archival storage, of course). The other cloud providers have not yet followed suit, although Amazon Web Services (AWS) has been working since November 2018 to court customers with an "intelligent tiering" solution that automatically moves data between different storage tiers, with the promise of optimizing cloud storage costs.
What all of this means is that cloud storage services and pricing have become much more complicated over the past few years. But in that complexity lie opportunities for organizations to optimize both the cost and the performance of their cloud storage strategies. Today, when done right, cloud-based storage can deliver not only more scalability than the on-premises alternative, but also better costs and relatively good access rates.
- Containers and serverless: New cloud application deployment techniques
Today, there are multiple ways to host your application in the cloud. In addition to traditional cloud-based virtual machines, all of the major public clouds now offer containerized application services designed to make it easy to deploy and manage applications inside containers.
You can also deploy containers on virtual machines if you set up the container runtime and management tools yourself, although in most cases IT teams will find it faster and easier to use managed cloud container services like AWS ECS and Azure AKS. These services offer built-in management tools, and you generally pay only for the computing power and storage resources you use, so they don't cost more than setting up containers yourself on a virtual machine in the cloud.
Beyond containers, serverless functions offer another novel application deployment solution for the cloud that has become popular in the past several years. Serverless can save money compared to other cloud-based architectures, especially because customers pay only for when their serverless functions are actually running. It's also highly scalable, although it does create some novel security challenges.
- From PaaS to cloud IDEs
PaaS solutions, which pair cloud-based development and deployment tools, helped to turn many developers onto the cloud a decade ago.
Today, however, PaaS increasingly feels like old news. Although PaaS solutions like Cloud Foundry remain popular, there is an argument to be made that they are being supplanted by cloud-based IDEs like Platform9 and Visual Studio Online. Cloud IDEs, which provide fully hosted, cloud-based environments for writing code, are more limited in scope than traditional PaaS services, which usually require developers to host their applications on a specific cloud. (Some modern PaaSes, especially the open source ones, are compatible with multiple public clouds.)
In addition, what cloud IDEs offer that most PaaSes don't is a greater degree of flexibility. By connecting a cloud IDE to other cloud services (whether on the same cloud that hosts the IDE, or a different one), developers can essentially build their own PaaS, without the lock-in risks of a commercial PaaS.
- Cloud APIs that span cloud and on-premises infrastructure
What if you design an application to run on the public cloud, but decide to deploy it (or migrate it) to on-premises infrastructure instead? Increasingly, you can.
Cloud services like AWS Outposts let developers use cloud-native APIs and tools even for on-premises deployments. They eliminate the need to master different management and deployment tools for cloud and on-premises environments, or to rewrite code when moving between a cloud or on-premises infrastructure.
Although to date I have heard relatively little about companies taking advantage of services like these, I suspect that we'll see more and more organizations adopting them over the next few years. Some applications will always need to run on-premises for various reasons, and these services offer a handy solution.
From more diverse cloud storage offerings, to new application deployment architectures, to cloud IDEs and more, the services available from cloud vendors have evolved significantly during the past few years. The modern cloud computing ecosystem is more complex than ever before, but it also offers many more opportunities for optimizing the performance and cost of application deployments.