Kubernetes with our Cloud Engineers
Imagine you are in the supermarket: you go through the shelves, put the products in the shopping cart and then stand in line at the only open checkout and wait. In real life, that’s perfectly fine. Unthinkable for an online store! If 20 people were to access the online store at the same time and there were disruptions as a result, that would be quite annoying. In real life, you simply open several cash registers at the same time and people spread out accordingly.
It works similarly with the servers of an online store. However, if this is a manual process, it’s all pretty annoying: IT has to contact the data center and manually order more servers. After that, the employee in the data center first has to search for free servers, you have to decide on an operating system, the server is started, then the respective software has to be installed on it, and, and, and. Not only would this process take forever, but you would have to repeat this procedure for every single server – a huge effort that no one has the time for.
So what is the solution?
KUBERNETES (k8s for short). Kubernetes is an open source container orchestration platform and is thus a tool that can be used in a cloud to orchestrate (= link or combine multiple individual operations into one process) resources (containers = many small applications working together to enable the features of the overall application, aka microservice architecture). Based on our example with the online store, this means that Kubernetes takes over the scaling: The more people there are in the online store, the more requests have to be processed. Kubernetes then launches new processes within the cluster (the federation of servers) and also distributes these processes evenly across the servers in the cluster. Not only does this kind of scaling make a lot more sense in the cloud, you really only pay for the CPU (processor) and RAM (memory) you actually use. In this way, costs can be optimized depending on the workload. Conversely, Kubernetes can also remove processes from the federation when the workload is lower. Another plus: Kubernetes responds to server failures by simply moving the application to one of the other servers in the cluster without further ado. Thus, Kubernetes offers its users tremendous security in terms of server failures.
But all that glitters is not gold, because its greatest strength is also its greatest weakness: Since Kubernetes is an open source system, it is incredibly versatile and customizable, but on the other hand, it is also complicated because of this. For this reason, it is important to have an expert on your side who is on fire for this, such as our cloud engineers. We talked to Teamlead Florian Fromm about his passion for Kubernetes:
Florian, introduce yourself briefly: Who are you and what do you do at mmmake?
Hi! I joined mmmake at the beginning of the year and currently lead the Cloud Engineers team. Our team helps internal and external customers bring their applications to the cloud. Of course, we use state of the art cloud native technologies such as Kubernetes.
You’ve done a lot of work on Kubernetes. What appeals to you about it?
Today’s microservice architectures are usually so complex that you have to rely on tools like Kubernetes. Without Kubernetes, all of this would simply be much more difficult. But as a cordial macie, a tool like Kubernetes also just excites me, I just have an intrinsic interest in powerful, complex tools like k8s. Figuratively speaking, Kubernetes is like a big box of building blocks to me. With the building blocks of this box (and a little mental effort) you can implement even the most complex microservice architectures, which in turn excites me and makes it fun.
You and some other colleagues were virtually at KubeCon, THE event for Kubernetes – what were the biggest learnings for you?
The range of topics at KubeCon is gigantic, but of course there are some topics that either interest us each personally or are also relevant to our daily (or future) work at mmmake.
A small excerpt of these topics:
- GitOps, especially the announcement of opengitops.dev
- Zahlreiche Container & Kubernetes Security Themen wie z.B.:
- Chaos Engineering
- SBOM (Software Bill of Materials)
- Secret handling methods, such as with Sealed Secrets
- Service Mesh & Networking with eBPF
- Server Side WebAssembly in the Cloud Native Environment
- News, such as a Prometheus certification
You’ve taken a Certified Kubernetes Application Developer (CKAD) certification – what’s that all about?
Exactly, I have already done the CKAD certification, my teammates and a few colleagues from Leipzig are at the CKAD right now. To explain:
- Certified Kubernetes Application Developer (CKAD): This is about how to deploy & run applications in the cluster.
- Certified Kubernetes Administrator (CKA): This again is about how to deploy/operate a k8s cluster per se.
After that, however, we will also tackle the CKA certification. CKAD is just the easier of the two, apart from that the topics of the two certifications overlap at least a little. So it makes sense to do CKAD as a first step and then venture into CKA.Once we have at least three people with CKA in the company, we can also claim KCSP – Kubernetes Certified Service Provider status for mmmake with the CNCF (Cloud Native Computing Foundation, they organize/manage the k8s certifications).That would be the longer term goal for this year and of course membership in the CNCF. This is also a requirement for the KCSP status.
Why did you want to do this certification?
Kubernetes is a central part of our work and also one of my favorite tools in the CNCF area. Apart from that, with such a certification you can of course also prove to the customer that you really know your way around k8s and are not just claiming to.
I also see a little gamification factor there. There are CKAD, CKA, CKS & KCSP … It kind of appeals to me to try to “collect” them all.
Do you need support with your Cloud Native projects? Our experts look forward to hearing from you.