About the author: Nigel Poulton
Nigel is a tech-oholic with a passion for demystifying exciting technologies. He’s written several best-selling books and video training courses and has helped over 1 million people take their first steps with Docker and Kubernetes. We were excited to have him speak on our CTO Forum where he told us about the future of Kubernetes, so we lend him the pen on our blog. Nigel, over to you!
Why is Kubernetes the next big thing in computing?
I grew up loving technology and spent much of my younger years building and programming computers. This is why I love Kubernetes and computers so much - they’re enabling us to build unbelievably cool things with computers.
When I started working in IT, technology was a pain to deal with for businesses.
Businesses were hesitant to get online, and technology was usually seen as a “money pit” and not an investment. And far too often, when companies did invest, the solutions weren’t good.
Fast-forward to today: every business considers itself a technology business and takes a lot more of a “technology first” approach. One example that springs to mind are postal services. Although the core business is delivering mail and other packages, they all provide extensive services, such as online tracking of packages backed by technology.
We’ve reached an inflection point where everything relies on tech, and technologies like containers and Kubernetes have powered us into a place where we can provide the kinds of services that were impossible in the past.
As a few quick examples… We can now build services that react in almost real-time to changes in load and demand. The classic example is retail services that automatically scale up to meet peak demands during holidays. We can also build services that are far more resilient than in the past. And we can deploy new services and features at a much faster rate and at a much lower cost.
The paradigm shifted: a business that isn’t tech-first has slim chances of survival.
No tech == no business!
Kubernetes is optimization at its best
I am excited by tech in general, but containers and Kubernetes have made it much more enjoyable because we can now build solutions that deliver real value to businesses. And they allow us to do it in much more efficient ways.
Containers and Kubernetes allow us to squeeze more and more out of every dollar a business invests in tech. I regularly say that these technologies “enable businesses to deploy more applications per square foot of infrastructure.” It’s optimization at its best.
The momentum Kubernetes has right now is driving so many positive things. Every vendor is taking a Kubernetes-first approach to building their solutions and tools. For example, modern applications are being built and packaged to run on Kubernetes, and most innovations in areas like security and development are being built around Kubernetes. As well as this, every major cloud offers its own Kubernetes services. The ecosystem is huge, it’s still growing, and it’s very welcoming. That last bit is helping lower the entry barrier and allowing more people to enter.
Avoid cloud lock-in with Kubernetes
Kubernetes has the potential to play a significant role in helping organizations avoid cloud lock-in. This is where you start using a particular cloud and quickly realize you’re tied to that cloud and cannot easily leave.
Kubernetes helps avoid this by abstracting the underlying cloud in the same way operating systems like Windows and Linux abstract differences between server hardware. As long as you write applications to run on Linux or Windows, you were free to change the server hardware it was all running on easily. Well, it’s similar to Kubernetes - as long as your apps run on Kubernetes, you can more easily change the underlying cloud.
This abstraction unlocks a new kind of freedom in cloud computing.
Kubernetes also has a crucial role in enabling multi-cloud. Of course, we’re still in the early days with this, and other factors are at play, such as network latency. However, Kubernetes is a key piece of the puzzle enabling true multi-cloud.
Do I need Kubernetes?
I’ve been advising companies and engineers on Kubernetes for at least 5 or 6 years, and I’m regularly asked if Kubernetes was the way to go.
In the early days, my response was almost always, “Kubernetes probably isn’t the best solution for your use case.” It evolved over the years when I told companies, “Kubernetes might not be right for them now, but probably will be very soon.” Today I’m telling almost everybody that “Kubernetes is the way to go, and if you don’t get on board soon, you will get left behind.”.
As every day goes by, Kubernetes evolves and becomes the right solution for more and more people.
Best practices to kickstart on Kubernetes
If you decide that Kubernetes is the solution for you, you must do things the Kubernetes way.
This is because Kubernetes is more than a technology. It also encompasses new ways of thinking and new ways of doing things. This means if we deploy Kubernetes but continue with our legacy patterns and legacy habits, we’ll have a bad experience with Kubernetes.
I find that mindset changes are often more of a challenge for Kubernetes adoption than learning the actual technology.
When helping organizations and individuals adopt Kubernetes, I recommend they invest in learning microservices design patterns, immutable deployments and infrastructure, and GitOps. These are all vital to successful Kubernetes adoption. In my experience, it seems that older, larger companies with legacy applications and established practices find these changes harder - they had to do a lot of unlearning, which people and organizations find hard.
I probably change my mind once weekly for my favorite complementary Kubernetes tool. However, I recently needed to review the security of some of my container images. Image scanning tools, such as those provided by Snyck and integrated with Docker Hub, made this an easy process. So, right now, image scanning tools are my favorite. But if you ask me tomorrow, it might be different.
Discover Kubernetes Kosmos for multi-cloud
Kubernetes Kosmos is the first managed Kubernetes engine allowing you to attach an Instance or a dedicated server from any cloud provider to Scaleway’s Kubernetes control plane.
Based on Kubernetes Kapsule, pools containing Scaleway’s Instances will benefit from the same features, while external nodes from other providers will join the cluster to allow your containers to extend around the world.