Database in K8S or outside?

My (ordered) recommendation:

0) If I can use a Database-as-a-Service in my project, I do it. I love to delegate the most difficult problems to my cloud provider!

1) No DB-as-a-Service, I would go with a separate Kubernetes cluster for your database.

I do not mind extra MB and CPU for running a K8S master, if I can have a consistent API for all my infrastructure. Pinning your DB instances to the nodes, give you a-like-VM experience. I treat here the k8s as my distributed init. Why separated? You might want to use the newest k8s for running your app, the databases are more fragile, they do not like changes.

2) If not K8S, a separate VM/VMs, but, you know, life is too short for provisioning your machine with ssh, ansible, or salt.

3) You can as well go with DB in K8S with persistent volumes (ofc). If you do not have a lot of data, you can go pretty far with it.

Notice: you MUST (RFC2119) understand the consequences of such a decision. It also depends on your cost of the downtime, SLA, your backup/recovery strategy, budget, …, and the sanity of your cloud provider. You will not die immediately if you do that.

To sum up. The persistence is hard, it did not get easier while we got excited with K8S. In onCloud, we delegate it. OnPremise, we have to cope with it and take extra care of our SQL or noSQL databases.

There is hope. We have new databases, e.g., CockRoachdb or FaunaDB, that are more resilience and are better in hiding the complexity of the data replication/clustering (see Jepsen analyses). Who knows. We might get to a point, when we are not afraid to run databases even on the spot instances ;).

ps. Regarding running your own database on Azure, they like to restart your machines. The MS cloud will increase the speed of learning how to build your own robust database setup.

 

AKS GA? Is it the right time to start? August update.

Here are things that still make my live hard on AKS. Although the points from my previous post hold. these ones are the most annoying at that moment (August, AKS 1.10.3 and 1.9.6, West Europe Region):
… 

 

When google localization drives you nuts

As a software developer, you are not going to find anything unless you use google.com.
… 

 

What I wish to know before starting with Comosdb on Azure?

This time only in Polish:

Arykuł na Azure User Group FB zainspirował mnie do spisania co chciałbym wiedzieć zanim zacząłem pracę z Cosmosdb.

… 

 

AKS GA? Is it the right time to start?

TL;DR; Wait 1-2 months more. It is a life on a bleeding edge. Some bugs lurking. If you want to start now, it is absolutely possible. We are for the last 2 months fully on AKS with our production (API, SaaS, and training of Machine Learning models) in SMACC.io. How was it? I got few white hairs.

Feel to be warned about:

… 

 

Keeping up with changes in Industry

My current approach, it changes over my career time, is quite simple:
… 

 

Podcast on people skills and career management

Inspired by a discussion on self-development with my colleague, I want to share a brilliant learning resource (so far my all-time favorite) – manager tools and career tools podcasts by Mark Horstman and Mike Auzenne. Mark and Mike teach every week how to manage people, build relationships with coworkers, bosses and directs, choosing communication style, how to manage your career, and give feedback (you can find a good summary on the wikipedia).
… 

 

Tech Continuous Delivery Katas for Test Engineers

Below, you find a list of mini projects/KATAs for improving technical skills. I have created the list for students of a post-graduate course on software testing to help them to learn on their own at home.

It is Work-In-Progress :).

… 

 

Pierwsze kroki dla świeżo upieczonego Scrum Master-a

Kolega dostał propozycję pracy jako Scrum Master. Poprosił mnie o radę jak przygotować się do tej funkcji. Moja rada: pierwszym krokiem jest dogłębne zrozumienie DLACZEGO scrum. W tym celu, najlepiej sięgnąć do źródeł.

… 

 

Make your command-line awesome

I cannot believe, but there are still people that do not use plugins framework for their command line.

If you are one of them, you need just 15 to 30 minutes to make your command-line superhero-efficient. Auto-completions (ssh, Makefile,…), better themes, look&feel, effortless jumping between directories you visited… You can impress your colleagues and get the job done faster.
…