Stefan Kecskes

Never stop learning, because life never stops teaching

Data Modeling

Did you know that the efficiency of your application hinges significantly on how you model your data? Most backend software engineers, including myself for many years, don’t think much about data modeling. We understand the basics of SQL and ORM, know a few CRUD operations, and ensure that data is stored and retrieved correctly and that relationships between tables are maintained. Often, we leave the intricate details of data structures and performance to the DB Admin team, assuming that upscaling servers will solve everything.

Using Volumes in Kubernetes

Volumes in Kubernetes are used to store data used by our applications. So that concept is very similar to volumes in docker containers. But there are some subtle differences, as always in life; nothing can be simple. :) There are many types of volumes in Kubernetes, and in this post, we will group them by properties and see the some of the most common types. Like with docker, we will group them to local and remote volumes.

Interviews these days...

Interviews these days… Interviews are the dreaded part of the job search process. They can be nerve-wracking, stressful, and sometimes downright bizarre. Only software engineers will understand what I am talking about. What if I could show how conversations on interviews feel to non-software engineers? Let’s explore some hypothetical scenarios where interviews are conducted in a typical way for software engineers. If Job Hunters were interviewed like Software Engineers Interviewer: Welcome, and thank you for joining us today.

Declarative Kubernetes

Declarative Kubernetes With docker, we used docker run ... for each docker instance. We came at some point to situation where our commands became too long with many parameters or that running the same command again and again was time-consuming and mroe error-prone. That is where stopped using imperative approach and started to use declarative approach with docker-compose yaml files. Same is with imperative approach using kubectl .... as I showed you in the previous blog post about Kubernetes basics.

Kubernetes basics

Kubernetes basics For some time there were two great tools called DockerSwarm and Kubernetes, both trying to achieve similar goals, to be orchestration tools for containerized applications, but at some point it was clear that one of them became more popular among developers and became an industry standard. We could speculate saying that developers are lazy, and they don’t want to write complex yaml files for their deployments, but the truth is that Kubernetes is more flexible and extensible tool, provides more mature features, like self-healing, rollouts and rollbacks, secret management, auto-scaling and I mean really large scale applications, adoption by big companies like Google, Microsoft, Amazon, IBM, etc.