There’s a healthy and boisterous debate about vendor lock-in in the IT community. And the conversation is moving out into the general business community more and more. Allowing enterprises to untie themselves from infrastructure provider-specific technology stack and free development to use whichever tool fits their needs best, almost sounds like IT nirvana!
Kubernetes is well-known for its container orchestration capabilities — it is the definition of Kubernetes. What is often overlooked is how Kubernetes can function as an infrastructure abstraction running across clouds and data centers, creating a single pool of resources.
The infrastructure layer includes virtual and/or physical machines/servers hosted in a datacenter or in a cloud (e.g. AWS, Azure). When Kubernetes becomes the “new infrastructure layer” for the enterprise, it can abstract away the differences among different infrastructure types very well. By setting up and managing Kubernetes on top of any virtual infrastructure or across multiple OS, there’s an opportunity for better automation, more freedom and infrastructure self management and self healing.
ABSTRACTION BUILDS PORTABLE, FLEXIBLE, FUTURE-READY ARCHITECTURE
Kubernetes can abstract the infrastructure away from higher-level services and applications. Not only does this make apps a lot more portable, but it also adds flexibility and builds a much-needed, future-ready architecture.
This enables teams to focus on what they do best. Astracting at an infrastructure level makes it a lot easier. Ops teams can provide developers with a platform to run their stacks and apps in an infrastructure-independent manner while still fine-tuning infrastructures based on their department’s requirements. Dev teams, on the other hand, can focus on writing software while still retaining a lot of control over how infrastructure is set up and access to infrastructure specific capabilities.
The application and container management capabilities of Kubernetes allow effective management and operation of business applications but also the ability to run and manage system services like cloud native storage, AI/machine learning/data science tools, security management and cost management tools.
Flexible and pluggable solutions will have staying power, the ability to have longevity and be able to adapt to market demands. Keeping the container orchestration layer separate from the middleware and cloud-native or managed services ensures that system architecture stays modular and open. As soon as layers are tied together, flexibility is compromised.
Clear separation of layers is not new. And sometimes you don’t need to invent anything to find the right solution. This best practice is tried and true. The difference is that Kubernetes brings it to a whole new level.
This is especially important now when the speed of innovation is only increasing, and marked demands are evolving at a breathtaking pace. Flexible and open architecture of the technology stack the companies rely on is a key to keeping up with the change without sacrificing reliability and security.
CHALLENGES STILL EXIST
Let’s not mince words here: Kubernetes is difficult. It requires deep technical expertise that is often hard to find. Implementation is slowed because the skill base hasn’t caught up with the need. Existing professionals haven’t re-skilled to pivot to using kubernetes to its fullest.
Kubernetes is not a full-fledged, ready-to-use solution, enterprises need an entire technology stack. There are a multitude of options for operational tooling around Kubernetes around log collection, monitoring, tracing, access control, identity management.
The good news is there’s flexibility as these are available as open source tools, proprietary tools, and SaaS. However, they still require integration for each specific implementation. Configuring and fine-tuning the different technologies so they work well with Kubernetes is no easy task and requires significant resources—time, money, and highly specialized skills.
You may be asking yourself where the upside is. Just like with many other technologies – like virtualization, machine learning, and cloud – that offered so much promise but took some time to slingshot with skills and adoption, Kubernetes will do the same. There are solutions to address different challenges and use cases.
Changes over the last few years were evolutionary. But at some point incremental changes begin to exceed critical mass, and this leads to a revolution. With cloud native technologies and Kubernetes, several incremental trends should be taken into account:
- continuing digitization of the economy
- growing awareness and adoption among the IT departments
- growing maturity of cloud native tools, vendors and the technology stack in general
- continuing evolution of the regulatory requirements often resulting in heightened demands for IT systems reliability, but most importantly security, localization/nationalization, and portability.
Taken together this creates a perfect storm that may exponentially accelerate Kubernetes adoption, and IT executives should be prepared for the new competitive landscape.