Exploring the Developer Experience with Kubernetes - Part 2
July 22, 2020

Roopak Parikh

One of today's popular platforms for streamlining deployment and upgrades is Kubernetes, the open-source container orchestration system. Let's take a look at some more questions that surround Kubernetes.

Start with Exploring the Developer Experience with Kubernetes - Part 1

What are the top benefits of Kubernetes for developers?

While there are pains and challenges when getting started with Kubernetes, once developers are able to get through it, they start to reap a lot of benefits. Some of the key benefits include the performance and the availability that Kubernetes as a framework gives to applications.

For example, let's take a loan processing application at a bank. The organization wants to scale the application quickly because suddenly the fed has cut the rates and there is a long list of clients waiting for this application to be processed. With Kubernetes, it's easy to scale out without having to do much of anything in the application. The infrastructure provides those constructs.

Another benefit of Kubernetes is how easily developers can configure an application. Kubernetes allows developers to save configurations in a central location and makes sure when changes are made to configurations that applications also change or react accordingly.

Finally, the declarative nature of the Kubernetes API tends to be one of the top features that most developers would list as the things that they like the most about Kubernetes. With a declarative approach, instead of describing steps or instructions that are sequential or procedural in nature, it lets developers specify upfront the desired state of the system, or the desired state of the applications using a very well-defined, declarative set of resources.

This is a very elegant way of describing what they want, how they want apps to be configured, the kind of work that they want to be done, etc. And, it has also enabled new ways of thinking about continuous integration and continuous delivery.

Since Kubernetes is so declarative and the desired state can be specified using these files, it becomes very convenient to put those files in a GitHub repo, and then make a GitHub repo describe the desired state. Developers can then use Git's version control mechanisms to help keep track of version history.

Why is a declarative approach so beneficial?

A declarative approach makes development very repeatable. It's unambiguous. If there is a procedural or sequential way of describing work to be done, it's difficult to debug things when something fails far down the development pipeline.

Sequential ways of working leave developers asking, "where did things fail? What needs to be redone or undone?" Whereas a declarative approach is unambiguous. Developers can declare upfront, "Here's everything that I need. Try your best to converge towards that state."

When using Kubernetes or containers, it is easy to repeat steps on a machine or in a container onto any other environment. Portability is also a key benefit here. With the declarative approach of Kubernetes, developers can run applications the same way they are run on a laptop. This is a huge benefit from other tools where applications are typically distributed and there are people who are using multiple infrastructures to run their applications on.

The developer experience with Kubernetes can be complex and oftentimes feel daunting, but once implemented there are major benefits to reap. From performance, availability, portability and declarative approaches, the grass can be greener on the Kubernetes side.

With diligence and cross-team support, developers can master Kubernetes, overcome challenges and start delivering cloud-native applications with ease.

Roopak Parikh is Co-Founder and CTO of Platform9
Share this

Industry News

May 22, 2024

Mendix announced a partnership with Snowflake to enable the enterprise to activate and drive maximum value from their data through low-code application development.

May 22, 2024

LaunchDarkly set the stage for “shipping at the speed of now” with the unveiling of new features, empowering engineering teams to streamline releases and accelerate the pace of innovation.

May 22, 2024

Tigera launched new features for Calico Enterprise and Calico Cloud, extending the products' Runtime Threat Defense capabilities.

May 22, 2024

Cirata announced the latest version of Cirata Gerrit MultiSite®.

May 21, 2024

Puppet by Perforce announced a significant enhancement to the capabilities of its commercial offering with the addition of new security, compliance, and continuous integration/continuous delivery (CI/CD) capabilities.

May 21, 2024

Red Hat and Nutanix announced an expanded collaboration to use Red Hat Enterprise Linux as an element of Nutanix Cloud Platform.

May 21, 2024

Nutanix announced Nutanix Kubernetes® Platform (NKP) to simplify management of container-based modern applications using Kubernetes.

May 21, 2024

Octopus Deploy announced their GitHub Copilot Extension that increases efficiency and helps developers stay in the flow.

May 20, 2024

Pegasystems introduced Pega GenAI™ Coach, a generative AI-powered mentor for Pega solutions that proactively advises users to help them achieve optimal outcomes.

May 20, 2024

SmartBear introduces SmartBear HaloAI, trusted AI-driven technology deploying across its entire product portfolio.

May 16, 2024

Pegasystems announced the general availability of Pega Infinity ’24.1™.

May 16, 2024

Mend.io and Sysdig unveiled a joint solution to help developers, DevOps, and security teams accelerate secure software delivery from development to deployment.

May 16, 2024

GitLab announced new innovations in GitLab 17 to streamline how organizations build, test, secure, and deploy software.

May 16, 2024

Kobiton announced the beta release of mobile test management, a new feature within its test automation platform.

May 15, 2024

Gearset announced its new CI/CD solution, Long Term Projects in Pipelines.