Managing Microservices at Scale 🚀

Hans Kristian Flaatten

Fredrick Myrvoll

Half-day workshop - in English

Microservices describes the promised land where each service can be implemented completely independent of any other service using any programming language and any framework? But is that even possible? How do we ensure that all services are secure and protected? How do we make sure we can know what is going on inside and between the different services? How do we ensure propper handling of errors when communicating across multiple services? How do we trace errors back to the service that caused it?

In a traditional microservices environment these questions must be solved individually by each service or require the use of several libraries and suddenly your "micro"-service wasn't quite as micro and you most certainly can no longer use the programming language or framework you want any more.

What if there was a better way of managing all these microservices and be able to preserve their individuality and without having to bundle all of the complexity into the code?

The workshop will cover the following:

* Setting up the Istio Service Mesh on Kubernetes

* Deploying our all of the individual microservices required for our webshop application

* Routing traffic with the Istio Ingress Controller

* Monitoring performance with Grafana

* Observing traffic flow with Kiali

* Distributed Tracing with OpenTracing and Jaeger

* Request Routing and Canary Deployments

* Fault Injection and Rate Limiting

* Service Isolation Using the Istio Mixer

* Securing all communication with mutial encryption (mTLS)

What you will need to bring to the workshop:

* A laptop

* Enthusiasm 😅

Nice to have

* Basic understanding of how microservices communicate and are deployed

* Basic understanding of containers and Kubernetes 

Primarily for: Developers, Tester/test leads, Architects, Security professionals

Participant requirements: Just their laptops