Navigating in stormy waters. An approach to traffic management with Istio
Laurentiu Spilca is a dedicated development lead and trainer at Endava, where he leads the development of a project in the financial market of European Nordic countries.
He has over nine years of experience. Previously, he was a software developer building one of the biggest ERP solutions with worldwide installations. Laurentiu believes it’s essential to not only deliver high-quality software but also share knowledge and help others to up-skill. These believes have driven him to design and teach courses related to Java technologies and deliver presentations and workshops. As a Java instructor, Laurentiu delivered thousands of hours of trainings to 3000+ students in the past 10 years, recently being involved in courses at the Mathematics and Informatics Faculty of Bucharest University. During the previous couple of years, Laurentiu has delivered presentations, tutorials and workshops at different important events around the world: in Bucharest, New York, San Francisco, Warsaw, Belgrad, Berlin, and many more.
As systems are more often deployed with Kubernetes, we have started to feel the need for a higher-level tool to help with our microservices integration. Undoubtedly, the flow of data through our system is a paramount component we have to take care of. We already need to be aware that failures occur, and there is no perfection with software architecture. Having this in mind, adding new functionality and testing reliability with no downtime has to be part of our present way of working. Let’s code our way to find out how to manage the flow of data with Istio! The purpose of the presentation is to show the audience how traffic management can be done using Istio over Kubernetes. The value of trafic management is increasing and it is mandatory for multi – microservices systems that need to be both reliable and highly available. The presentation will begin with an introduction to Kubernetes, Istio and main components. After this, the presentation will approach the following examples: 1) Canary deployment and AB testing 2) Fault injection and reliability testing 3) Setting request timeouts and circuit breaking The conclusion will summarize the importance of using the presented approaches with software systems deployed in cloud and orchestrated with Kubernetes.