The combination of Containers and Kubernetes has emerged as a de-facto standard for packaging, deploying and orchestrating applications. However, developers don't want the world to remember them as YAML engineers! Jokes apart, the (harsh?) reality is that Kubernetes app development workflows and specifications are dominated by YAML config which become harder to manage and maintain over time. Solutions such as Helm, Kustomize etc. help relieve some of the pain, but at the end of the day, they too are YAML-centric.

What if you could replace YAML with good old code - the same way you write your applications? Well, cdk8s (short form for Cloud Development Kit for Kubernetes) is an open-source CNCF project, that you can use to define "Kubernetes applications and reusable abstractions using familiar programming languages and rich object-oriented APIs"

Get an overview of cdk8s and it's workflow, how to define your first cdk8s application and building reusable components called "constructs". You will also see "cdk8s in action" with some live-coding and demos!


Outline/Structure of the Talk

This will be a fast-paced talk which will use a few slides to introduce the concepts following which, we will be spending our time in the IDE (exploring Go code) as well as demos.

  1. Introduce the problem statement - "yaml overload"
  2. Overview of cdk8s (Cloud Development Kit for Kubernetes) and it's value proposition ("the why")
  3. Building high level abstractions using cdk8s-plus library
  4. Live-coding and demos

Learning Outcome

As I called out earlier, the session is short (20 mins) and fast-paced. The attendees can expect to:

  1. Understand the concept of "Infrastructure-Is-Code" in the context of Kubernetes
  2. Use Go to write infrastructure code using cdk8s and cdk8s-plus library
  3. Learn about an end-to-end scenario of how to practically use cdk8s to define and deploy apps to a Kubernetes cluster

Target Audience

Software Engineers, DevOps Engineers, SREs, Architects

Prerequisites for Attendees

  1. Would be nice (not mandatory) for attendees to have familiarity with Kubernetes and how to deploy simple applications to Kubernetes (for e.g. using Deployment resource) with YAML based config.
  2. Although I will be using Go (aka Golang), the concepts are easily transferrable to any programming language, hence this should not be a concern.
schedule Submitted 2 weeks ago

Public Feedback

comment Suggest improvements to the Author
  • Leena S N
    By Leena S N  ~  14 hours ago
    reply Reply

    Hi Abhishek,

    Thank you for submitting the proposal. cdk8s looks very interesting.

    In the outline, you mentioned "live demo" as the last item. I assume that the idea is to jump to the demo at the beginning itself (say within 5 minutes or so) to make sure that the demo is indeed completed within 20 minutes.



    • Abhishek Gupta
      By Abhishek Gupta  ~  12 hours ago
      reply Reply

      Hi Leena, thanks for checking. Yes, the demo will begin well in time for it to wrap up in the allotted time. Having said that, I do want to emphasize that I will be spending majority of the time in IDE (since the topic warrants that), and showing things "in action". So the "live demo" part is going to percolate throughout the session, as opposed to just the last 5 mins.

      Let me know how that sounds, and if you've any feedback.

      And yes, cdk8s is pretty interesting! :)