HomeTechnologyComputingHow the Cloud Made Computing Harder, Not Easier

How the Cloud Made Computing Harder, Not Easier

Remember when cloud computing was supposed to make life easier for IT professionals? When PaaS and IaaS would free IT teams from the burden of physical infrastructure management, and SaaS would it be easy to deliver applications to any user, at any location, at any time?

The cloud did those things, to be sure. But overall, the cloud has made life IT engineers (and developers, and security teams, and pretty much everyone involved in modern IT) harder, not easier.

The question that remains to be answered is why? Why has cloud computing ultimately made IT departments’ jobs more difficult and time-consuming, while also exposing businesses to new types of cybersecurity threats and increasing overall IT spending?

Let’s explore that question by looking at how the cloud has evolved and what factors have led to a cloud computing ecosystem that is much more complex than it probably needed to be.

Why managing the cloud is hard

Again, it is certainly true that the cloud has simplified computing in some ways. It has enabled the majority of companies to say goodbye to physical infrastructure management. It has also placed advanced tools and services such as managed Kubernetes environments and cloud-based big data services — in the hands of IT organizations that would struggle to deploy these technologies themselves on-premises due to limited staffing or expertise.

But in other ways, the cloud has made life much more difficult for IT professionals:

  • More tools to master: Rather than just becoming experts in server management or learning the ins and outs of Linux CLI tools, today’s IT professionals also need to master several vendor-specific cloud computing tools and services.
  • New tool types: The cloud introduced (or made widespread) certain categories of tools that wouldn’t exist — and therefore didn’t need to be managed — in on-premises environments. Before the cloud, few IT teams had to worry about writing IAM policies, for example, or figuring out how to connect remote, cloud-based workloads to a VPN.
  • More complex budgets: The cloud has enabled businesses to move to an OpEx model for infrastructure needs. But it also made it much more difficult to predict costs reliably in many cases, because of the byzantine ones pricing schedules that cloud providers impose on users.
  • More options: Cloud computing gives IT teams a much wider range of options when it comes to how and where they will host workloads. But that also means they have to spend more time evaluating and validating different approaches. In an on-premises world, there was a limited choice of ways to do things and less time was spent optimizing strategies.
  • Limited visibility: In some cases, the amount of visibility and control IT teams have over cloud workloads is limited. For example, many cloud services only display certain types of metrics and logs and almost never allow customers to look at what is happening in the underlying infrastructure. This means IT teams have less information to work with, even though they are expected to maintain the same (or better) levels of performance and availability than they did when on-prem reigned supreme.

How to Simplify Cloud Computing

Certainly, the complexity of the cloud stems largely from the flexibility and power that cloud computing offers. Complexity is the price IT teams pay to take advantage of the cloud.

That said, the cloud didn’t have to be so difficult to manage in the end. And it doesn’t have to stay that way. Here are some ways cloud computing can be made easier from the perspective of the engineers who manage cloud workloads.

Standardization across clouds

First, cloud vendors could better standardize the way their services are configured. All major clouds provide the same set of core services, such as VM hosting, object storage, and IAM. But the configuration tools and policy frameworks each cloud uses are so different that it’s impossible for an engineer who has mastered one cloud to manage another cloud with the same competency.

This problem would be solved if cloud vendors agreed on some form of basic standards. They wouldn’t have to offer exactly the same services; that would obviously not be beneficial from a business point of view. But they could do things like standardize the way IAM policies are written, which would greatly reduce the complexity of managing the cloud.

Simpler pricing schemes

Simplifying pricing schedules is another way public clouds can make life easier for IT teams. For example, instead of considering a complex set of variables when calculating the cost of cloud services, the clouds could offer tiered pricing options, where customers would pay a consistent, predictable price for fixed levels of usage. In other words, they get preset levels of runtime, egress, API calls, and so on, and their workload can consume up to the preset levels for a predetermined price.

Tiered pricing doesn’t make sense for all cloud services, of course, and some customers take advantage of the ability to pay based on exactly what they use. But offering simpler pricing terms, at least as an option, would solve the cloud computing pricing puzzle for many customers.

Custom Statistics

It would be unreasonable (not to say very insecure) to expect cloud vendors to give customers full access to the underlying cloud infrastructure. But the vendors could at least provide customers with ways to define custom metrics or pull data from a lower level of the hosting stack, within limits.

For example, instead of customers being able to collect only the metrics that a cloud makes available for its VM hosting service, the cloud can make it possible for them to eBPF programs on the server hosting VMs to collect low-level data through the host kernel. That would open up a whole new set of monitoring and observability possibilities because IT engineers wouldn’t be limited to the metrics provided by the cloud service and the data available from each VM instance. They could see what the hypervisor and the host kernel see instead.

Doing this securely (without allowing customers to collect data on other customers’ workloads) would be technically challenging. But if anyone has the development resources to build this type of solution, it’s cloud vendors like Amazon and Microsoft.

Preference for open source tools

Part of the reason it’s hard to learn how to manage cloud services is that cloud vendors have a habit of creating their own management tools, even when good open source alternatives are available.

For example, most cloud-based managed Kubernetes services are accompanied by several vendor-specific CLI tools, such as eksctl and gkectl. Those tools are arguably unnecessary because the vendors could choose to use open source Kubernetes tooling, such as kubectl, for this purpose. They may need to add some proprietary extensions to the tools, but the core tools may be open source.

Conclusion: the cloud is great, but it could be simpler

To be clear, I’m in no way suggesting that IT teams should abandon the cloud, or that cloud vendors are deliberately making cloud services more difficult to manage than they need to be. The problem is that cloud services and management tools have evolved to the point that cloud management has become more complicated than it needs to be.

The good news is that there are actionable ways to reduce (if not completely solve) cloud complexity. Most require some effort on the part of cloud vendors, but there’s no reason they can’t be managed.

About the author

Must Read
Which RTX 4080 should you buy on release day?
Christopher Tozzi is a technology analyst with subject matter expertise in cloud computing, application development, open source software, virtualization, containers and more. He also teaches at a major university in the Albany, New York area. His book, “For Fun and Profit: A History of the Free and Open Source Software Revolution,” was published by MIT Press.



Please enter your comment!
Please enter your name here

Most Popular

Recent Comments