Some Basics of Service Mesh
Vishwas N.
Re-Inventing AI Acceleration for Enterprise | Training to be a Frugal Architect | Big Believer in "Product Ecosystem Fit" | Intrapreneur - Startup Swiss Army Knife(someone gave me this title)
What Is a Service Mesh?
Applications may be made more visible, dependable, and secure with the use of a service mesh. Instead of the application layer, these features are offered at the platform layer.
A service mesh is often implemented as a collection of sidecar-shaped network proxies, with application code controlling their operation. The proxies control inter-microservice communication and act as a gateway for adding service mesh functionality. The proxies work together to create a service mesh's data plane, which is managed as a scalable unit from the control plane.
Service meshes have become more and more well-liked as a result of the extensive use of cloud-native apps. A cloud-native application may have thousands of service instances and hundreds of services. These instances are often run under Kubernetes management, are dynamically scheduled on physical nodes, and have an ever-changing state. This greatly complicates service-to-service communication and has a direct impact on how an application behaves during runtime.
?With the help of service mesh technology, it is feasible to control this intricate inter-service communication and guarantee its dependability, security, and overall performance.
Service Mesh Benefits and Drawbacks
Service meshes have certain advantages but also some disadvantages when it comes to controlling communication between services. The following are some benefits of service meshes:
Some drawbacks of service mesh are:
Service Mesh Architecture and Concepts
There is a unique terminology for the functions and components of service meshes:
The component of a service mesh that controls network traffic between instances is called the data plane. The configurations that control the data plane are created and deployed by the control plane. A command-line interface, an API, and a graphical user interface are often included (or may be connected to).
How a Service MeshWorks
Service meshes don't give an application's runtime environment any additional features. Applications need rules to specify how requests are conveyed in any architecture. Because they isolate the logic that controls service-to-service communication to an infrastructure layer, service meshes are distinct from other communication mechanisms (as opposed to individual services).
领英推荐
This is accomplished by integrating a service mesh as a collection of network proxies into an application.
For business-related devices, proxies are frequently used to access websites. Typically, a company's web proxy receives requests for a web page and screens them for security flaws before sending the requests to the host server. Before returning to the user, responses from the page are also forwarded to the proxy for security checks.
Because they operate in addition to microservices rather than as part of them, proxies in a service mesh are also known as sidecars. Within their infrastructure layer, they transfer requests across microservices. The proxies work together to build a mesh-like network.
If you don't have a service mesh, you must program each microservice with the logic that controls interservice communication. This not only wastes a lot of your time since the logic regulating service-to-service communication is concealed inside the services, but it also makes it more challenging to identify communication issues.
Zero-Trust Security and Service Mesh
A major challenge for cloud-native apps is security. A zero-trust strategy is being adopted by many enterprises, which is ideal for a cloud-native environment. The network perimeter is not considered in the zero trust security concept. It needs continual authentication and verification of all communication between application components as well as external communication since it does not trust any entity, even if it is "within" the network.
This is the logic behind all the services in the Clusters before service mesh implementation
This is the logic behind all the services in the Clusters after service mesh implementation
Here are a few ways a service mesh can help implement zero trust security:
A service mesh can help mitigate the following types of attacks:
Some Service Mesh Options for Kubernetes
Here are some of the top service mesh tools you can use to manage communication between microservices in a Kubernetes environment.