Tijmen van den Brink
Tijmen van den Brink Architect
13 May 2020

Why you need Kubernetes

Do you ever get the feeling that information technology still is way too complicated? Over the past few decades, numerous digital technologies have made our lives easier, mostly by abstracting the underlying complexity. Things like virtualisation and (public) cloud allowed us to respond to the ever increasing need for reliable services. Increasingly complex technology created a world of new and exciting possibilities. But developers didn’t adjust the way they approached software development. At least, not straight away – and this caused all sorts of problems.

The complexity of building and running applications grew as the hardware technology shrank and its prices fell, but basically we continued to do the same thing: build great programs, test them until they ran perfectly, and release them into the wild. This made perfect sense, until the time needed to develop, test and deploy software began to take so long that we were looking at months, if not years before we could even begin to think about implementation. By then, software turned out to be increasingly outdated, requirements had drastically changed, and the whole thing had become such a complex patchwork of interdependent processes that even the idea of changing the tiniest part of it would send developers into a depression. Clearly, this called for a new approach.

“Splitting up your monolith in microservices and running them reliably in hundreds or even thousands of containers is in itself a daunting task. Unless, of course, you use a proper orchestration tool.”

Microservices, containers and orchestration

The monolithic approach clearly couldn’t cut it in modern times, so now, we see a shift towards a microservices architecture. The idea is to run a single application as a suite of small services that can be independently planned, coded, built, tested, released, deployed, put into operation and monitored. Those pieces we call microservices: tiny applications that perform only one function, communicate with each other through defined API’s and live in isolated containers where they are guaranteed to work. Together these containers combine into the applications we use on a daily basis.

But there’s a downside too. Splitting up your monolith in microservices and running them reliably in hundreds or even thousands of containers is in itself a daunting task. Unless, of course, you use a proper orchestration tool. There are more ways to do this, but the most popular and effective tool of all is Kubernetes (K8s).

Kubernetes is an open source project. It was originally designed internally by Google (as a cluster manager called Borg), but it is now being maintained and developed by the Cloud Native Computing Foundation (CNCF). CNCF however not only offers a home to Kubernetes. If you look at the immense ecosystem around Kubernetes it’s easy to get lost in all the solutions out there. Their certification program is a tremendous help in selecting the right solutions for a particular job, as CNCF certification guarantees that different solutions comply to certain standards and actually work together. It allows us to weigh different possibilities, features, and the continuity and security aspects of each solution, to create a flexible setup for software release and renewal that fits the purpose of your organisation.

Sign up for the Solvinity Newsletter

Receive the latest news, blogs, articles and events.
Subscribe to our newsletter.
Background Icon
Getting agile

The beauty of working with containers and Kubernetes is that it gives developers a speed and agility that fits in perfectly with a CI/CD (Continuous Integration and Continuous Delivery) way of working. CI/CD requires close cooperation between Development and Operations. This culture, called DevOps, is often challenging to realise within a single organisation, let alone when your Operations is outsourced while Development remains in-house. Solvinity found ways to make this work, called ‘Stretched’ DevOps. Together with CI/CD and an advanced implementation model based on containers and Kubernetes, we call this Integrated Delivery, which is the basis for the Solvinity Secure Managed IT Services you know and love.

As you may have gathered from this story: cutting through complexity like this does not mean that things get necessarily easier. Working with containers (and Kubernetes to rule them all) is an immense improvement over the Waterfall development methods of old. It creates the flexibility you need to build an agile organisation and, together with Integrated Delivery, seriously improves the speed and quality of software development. But it’s not simple. The possibilities are enormous and every day, new projects are started that offer new solutions while raising new questions in the process.

Keeping track of all that, even with help of an organization like CNCF, is a serious challenge. Fortunately, at Solvinity, we love challenges. We visit events like KubeCon and DevOpsDays, follow the seminars and read the documentation so you don’t have to. Want to know what Solvinity could do with Kubernetes for your organization? Feel free to contact us and we gladly tell you all about its possibilities.

Security by Design

Integrated Delivery: delivering predictable, secure and faster functionalities together​

Download the Integrated Delivery White Paper

Want to know how you can maintain speed and flexibility in your software development when you have outsourced IT? Read about our unique software release model ‘Integrated Delivery’.

Background Icon

More articles