Containerization has made microservices deployments simple and easier and the adoption of microservices is increasing day by day. Microservices architecture allows the developers to decouple a big application into smaller units and these smaller units talk to each other using API’s.
Also, each microservice can be deployed by teams individually rather than waiting for the whole application to be developed for deployment.
Managing these microservice on a large scale poses several challenges in terms of service discovery, load balancing, security, and much more. Here is where Istio comes into play.
Istio is a collaboration among three companies, Google, IBM, and Lyft to develop an open cloud service to connect, secure, manage and monitor a network of microservices regardless of platform, source or vendor.
Istio supports the following,
- Traffic management of microservices
- Access policies
- Telemetry data
Here are the main features offered by Istio
- Zone aware load balancing capabilities for HTTP/1.1, HTTP/2, gRPC, and TCP traffic.
- Controlled routing rules and fault tolerance
- A pluggable interface for access policies, rate limits, and quotas.
- Complete visibility of traffic metric inside the cluster.
- Well implemented service to service security.
Currently, the only supported platform for Istio is kubernetes.
Also, you can look at linkerd a similar project by Cloud Native Computing Foundation which offers support for mesosphere DCOS.
How to get started with Istio
You can get started with Istio from here
You can play around with a sample book info application from here
If you are interested in Service mesh tools, look at the list of best service mesh tools for microservices.