We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.

How to think CLOUD NATIVE using Kubernetes

A conversation about defining and developing cloud-native capabilities using Kubernetes.

CloudScript Technology
January 15, 20207 min read
How to think CLOUD NATIVE using Kubernetes

Definitions

There is no quick and easy definition for what cloud-native means. In fact, there's plenty of overlap between terms and ideologies. At its core, cloud-native is about structuring teams, culture, and technology to use automation and architectures that let you manage complexity and increase speed. And that's where Kubernetes comes in, because with it we can launch ourselves into this new world in a simple, fast, and reliable way.

Adopting Kubernetes is a way to smooth and accelerate the work of your teams.

An important note: you don't have to run in the cloud to be cloud-native. The techniques can be applied incrementally as appropriate and should help ease the transition to the cloud.

The real value of cloud-native goes far beyond the basket of technologies that are intimately associated with it. To really understand where our industry is heading, we need to examine where and how we can make companies, teams, and people more successful.

At this point, we have proven techniques tied to future-facing technologies. Large companies like Google, Netflix and Facebook have poured major resources into the effort, and smaller, more flexible companies are also seeing value in it.

However, there are still few examples of this philosophy being applied outside of the early adopters of the technology. We're still at the beginning of this journey compared to the gigantic IT world.

With some of the early experiments being proven and shared, the following themes are emerging:

More efficient and happier teams — cloud-native tools allow big problems to be broken into smaller pieces for more focused, agile teams.

Reduced dependencies — this is about automating much of the manual work that causes operational pain and decreasing downtime, with infrastructure that self-heals and self-manages. In short, "expect systems to do more for you".

More reliable infrastructure and applications — Automation to handle unexpected events and failures. For example, if a single click of a command or button deploys an application to development, test or production, it can be much easier to automate deployment in a disaster that needs recovery (automatic or manual).

Auditable, visible, and debuggable — visibility inside complex applications is compromised, and the tools used in cloud-native apps provide much more information about what's happening inside an application.

Defense in depth — Today, many IT systems have a rigid outer layer that's different from the inner layer. Cloud-native lets application developers play an active role in creating self-protecting applications.

  • More efficient resource usage — automated, cloud-like ways of deploying and managing applications and services open up opportunities to apply automation algorithms. For example, a Kubernetes cluster orchestrator can automate load distribution across machines, rather than an ops team managing that manually.

This is just the start of a discussion that should be ongoing. There are countless topics still to be addressed, and they will be — stay tuned for the next chapters of this story.

Stay up to date

Get our articles on DevOps, Kubernetes, Platform Engineering and Cloud Native delivered to your inbox.

No spam. Unsubscribe anytime.