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

Roopak Parikh
Platform9

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

October 21, 2020

Conducto is launching a toolkit for simplifying complex CI/CD and data science pipelines, having raised $3 million in seed funding led by Jump Capital.

October 21, 2020

Snyk Intel vulnerability database will be integrated into IBM Cloud security capabilities to enhance security for enterprise workloads.

October 21, 2020

Accurics announced $20 million across seed and series A financing raised in the past six months, with Intel Capital leading the Series A and ClearSky leading the seed.

October 20, 2020

Splunk announced the Splunk Observability Suite, the most comprehensive and powerful combination of monitoring, investigation, and troubleshooting solutions designed to help organizations become cloud-ready and accelerate their digital transformation.

October 20, 2020

Tricentis announced Vision AI, the core technology that will now power Tosca.

October 20, 2020

MuseDev has extended its code analysis platform to deliver bug reports via Github's code scanning UI.

October 20, 2020

Digital Shadows announced the ability to detect exposed access keys.

October 19, 2020

StackRox and Robin.io announced a new partnership bringing together Robin’s application-focused approach to Kubernetes data management with StackRox’s Kubernetes-native security and compliance capabilities.

October 19, 2020

PubNub announced new Chat UI Kits to streamline chat development.

October 19, 2020

Secure Code Warrior announced support for GitHub’s new code scanning functionality in conjunction with a new collaboration with Snyk.

October 15, 2020

Couchbase announced version 2.8 of Couchbase Lite and Couchbase Sync Gateway for mobile and edge computing applications.

October 15, 2020

Kong unveiled the private beta release of Kong Konnect, a full-stack platform for cloud native applications delivered as a service.

October 15, 2020

Sonatype unveiled the Advanced Development Pack.

October 14, 2020

JFrog announced the general availability of a free subscription of its universal, hybrid and multi-cloud DevOps Platform, including industry-leading DevSecOps capabilities offered at no cost.

October 14, 2020

ServiceNow  announced four new external DevOps integrations with Continuous Improvement/Continues Delivery (CI/CD) toolsets.