I hope you're enjoying "The Tech Caffeine." I would appreciate it if you passed this along to a friend.
👉 Top Five
1️⃣ This week is the 10th anniversary of Chris Richardson’s first talk about microservice architecture. Check out his presentation → 10 years of ‘microservices.’
2️⃣ Andrew Mayne writes about his experiments with OpenAI’s Davinci Model and how he created multiple games without writing a single line of code.
3️⃣ Literate programming is an approach to programming in which the code is explained using natural language alongside the source code. This is different from documentation or code comments. Check out the details here.
4️⃣ The Istio Steering Committee’s decision to offer the service mesh project as an incubating project with the Cloud Native Computing Foundation (CNCF) raises the question: why has it taken so long?
5️⃣ Design-First Approach to API Development: How to Implement and Why It Works
🤿 The Deep Dive
What is API Gateway? Why do I need it?
An API Gateway acts as a single point of entry into a cluster, a data center, or a group of distributed services. In the network topology, it’s often referred to as north-south traffic. Typically, mobile clients fall into this type of network traffic.
It’s also entirely possible that people may use API gateways for communication between two products deployed in the same data center. In that case, the traffic type can be east-west.
An API Gateway takes calls from clients and routes those to appropriate services. While doing so, it can also translate protocols.
There are various benefits of using an API gateway:
Abstraction: An API gateway can abstract the complexity of the microservices underneath and create a uniform experience for the clients
Authentication: An API Gateway can take care of the authentication and pass on the token information to the services
Traffic control: An API Gateway can throttle inbound and outbound API traffic
API monitoring/monetization: If you plan to monetize APIs, an API gateway can help you do that by providing capabilities to monitor API requests/responses by the client
Transformations: An API Gateway can help translate/transform API requests/responses. It can also help with protocol translations.
API gateways typically focus on L7 policies only.
Types of API gateways
From the deployment perspective, there are two ways in which API gateways can be used:
Internal API gateway: Acts as a gateway for a group of services or a product scope
Edge API gateway: Acts as a gateway for outside organizations’ consumers or mobile clients
There are several API gateways available on the market. The following are a few of them: