Platform Engineer Sebastian Nickel talks in an interview with CEO and founder Thomas Hug about teamwork, Kubernetes, Container, Google Cloud, Switzerland as a business location, and Cloud Migration.
For more than 5 years employee at nine with a focus on automation at Container-Platform
Sebastian Nickel has been with nine for over five years and has played a key role in the development of the nine Managed GKE platform. This product is the main product of the Team Platform, where Sebastian Nickel and four other Platform Engineers provide helpful tools and admin services based on the Google Kubernetes Engine. They pay attention to a high degree of automation and have the goal to improve the Kubernetes experience for our customers. They have built a CI/CD pipeline consisting of Gitlab, Terraform, and Helm. This pipeline ensures the fully automated deployment of new customer clusters. Through merge requests, which are checked with the four-eyes-principle, they make sure that no unchecked requests are sent to production, but also that the knowledge spreads within the team. The team mainly uses GoLang for software development as a basis for the automation of the platform.
Why not get Google Kubernetes Engine (GKE) directly from Google?
Direct link to the answer in the video: https://youtu.be/t0tcp4_vQEY?t=125
Google manages the Kubernetes Platform (GKE) underneath the part of nine, which the engineers of nine appreciate, as it is quite a lot of work to maintain a Kubernetes cluster. The Team Platform sees its service in installing software on top, such as monitoring and logging with data storage in Switzerland or its own variant of a distributed file system using Network File System (NFS). Google also offers these services, but they are either more expensive and/or not exclusively in Switzerland. Care is taken to ensure that the installed software is installed according to best practices. This also means that e.g. for tools like Argo CD an additional namespace controller has been written to allow customers to restrict Argo CD's access to individual namespaces. Another advantage of working with nine is to have a contact person for the complicated paths of Kubernetes. Typical questions are how to create a deployment on Kubernetes, how to select settings and where to store e.g. secrets.
Where do the ideas come from, what will be integrated next in nine Managed GKE?
Direct link to the answer in the video: https://youtu.be/t0tcp4_vQEY?t=276
According to Sebastian Nickel, Platform Engineer at nine, these come from several sources. First of all, of course, from the customers themselves. The engineers are in close contact with our customers because they offer support. Depending on the issue, improvements have been made to make the system more customer-friendly, for example by reducing complexity for the customer. Since nine also uses nine Managed GKE for its own infrastructure, internal questions and suggestions for improvement naturally come up. Furthermore, localization is a major factor. To ensure that all data remains in Switzerland, special solutions must often be created to make this possible.
What are the advantages of the Kubernetes variant offered with the Google Kubernetes Engine (GKE)?
Direct link to the answer in the video: https://youtu.be/t0tcp4_vQEY?t=358
The Team Platform was instrumental in evaluating a successor solution for our OpenShift infrastructure. During this evaluation, various cloud providers were evaluated and it was noticed from the beginning that the team liked the Google variant best, as it comes along rather unchanged i.e. vanilla. For that, there is a lot of documentation and problem statements on the Internet. Google uses a software called Borg, on which Kubernetes is based, and has been using it for its own infrastructure for quite some time. This gives them the necessary experience and creates trust. During the evaluation, the support of Google was also tested and the team noticed that you can get through to the Google engineers relatively quickly and get competent answers, which is of course very helpful. An additional criterion for the decision were further cloud services, which are additionally offered, and last but not least Google was the first big provider who opened a data center in Switzerland.
What are the main advantages of running an application in containers?
Direct link to the answer in the video: https://youtu.be/t0tcp4_vQEY?t=464
In a container the operating system (OS) and the application is encapsulated from the rest. This means that all dependencies such as a strong integration of OS and software libraries are no longer present, which simplifies deployment and of course allows the creation of multiple environments such as testing, staging, and production. Furthermore, scaling is easier if Kubernetes has to start additional containers at higher load. This scaling only works if the application supports it. Often applications have dependencies on components that do not simplify or even prevent scaling to a large extent.
Where to start if a baremetal installation has to be migrated to containers?
Direct link to the answer in the video: https://youtu.be/t0tcp4_vQEY?t=540
The most important thing from the point of view of Platform Engineer Sebastian Nickel is that you know your application. This includes questions such as how is the application configured? What dependencies does it have? Does it still have to write to shared storage somewhere? The latter is still often a problem in the Kubernetes world in regards to scaling. Furthermore, it has to be said that not every application is necessarily containerizable. If an application was not built with containerization in mind at all, you should try to outsource this part and not run it in a Kubernetes cluster. If you know how your application is connected and what parts it consists of, the normal first step would be to build Dockerfiles. These files contain instructions on how to create the first normal image. But the step from a normal container to Kubernetes is still a bigger one, because Kubernetes holds much more concepts together. There it can be very helpful to ask nine what the best practices are and how the settings can be configured.
Never miss a new blog post again?