For years, one of the biggest questions IT teams had to ask themselves when planning a new deployment was, “Should we use cloud or on-prem?” Today, the cloud computing vs. on premises decision is becoming less and less important. The differences between cloud and on-premises environments have grown increasingly irrelevant from the perspective of application developers and IT engineers.
I know: That may sound like a bold statement to IT pros who are accustomed to thinking of the cloud and on prem as two distinct universes. But I think it’s time to change that perspective. Here’s why the cloud computing vs. on premises question no longer matters in the way it once did.
Cloud Computing vs. on Premises: The traditional differences
Historically, cloud-based environments and on-premises environments were markedly different in a number of key ways:
- Cost models: On-premises infrastructure typically required major upfront investment, whereas cloud services were priced on a pay-as-you-go basis. Cloud environments also usually came with complicated fee schedules--such as add-on costs for data egress and API calls--that did not apply on prem.
- Security: Although few people argued that the cloud was inherently less secure than on prem, there was a widespread perception that the cloud could be less secure in the sense that you shared infrastructure with other users. So there was, in theory, less isolation and a greater potential for a breach to spill over from one cloud customer’s environment to another’s.
- Compliance: There was also a sense that it was more difficult to meet compliance rules in the cloud. The reasoning here was usually that companies have less control over their infrastructure in the cloud, and/or that cloud providers do not provide services that meet compliance mandates.
- Scalability: Traditionally, the cloud could scale without limit. It was harder and more time-consuming to add resources on prem because doing so required setting up new physical hardware, which took time (and money) to purchase and configure.
- Deployment and management: Historically, deploying and managing cloud services involved using tools that were specific to the cloud, and that were different from those that most teams ran on prem. If you wanted to run VMs in AWS, for instance, you’d need to know the ins and outs of EC2. On prem, you’d more likely be dealing with a platform like VMware or KVM--or just managing bare-metal workloads directly at the OS level.
There were plenty of other differences separating on prem from cloud environments, but these tended to be the ones that got the most attention as businesses considered whether to use the cloud.
Cloud Computing vs. on Premises: The Blurring Lines
Today, many of these differences have become negligible or disappeared altogether.
Take pricing models, for one. It’s no longer the case that the cloud is the only place to find pay-as-you-go pricing. Center vendors offer the same pricing structure for on-prem resources that customers deploy in their own data centers.
(Tangentially, it’s also worth noting that there was never anything stopping businesses from taking out loans to spread out their on-prem infrastructure costs over time--a fact that always seemed to elude folks who got excited about cloud’s supposedly unique CapEx cost advantages.)
That doesn’t mean all on-prem resources can be paid for on a monthly basis with no upfront capital expense, of course. But it does mean that if your business doesn’t want to dump six- or seven-figure sums into its IT infrastructure all at once, it’s possible to find solutions that spread the cost out over time without requiring use of public cloud.
At this point, the idea that the cloud is less secure because it provides less isolation has been proved false. There have been no major cyberattacks that were made possible by the specific architectures of shared cloud infrastructure, and no examples of security events spilling over from one user’s account to another.
Indeed, you could make a good case today that the cloud tends to be more secure than on prem. Cloud providers’ IAM frameworks enable more granular access control than most on-prem environments can support. Cloud providers also tend to be better at keeping their environments patched, and at following security best practices, than teams that manage on-prem infrastructure.
Likewise, you’d sound almost silly today if you argued that most businesses just can’t meet compliance requirements in the cloud. All of the major cloud providers maintain sophisticated compliance programs to ensure that their infrastructure and services meet compliance rules. And I am not aware of any compliance framework that explicitly disallows use of the cloud.
Today, it’s just as easy--if not easier--to comply with data security, privacy and other mandates in the cloud as it is on prem.
It’s still true that the cloud is, in general, easier to scale than an on-prem environment.
However, the advent of a new generation of hybrid cloud platforms, like AWS Outposts and Azure Stack, makes it possible to set up on-prem environments that teams can seamlessly and instantly extend with cloud-based infrastructure when the need arises.
In other words, you could use a framework like Azure Stack to host your workloads on prem, then add IaaS resources from the Azure public cloud to accommodate spikes in demand. In this sense, scaling on-prem infrastructure no longer necessarily requires time-consuming and expensive acquisition of new hardware.
Deployment and management
From the perspective of deployment and management, many workloads today look the same whether they run on prem, in the public cloud or in a hybrid model.
That’s thanks to the proliferation of platforms like Kubernetes, which abstract away underlying infrastructure and provide a consistent deployment experience no matter where applications are run. If you host your apps in containers (or even VMs, which Kubernetes can also orchestrate), the deployment and management process is going to look and feel basically the same whether your host infrastructure is on-prem servers, public cloud IaaS or a combination thereof.
Is Cloud Computing vs. on-Premises Still a Valid Consideration?
To be sure, the differences between cloud environments and on-prem environments still matter in some cases, for some types of workloads. It’s not as if the cloud vs. on-prem question has become totally irrelevant.
On the whole, though, this issue matters much less than it once did. Just as the differences among Linux, Windows and Mac workstations have become less important in an age when most applications run inside a web browser and work with any OS, there is less at stake today in deciding between the cloud and on-prem.