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

Roopak Parikh
Platform9

To deliver products that meet customer expectations and keep organizations competitive in today's marketplace, developers are always looking for tools and strategies to give them an edge. One of today's popular platforms for streamlining deployment and upgrades is Kubernetes, the open-source container orchestration system.


But what are some of the common challenges developers face when utilizing Kubernetes for the first time?

What hurdles might even an experience containers pro run into?

And what tools exist to make it easier?

Let's take a look at some questions that surround Kubernetes to shed light on this powerful but sometimes misunderstood platform.

What is it like for a developer to use Kubernetes? If they're new to Kubernetes, what are the challenges that they're going to face?

A typical developer wants to solve his/her business problem which involves developing business logic. Typical development work is performed on their laptop or on a set of machines provided to them as part of a company's lab environment. In this new world where every component is a microservice, it's no longer possible for developers to run everything on their laptop.

Two development models have arisen from the microservices movement. One is where developers are able to run a sandbox of an application somewhere in the labs, and then developers use their laptops to develop and work on things that they want. The other one is where they have labs internally or in the cloud, depending upon the organization and their preferences. 

In either of these development environments, the problem that developers run into is, "I know how my code works. I know my Java.net, or the Go language, or Python language." Now add in containers and Kubernetes and it's a completely different world. They are in a lab setting somewhere. How do they access it?

For a DevOps team or an IT operations team that provides these types of labs to developers, they need to be able to onboard them quickly. So for example, if an organization is running a Kubernetes cluster, or somewhere on a VMware cluster, they need to make sure developers have access to it, but DevOps teams need to have access to it, too.

Who has access to what kind of resources?

How can developers have automatic access to it?

This is where the complexity can get cumbersome. From a DevOps perspective, a Kubernetes environment needs to be baked into operations.

Another challenge that I see developers struggling with in regards to containers and Kubernetes is immutable infrastructure. With immutable infrastructure, developers can no longer go and change configuration files inside a container and be confident it will work. They have to think about another way of configuring it, and this is where Kubernetes is very powerful.

Developers need to make sure that they're able to debut the application and debugging presents similar challenges. How do they know the performance of an application, because it's no longer sitting on their laptop or virtual machine?

There are ways in which it can be done, but they are not very scalable, specifically in this world where there could be hundreds of microservices running at any given time.

What are the challenges a developer experienced in Kubernetes might face?

A trend that is rising with local development environments is the need to organize them. The build system needs to have a good CI/CD pipeline for all these microservices within Kubernetes and should also have some kind of center repository, registry or a local registry to speed up development tasks.

For example, at one point in time, there was a customer of ours who was using AWS' registry. They had a lot of container builds based upon preventive machines, and their builds were very, very slow, and it affected developer productivity.

Recently, they moved to local registries or even local hardware registries, and they have seen a considerable improvement in the timing and the end-to-end productivity for developers.

Go to Exploring the Developer Experience with Kubernetes - Part 2, covering the benefits of Kubernetes.

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

Industry News

January 13, 2022

Infragistics announced the release of Infragistics Ultimate 21.2.

January 13, 2022

Jitterbit acquired PrimeApps, a Turkey-based innovator in low-code application development.

January 13, 2022

Mirantis announced the release of Mirantis Secure Registry (MSR) 3.0, which supports usage across any Kubernetes distribution.

January 12, 2022

DevOps Institute announced its lineup for 2022 events and webinars and plans for two new DevOps certifications.

January 12, 2022

Oxeye unveiled an open-source initiative with the introduction of Ox4Shell.

January 12, 2022

Quali Torque platform is now available to Microsoft Azure users on the Azure Marketplace.

January 11, 2022

CircleCI announced a free tier for CI/CD.

January 11, 2022

GlobalLogic, a Hitachi Group Company, announced availability of OpeNgine version 2.1.

January 11, 2022

The Application Security Division of NTT introduced the next phase of The WhiteHat Vantage Platform, Vantage Prevent, a patented solution that enables enterprises to conduct dynamic application security testing (DAST) at each phase of the development cycle and prevent exploitable vulnerabilities from reaching production.

January 10, 2022

BrowserStack announced the acquisition of Nightwatch.js, the open-source test automation framework.

January 06, 2022

BMC announced new capabilities and integrations across its BMC AMI (Automated Mainframe Intelligence) and BMC Compuware portfolios.

January 06, 2022

ShiftLeft announced that its Intelligent-SCA product added scanning and attackability analysis for JavaScript (JS) and the TypeScript (TS) language to the ShiftLeft CORE platform.

January 06, 2022

Progress announced the latest release of Progress Fiddler Everywhere, its popular web debugging proxy tool.

January 05, 2022

Solo.io announced a new open-source project, BumbleBee, that simplifies the developer experience for building, packaging, and distributing eBPF tools.

January 05, 2022

Forty8Fifty Labs and Old Street Solutions announced that they are partnering in the development and delivery of solutions that simplify the collaboration and use of Atlassian Jira and Confluence.