Remember when cloud computing was supposed to make IT professionals’ lives easier? When PaaS and IaaS free IT teams from the burden of managing physical infrastructure, and SaaS Will it make it easy to hand applications to any user, anywhere, at any time?
Cloud sure did those things. But overall, the cloud made life IT engineers (and developers, security teams, and everyone else who plays a role in modern IT) Harder, not easier.
The question that remains to be answered is: why? Why cloud computing has ended up making the jobs of IT departments more difficult and time-consuming, while exposing companies to new types of cybersecurity threats and Increasing public spending on information technology?
Let’s explore this question by learning about how the cloud has evolved and the factors that have led to the arguably more complex cloud computing ecosystem.
Why cloud management is hard
Again, the cloud has certainly simplified computing in certain ways. It has allowed the majority of companies to say goodbye to the management of physical infrastructure. It has also developed sophisticated tools and services – such as management Kubernetes Cloud-based big data environments and services – in the hands of IT organizations that will struggle to implement these technologies themselves on-premises due to staffing or expertise constraints.
But in other respects, the cloud has added a great deal of difficulty to the lives of IT practitioners:
- More tools to master: Instead of just having to become server management experts or learn the ins and outs of Linux CLI tools, today’s IT professionals have to master vendor-specific cloud computing tools and services.
- New types of tools: The cloud provided (or became widespread) certain classes of tools that did not exist—and thus would not need to be managed—in on-premises environments. Before using the cloud, few IT teams had to worry about writing IAM policies, for example, or figuring out how to connect cloud-based remote workloads to a VPN.
- More complex budgets: The cloud has allowed companies to shift to the OpEx model for their infrastructure needs. But it also made it very difficult, in many cases, to predict costs reliably, because of Byzantium Pricing tables imposed by cloud service providers on users.
- More options: Cloud computing gives IT teams a much broader range of choices when it comes to how and where they host their workloads. But it also means that they have to spend more time evaluating and validating different approaches. In a homeworld, there was a limited set of ways to do things, and less time trying to perfect strategies.
- Limited vision: In some cases, the amount of visibility and control that IT teams have over cloud workloads is limited. Many cloud services only show certain types of metrics and logs, for example, and never allow customers to see what’s going on in the underlying infrastructure. This means that IT teams have less information to work with, even though they can be expected to maintain the same (or better) levels of performance and availability that they had in the days when the on-premises market reigned supreme.
How to simplify cloud computing
Certainly, the complexity of the cloud results in large part from the flexibility and power that cloud computing provides. complication The price IT teams pay for leveraging the cloud.
However, it can be said that the cloud was not difficult to manage. Nor should it remain so. Here are some of the ways cloud computing can be made simpler from the perspective of engineers managing cloud workloads.
Consolidation through clouds
First, cloud vendors could do a better job of standardizing the way their services are configured. All major clouds offer the same set of core services, such as VM hosting, object storage, and IAM. However, the configuration tools and policy frameworks used by each cloud are different enough to make it impossible for an engineer who has mastered one cloud to manage a different cloud with equal efficiency.
This issue will be resolved if cloud vendors agree to some form of core standard. They wouldn’t have to provide the exact same services; Obviously, that wouldn’t be beneficial from a business perspective. But they could do things like standardize the way IAM policies are written, which would reduce the complexity of managing the cloud.
Simpler pricing tables
Streamlining pricing schedules is another way public clouds can make IT teams’ lives considerably easier. Instead of taking a complex set of variables into account when calculating cloud service costs, the cloud could do something like offer tiered pricing options, where customers pay a fixed and predictable price for fixed levels of consumption. In other words, they will get predefined levels of uptime, checkout traffic, API calls, etc., and their workloads can consume up to predefined levels at a predetermined price.
Tier pricing certainly doesn’t make sense for all cloud services, and some customers benefit from the ability to pay based on exactly what they use. But offering at least simpler pricing terms as an option would solve the cloud pricing conundrum for many customers.
It would be unreasonable (not to mention very insecure) to expect cloud vendors to give customers full access to the underlying cloud infrastructure. But vendors can at least provide ways for customers to define custom metrics or pull data from a lower level of the hosting stack, within limits.
For example, instead of customers only being able to collect the metrics that the cloud chooses to display for their VM hosting service, the cloud could allow them to run eBPF Programs on the server that hosts virtual machines in order to collect low-level data through the host kernel. This will open up a whole new set of monitoring and monitoring capabilities because IT engineers will not be limited to the metrics provided by the cloud service and the data available from within each VM instance. They can instead see what the hypervisor and host kernel see.
Doing this in a secure manner (without allowing clients to collect data about other clients’ workloads) would be no feat from an engineering perspective. But if anyone has the development resources to build this kind of solution, it’s cloud vendors like Amazon and Microsoft.
Preference for open source tools
Part of the reason it’s so hard to learn to manage cloud services is that cloud vendors have a habit of creating proprietary management tools, even when good open source alternatives are available.
For example, most cloud-based managed Kubernetes services come with vendor-specific CLI tools – such as eksctl and gkectl. Arguably, these tools are not necessary because vendors can instead choose to use open source Kubernetes tools – such as kubectl – for this purpose. They may have to add some special extensions to the tools, but the basic tools can be open source.
Bottom line: Cloud is cool, but it could be simpler
To be clear, I am in no way suggesting that IT teams abandon the cloud, or that cloud vendors intentionally make managing cloud services more difficult than they need to be. The problem instead is that cloud services and management tools have evolved in a way that has made managing the cloud more complex than it needs to be.
The good news is that there are actionable ways to reduce (if not completely solve) the cloud complexity challenge. Most of them require some effort on the part of the cloud vendors, but there’s no reason why they can’t manage it.
About the authorChristopher Tozzi He is a technical analyst with substantive expertise in cloud computing, application development, open source software, virtualization, containers, and more. He also lectures at a major university in the Albany, New York area. His book, For Fun and for Profit: A History of the Free and Open Source Software Revolution, is published by MIT Press.