Re-Platforming to Kubernetes in 7 business days

Initializing a Kubernetes Cluster
Using Kubernetes
Working with SAP
Using Terraform
+2

I consider this a career accomplishment and wanted to mention it here.


We are shipping new products in the SAP BTP Cloud environment. The default delivery mechanism there is CloudFoundry, but they also offer Kyma (essentially Kubernetes).


While progressing with our product roadmap and building an actor-based cluster with Akka .NET, I found that BTP CloudFoundry didn't support node to node communication. Uh oh.


I decided to dive in. Over 7 business days, I:


  • Got myself up to speed on Kubernetes concepts (I highly recommend audiobooks at 1.5x while walking 😆)
  • Containerized our .NET apps
  • Automated the deployment of a Kubernetes environment within BTP via Terraform (sub-accounts, permissions, entitlements, environments, BTP services bindings and associated secrets and volume mounts)
  • Worked with the SAP terraform provider team to raise issues (it's a beta product as of now)
  • Created Kubernetes deployments, services, and API gateways
  • Kept developers productive by doing it all in parallel with our CloudFoundry environment, refactoring code and extending it to accommodate both via dependency injection
  • Ensuring the local development experience remained strong by setting up VS container tooling to work well and allowing the use of user secrets rather than files when operating within a container.

As a result, our product delivery capability is massively accelerated, and we lost almost no developer productivity during the move. One of my proudest technical achievements to date.