Istio on Kubernetes: Enter the Service Mesh
For Kubernetes-experienced Developers, hands-on with Istio Service Mesh
The first generation of microservices was primarily shaped by Netflix OSS and leveraged by numerous Spring Cloud annotations sprinkled all throughout your business logic. The next generation of cloud native apps and microservices will leverage sidecars and a service mesh.
In this session, we will give you a taste of Envoy and Istio, two open source projects that will change the way you write distributed applications on Kubernetes and OpenShift. Istio allows you to deal with traffic shaping, network fault-injection (chaos engineering), smart canary deployments, dark launches, and observability.
This session is for application architects and experienced developers who are ready to take their cloud native microservice skills to the next level, potentially increasing deployment frequency of your cloud native apps from weeks to days to minutes.
What you'll learn-and how you can apply it
In this session, our mission is to get you hands-on quickly with Istio Service Mesh on top of Kubernetes/OpenShift where we focus on the following: - Installation into a Kubernetes cluster - Deploying containerized apps/microservices with the sidecar - Observability with Grafana/Prometheus/Jaeger/Kiali - Traffic Shaping - Smart & Dark Canaries - Chaos Injection - Circuit Breakers
This training course is for you because...
You are an experienced Kubernetes/Openshift application architect or senior developer interested in increasing deployment frequency of your cloud native apps from weeks to days to potentially minutes.
- Attendees should have attended Safari Live Online training course “9 Steps to Awesome with Kubernetes”, or have significant hands-on experience with Kubernetes/OpenShift with an understanding of Linux containers, Pods, Deployments, Services, Live & Ready probes, etc.
- You can review the slides for 9 Steps to Awesome at bit.ly/9stepsawesome to see if your skills are aligned. The exercises for that course are available on github at https://github.com/burrsutter/9stepsawesome.
- Local machine setup steps are described here: http://bit.ly/istio-tutorial and here: https://github.com/redhat-developer-demos/istio-tutorial/blob/master/documentation/modules/ROOT/pages/1setup.adoc
- You must be a cluster administrator to perform the Istio installation and configuration, minikube or minishift are the best options though they require substantial RAM and CPU to insure a smooth running.
About your instructor
A lifelong developer advocate, community organizer, and technology evangelist, Burr Sutter is a featured speaker at technology events around the globe—from Bangalore to Brussels and Berlin to Beijing (and most parts in between)—he is currently Red Hat’s Director of Developer Experience. A Java Champion since 2005 and former president of the Atlanta Java User Group, Burr founded the DevNexus conference—now the second largest Java event in the U.S.—with the aim of making access to the world’s leading developers affordable to the developer community. When not speaking abroad, Burr is also the passionate creator and orchestrator of highly-interactive live demo keynotes at Red Hat Summit, the company’s premier annual event.
The timeframes are only estimates and may vary according to how the class is progressing
Segment 1: Introducing the Istio Service Mesh (50 minutes)
- Instructor will dive into the challenges associated with microservice architecture as well as managing Kubernetes-based application deployments at scale. A series of demonstrations will illustrate several of the key capabilities provided by Istio over and above a base Kubernetes/OpenShift cluster.
- Participants will learn how the Istio Service Mesh can fundamentally change the way they build distributed applications (aka microservices) on top of Kubernetes/OpenShift.
- Q&A (10 minutes) - allowing for some time for attendee setup/configuration support
Segment 2: Observability (10 minutes)
- Instructor will demonstrate service mesh observability capabilities such as Grafana, Prometheus, Jaeger and Kiali provide deeper insight into how an application is behaving and performing
- Participants will learn how to monitor their cloud native applications and containerized microservices
Segment 3: Traffic Shaping - Simple Routing (15 Minutes)
- Instructor will demonstrate Istio's ability to modify end-user requests and traffic flow, allowing for incremental introduction of code changes into a production environment.
- Participants will learn how to use Istio's DestinationRule and VirtualService capabilities
- Break (10 minutes)
Segment 4: Smart & Dark Canaries - Advanced Routing (25 Minutes)
- Instructor will demonstrate Istio's more advanced routing capabilities for even smarter canary rollouts and dark launches
- Participants will learn how to make routing decisions based on HTTP headers, allow for very fine-grained code change rollouts
Segment 5: Chaos Injection (20 Minutes)
- Instructor will demonstrate Istio's ability to inject network faults and delays amongst your distributed application components to see how they behave.
- Participants will learn how about how distributed applications fail
Segment 6: Circuit Breakers (30 Minutes)
- Instructor will demonstrate Istio's network-level protections of circuit-breaking, pool ejection and retries.
- Participants will learn the advanced techniques for adding robustness and resilience to their distributed application architecture.
Segment 7: Managing Egress (10 Minutes)
- Instructor will demonstrate how Istio address egress (pod to outside world) network traffic
- Participants will learn why egress matters and how to open the appropriate channels only when necessary.