Microservices

Visualizing the Istio Service Mesh using Kiali

Kiali lets you monitor and visualize the Istio Service Mesh from within a single user interface. Kiali lets you view configurations, monitor traffic flow between services and analyze traces. It provides visibility into features likes service health, request routing, circuit breakers, request rate, traffic flow, error rate and more.

Handling Service Timeouts using Istio

When you encounter latency with your service communication and you are not sure what the root cause is, it is a preferred approach to just not wait for the response. Implementing a timeout strategy between your service to service communication over the network is critical. Istio makes it pretty simple to implement this functionality within your service mesh.

Resilient Microservices with Istio Circuit Breaker

Circuit Breaker is a design pattern to create resilient microservices by limiting the impact of service failures and latencies. One of the primary goals of the Circuit Breaker pattern is to handle failures gracefully so that no cascading failures occur. In a Microservice landscape, failing fast is critical. Circuit Breaker does a great job in protecting the service from a heavy load.

Istio Circuit Breaker with Outlier Detection

Outlier Detection is an Istio Resiliency strategy to detect unusual host behavior and evict the unhealthy hosts from the set of load balanced healthy hosts inside a cluster. It automatically tracks the status of each individual host and checks metrics like consecutive errors and latency associated with service calls. If it finds outliers, it will automatically evict them.

Istio Service Mesh Data Plane

The Istio Data Plane is primarily comprised of the Envoy proxies which are attached as dedicated sidecars to each application instance. Istio Data Plane intercepts all incoming(Ingress) and outgoing(Egress) network traffic. This and gives us the ability to apply all the features at this layer, without polluting the application code.

Eight Fallacies of Distributed Computing

The Eight Fallacies of Distributed Computing are a set of assumptions that developers make while designing Distributed Systems which might backfire and cause additional work and system redesign in the long run. Designing Distributed Systems is challenging and being aware of these eight fallacies will help you in architecting your systems better.