🚀 Service Evolution: From Monolith to Microservices


Starting a new project? Unless you have a very strong reason, begin with a single node. This approach keeps things simple and allows you to focus on building your core functionality without unnecessary complexity.

Pro Tip: “The first rule of distributed systems design is: Don’t distribute unless absolutely necessary.” – Legendary Software Architect

Premature Optimization: The Root of All Evil

One of the biggest pitfalls in software development is premature optimization. As Donald Knuth famously said:

Read more ⟶

K8S Cheatsheet


Terminologies:

  • k8s can use internally not just docker but also cri-o, container-d etc.,
  • Each pod must be located in the same sever, i.e, it is not possible to spread containers of a pod across multiple servers
  • Node: Is a server / computing unit, pod always runs inside a node
  • Cluster: Contains a bunch of nodes (can be across differnt data centers), but nodes are recommended to stay closer to each other, you need to setup this cluster, it is not automatic
  • Node types: Master node and worker node, master - does load balancing of resources.
  • Master node(AKA control plane) has runtime of k8s, all your code runs on the worker node.

K8s Core components:

Services that run common across nodes: (They are present on each node on k8s cluster)

Read more ⟶

A Quick Intro to Golang


Go is one of the most beautiful and efficient language i worked with so far. If you are an experienced programmer, you can learn to code in Go within few weeks, because the language is fairly small and concise. The purpose of this guide is to introduce the core tools and mechanics in Go and references are provided to dig more.

I wrote some code snippets in Go for additional reference: https://github.com/arvryna/go-guide/

Read more ⟶