Service Mesh – Why It Matters for Distributed Computing
Tuesday April 23, 2019, by Palanisamy Chellappan
Technology fluctuates continuously and swiftly – so much so that we cannot always keep pace with the next new “thing” that will be the succeeding ‘big game’ changer. And without a doubt , one of the coming innovations that you may have not heard about – until now – is service mesh.
For many of us in the technology industry, service mesh is exciting. It is a new concept that promises to be the big game changer for distributed computing. In fact, according to Gartner’s December 2018 Innovation Insight for Service Mesh, “a service mesh improves security, scalability and availability within miniservies and microservices…they are a critical element of cloud-native infastructure in support of digital platforms.”
Service mesh is not yet mainstream and only has a handful of early adopters. So, most likely, service mesh is new to you, and as such, you may be wondering how and why it matters for distrubitng computing. Basically, enterprise applications require a set of services from their infrastructure—load balancing, traffic managing, routing, monitoring, security policies, service and user authentication, and protection against intrusion and DDoS attacks. These services are often implemented as discrete appliances. Providing an application with these services require going to the appliance to implement and configure the service.
This process is possible when managing dozens of monolithic applications, but as these monoliths become modernized into microservices, it is not practical to provision hundreds or thousands of containers in the same way. Monitoring, scalability, and high availability can no longer be provided by discrete appliances.
A solution to this problem is the service mesh. Yet before we dive in any further, let’s first identify what a service mesh is and discuss microservices. Once we have a basic understanding of each of these technologies, we can then identify the benefits that service mesh brings to distributing computing and why it matters.
Service Mesh – What is it?
Service mesh is a new way to deliver services integrated within the compute cluster through APIs and does not require any hardware appliances. The service mesh delivers a pervasive layer of services across all environments that containerized applications and microservices can be connected to as needed. For instance, it delivers business critical services, such as traffic management, security, and observability to container-based microservices applications directly within the compute cluster. Additionally, service mesh ensures that communication among containerized and often ephemeral application infrastructure services is fast, reliable, and secure, and provides key capabilities that include service discovery, load balancing, encryption, observability, traceability, authentication and authorization, and support for the circuit breaker pattern.
Microservices – What is it?
Microservices are an approach to building applications so that each function – or service – within an application can be updated and deleted independently. A microservice breaks down an application to its core functions and enables development teams to rapidly and seamlessly build and deliver new components.
So then, what do service mesh and microservices have to do with one another? Essentially, a service mesh enables microservices to talk to each other. Without a service mesh, overseeing and managing microservices require a lot of resources and man hours for tasks such as load balancing, routing and health monitoring. A service mesh takes care of all that and is implemented in one place in the container. No new hardware is required, and communication is safe, fast and reliable.
The service mesh then enables enterprises to create application features using modular software development across disparate teams of developers, as well as leading to faster development, testing and development of applications. And with the container-based environments, developers have more freedom to create truly innovative apps, and that means enterprises are better able to respond to changes in business needs and market demands.
So, who is service mesh ideal for? Well, organizations like Lyft, Netflix, and Twitter – all of whom are pioneers of microservices – would benefit most from service mesh, as these types of organizations provide robust services to millions of users worldwide, 24/7. By adopting service mesh, they are enabled to quickly and more efficiently solve demanding operational problems.
While a new concept, the future possibilities of service mesh make it an exciting entrée into the market. Yet, as with any new technology, there are challenges that still need to be addressed. For instance, service mesh will add more overhead – but when done correctly, adding a new infrastructure layer to microservices running in the cluster provides enterprises with many benefits like improved end-to-end performance and reliability. Without question, I believe service mesh is poised to be the next big “thing” and a game changer for distributed computing.