Service Mesh: The Best Way to Scale Enterprise Apps

DZone 's Guide to

Service Mesh: The Best Way to Scale Enterprise Apps

If you need a better way to scale, Aspen Mesh may have a solution for you that avoids the complexity of multiple microservices.

· Cloud Zone ·
Free Resource

Microservices are great for DevOps, but the service-to-service communication these architectures depend on are complex to run and manage at production scale. Enter service mesh: the best way for enterprises to scale, secure and monitor apps. A service mesh is a dedicated infrastructure layer enabling service-to-service communication to be quick, secure, and reliable. If you’re building cloud native applications, you need a service mesh.

After talking to development and operations teams it became clear that microservices are great for development velocity, but the complexity and risk in these architectures lies in the service-to-service communication that microservices depend on. We have taken an application first approach to provide a communication fabric for microservices, called a service mesh. With our supported service mesh DevOps teams have the flexibility and autonomy they desire while providing the policy, visibility and insights into their microservice environment that operations teams demand for production-grade applications.

With this in mind, Aspen Mesh is building an enterprise-grade service mesh because we believe a robust microservice communication fabric is the best possible path to scaling containerized apps whether in the data center or in the cloud (or both). But we also understand the needs and complexity of enterprise production environments. A service-mesh needs to do more than just scale apps; it also needs to monitor and secure them. To that end, we’re building Aspen Mesh on the Istio project, and providing a supported service mesh infrastructure that allows DevOps teams the flexibility and autonomy they desire while providing the policy, visibility and insights into microservices that operations teams demand for production-grade applications.

Advantages of a Service Mesh

Think about your plans for microservices. Maybe you plan to have 10, 50, 100 or 1000’s of services running in your Kubernetes cluster. How do you get all of those services in your new microservice and container environments in an efficient, uniform way?

Do you know who is talking to who and if they are allowed to? Is that communication secure? How do you debug something when it goes down? How do you add tracing or logging without touching all of your applications? Do you know what the performance or quality impacts of releasing a new version of one of those services is on the upstream and downstream services?

A service mesh helps answer those questions. As a transparent infrastructure layer that is inserted between your microservice and the network a service mesh gives you a single point in the communication path of your applications to insert services and gather telemetry. You can do this without requiring changes to your applications.

How Do I Get Started Using an Enterprise Grade Service Mesh?

The concept of service mesh is brand new. In fact, until 2018 was declared “The Year of the Service Mesh” at KubeCon in December 2017, most people had never heard of a service mesh. But, we have been working on this concept in different ways for a while now and are able to offer early access to Aspen Mesh for interested customers.

We are looking for teams on their container journey who are looking to solve real problems with their applications. We need partners who are excited to work with us and understand the value of a strong relationship.

We are currently in early access mode for Aspen Mesh and welcome customers who are interested in working with us in that process. We anticipate full product availability in late 2018.

Join our early access program today.

kubernetes ,service mesh ,istio ,devops ,microservice ,applications ,cloud

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}