DCX Technology RadarDCX Technology Radar

Kubernetes

devops
This item was not updated in last three versions of the Radar. Should it have appeared in one of the more recent editions, there is a good chance it remains pertinent. However, if the item dates back further, its relevance may have diminished and our current evaluation could vary. Regrettably, our capacity to consistently revisit items from past Radar editions is limited.
Adopt

Kubernetes has developed into the quasi-standard for container orchestration: Nearly every cloud provider provides managed Kubernetes, and even Docker Enterprise uses Kubernetes. We are running several production systems with Kubernetes and we are using it in concepts such as:

  • "secrets" and "configmaps" to manage configurations for the applications. By updating these resources with an automated configuration pipeline you have a great method for configuration management.
  • Autoscaling of Kubernetes nodes and the usage of "horizontal pod scaling" inside Kubernetes allows elastic scaling
  • The support of managing permissions with OAuth allows you to secure Kubernetes with Keycloak (SSO)
  • Kubernetes extensibility and API can be used for automation and customization. There is a growing ecosystem around extensions, which adds additional features.
Assess

Kubernetes is a container orchestration platform, which supports many infrastructure providers. It allows you to deploy containers and takes care of running, scaling or self-healing your applications based on configurations you provide. It's based on years of knowledge and experience Google gained by using containers.

At AOE, we started Kubernetes in a test environment on bare metal to experiment with it. It's currently used for running AOE internal apps such as dashboards as well as running builds in containers. We also started to use it for upcoming projects to run and manage several services. There are Tools to automate the setup of kubernetes in AWS like Cops. Another helpful tool is Minikube, which allows to test and run kubernetes locally.