Table of Contents
The service mesh approach was conceived to simplify and streamline the development and deployment of microservices-based applications. Replacing monolithic architectures, microservices is an approach—rather than a technology—to developing applications and services, enabling increased agility, flexibility, and scalability. Instead of creating an application as a single, inseparable entity comprising a client-side user interface, a server side-application, and a database, the microservices approach splits up the required functionality into a smaller, loosely coupled collection of independently deployable services.
The microservices architecture introduced a level of complexity that is exacerbated in cloud-native deployments. It requires that developers code and test every service-to-service and service-to-database connection to ensure the optimal performance, reliability, and security of the application’s runtime behavior. However, managing communications becomes increasingly complex in a cloud-native environment where an application can consist of hundreds of services and thousands of instances constantly changing state through dynamic orchestration. Moreover, developers must repeat these resource-intensive and time-consuming tasks for every application.
Addressing these challenges, a service mesh provides a consistent way of seamlessly coordinating a distributed mesh of microservices. Decoupling the application logic from the network communication logic, a service mesh offloads authentication, authorization, encryption, load balancing, rate limiting, service discovery, and logging and tracing from each application. This abstracts those functions as a programmable infrastructure layer running adjacent to each microservice. As a result, deploying a service mesh becomes more valuable as applications scale, providing the “plumbing” for cloud-native applications.
A service mesh:
- Delivers out-of-the-box observability, resilience, routing, scalability, and security
- Allows developers to focus on enhancing business value instead of recreating service connections
- Eliminates the need for language-specific SDKs and tools to manage intra-service communications
Despite being a relatively new technology, more and more organizations are adopting open-source or vendor-provided service mesh solutions. This GigaOm Key Criteria report outlines critical criteria and evaluation metrics for selecting a service mesh. The corresponding GigaOm Radar Report provides an overview of notable service mesh vendors and their offerings available today. Together, these reports are designed to help educate decision-makers, providing critical insights for cloud-native application development.
How to Read this Report
This GigaOm report is one of a series of documents that helps IT organizations assess competing solutions in the context of well-defined features and criteria. For a fuller understanding consider reviewing the following reports:
Key Criteria report: A detailed market sector analysis that assesses the impact that key product features and criteria have on top-line solution characteristics—such as scalability, performance, and TCO—that drive purchase decisions.
GigaOm Radar report: A forward-looking analysis that plots the relative value and progression of vendor solutions along multiple axes based on strategy and execution. The Radar report includes a breakdown of each vendor’s offering in the sector.
Solution Profile: An in-depth vendor analysis that builds on the framework developed in the Key Criteria and Radar reports to assess a company’s engagement within a technology sector. This analysis includes forward-looking guidance around both strategy and product.