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!