If you have enjoyed reading “The Tech Caffeine,” why not refer this to your friend?
👉 Top Five
1️⃣ If you are an engineer who moved into the Engineering Manager role, there is always a dilemma if you should code or not. This article may help you answer that question.
2️⃣ In many designs, product management, engineering, or even venture capital interviews and pitches, you’ll be assessed on a dimension called “product thinking,” sometimes also called “product sense.” Learn the Power of Product Thinking in this article.
3️⃣ Frank A. Krueger has written an excellent article about the Practical Guide to Solving Hard Problems while programming.
4️⃣ Cog is an open-source tool that lets you package machine learning models in a standard, production-ready container. Great to see some efforts around standardizing MLOps.
5️⃣ Dann Luu writes about the importance of simple architecture in - In defense of simple architectures
🤿 The Deep Dive
Service Mesh
A service mesh is a technology that manages service-to-service communication within a distributed software system. Service meshes manage the east-west type of network communications. East-west traffic indicates a traffic flow inside a data center, Kubernetes cluster, or a distributed system.
Service meshes consist of two important components:
Control plane
Data plane
The proxies residing next to the app are called the data plane, while the management components coordinating the behavior of proxies are called the control plane.
A service mesh allows you to separate the application’s business logic from the network, reliability, security, and observability.
Networking and traffic management
A service mesh allows you to perform dynamic service discovery. A sidecar proxy can help you do the load balancing and rate-limiting. It can help you do traffic splitting to perform an A/B type of testing, which can be helpful for canary releases.
Observability and reliability
A service mesh supports distributed tracing, which helps you do advanced monitoring (number of requests, success rates, and response latencies) and debugging. It even can tap service-to-service communication to understand communication better.
Since the service mesh provides health checks, retries, timeouts, and circuit breaking, it improves the baseline reliability of your application.
Security
A service mesh allows mutual TLS among the services, which helps increase the security of service-to-service communication. You can also implement access-control lists (ACLs) as security policies.
A true service mesh/sidecar proxy supports many services and implements L4/L7 traffic policies.
There are numerous service meshes available on the market. The following are a few of them:
You can find several articles on the internet comparing the service meshes listed above.
👀 Watch This
I was fortunate to have contributed to this masterpiece by @Alex Xu & @Sahn Lam.
Here is my personalized signed copy -
If you haven’t grabbed your copy, here you go on Amazon US!