I am super excited to be presenting at the O’Reilly Software Architecture 2019, San Jose today. Please join me at 3 PM in Room 210 D/H to learn about building a scalable microservice architecture with Envoy, Kubernetes, and Istio.
Istio
Smart Pipes and Smart Endpoints with Service Mesh
Smart endpoints and Dumb Pipes has been one of the design principles for microservices during the last decade. Responsibility of the network is to just transfer messages between Source to Destination. Responsibility of microservices is to handle Business logic, transformation, validations, and process the messages.
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.
Chaos Testing your Microservices with Istio
Chaos Testing is a practice to intentionally introduce failures in your system to test the resiliency and recovery of your microservices architecture. The Mean Time to Recovery(MTTR) needs to be minimized in the current modern day architectures. Hence it is beneficial to validate different failure scenarios ahead of time and take necessary action items to stabilize the system and make it more resilient.
Retry Design Pattern with Istio
Retry Design Pattern states that you can retry a connection automatically which has failed earlier due to a network exception. Istio provides a transparent approach of handling application retires in case of such intermittent network errors.
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.
Microservices Journey from Netflix OSS to Istio Service Mesh
Netflix OSS is a set of libraries & framework that Netflix open sourced to solve the issues with designing distributed systems at scale. In this blog post, you will understand the issues with the Netflix OSS libraries and why organizations are adapting the Sidecar Design pattern and Service Mesh technologies.
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.
Istio Service Mesh Control Plane
Istio is a very popular Service Mesh Framework which uses Lyft’s Envoy as the sidecar proxy. Service Mesh gives you the freedom of not having to worry about the service to service communication as part of your application code. Instead of bloating your microservice with similar functionalities, you can let the Service Mesh handle that complexity for you.
Istio 1.1 – The Enterprise Ready Service Mesh
Yesterday Istio 1.1 was released which primary focuses on addressing the performance and scalability issues which organizations bumped into running large clusters in Production environment. There are a number of improvements to both the Data Plane & Control Plane to make it more efficient and also significant improvements to the overall product.
CNCF Cloud Native Landscape and Trail Map
The Cloud Native Ecosystem is constantly evolving and continues to grow at a fast pace. The usage of Cloud Native Technologies in Production has tremendously increased during the recent past.
Simplifying Microservice Architecture with Envoy and Istio
Microservices are complex and building a scalable and resilient Microservice architecture is challenging. By using Kubernetes, Envoy and Istio you can reduce the complexity associated with your services.
Istio 1.0 – The Production Ready Service Mesh
Istio 1.0 was released today – indicating that all the core features are now ready for Production use. The growth of Istio has been tremendous over the past few months and it has seen wider adoption from the developer community.
Sidecar Design Pattern in your Microservices Ecosystem
The sidecar design pattern is gaining popularity and wider adoption within the community. Building a Microservice architecture that is highly scalable, resilient, secure and observable is challenging. The evolution of Service Mesh architecture has been a game changer.
The Rise of Service Mesh Architecture
In this blog, I will explain the concept of Service Mesh, why it is needed for your cloud native applications, the reason of its popularity & incredible growth/adoption within the community. Microservices have taken the software industry by storm and… Read More ›
Automate Kubernetes and Istio Environment Setup
In this article, we will create an automated script to enable developers to work in Kubernetes and Istio environment. So basically once you run this script you will have a functional development environment set to get started with your development work.