0345 4506120

Microservices Workshop

Russ Miles' Microservices Workshop

Change is inevitable and the pace of innovation is increasing all the time; are you ready to learn how to make your code stand the test of time? Join Russ Miles and learn the newest techniques in making code that lasts!

Ever experienced that moment where your heart sinks at the words "We just want you to make this one, small and trivial change…"

If you build software, change is an inevitable force in your life and your ability to react to change can be the difference between a killer product and a last-to-the-post flop.

Given that change and speed of software evolution is so critical, why is it that so much software becomes a millstone around yourself and your team's necks, leaving you dreading the next inevitable change that's needed? For over 10 years, the focus has been consistently applied to helping us work in a more agile and adaptable fashion, with far less focus on how to create software that thrives in an agile environment.

As companies are becoming more and more agile, and we see how they can now adapt in order to innovate and compete faster than their competition, software development teams are being forced to maintain and evolve large, monolithic applications at a pace of change that those architectures were never meant to withstand, let alone embrace!

Microservices are a new approach to architecting applications that embrace and thrive on change. They are simple, single-purpose, lightweight architectural components that enable you to deliver software faster. The microservice architectural approach also aims to lead to software that thrives on change while at the same time being secure, performant, and stable.

This hands-on, extremely practical course will teach you how and why to design, deploy and manage micro service based architectures. Using microservices, this course will teach you how to build software that adapts as fast as your business and requirements do.

About the Author

Russ Miles

Russ Miles

Russ Miles is CEO of ChaosIQ.io where he and his team build commercial and open source (ChaosToolkit.org) products and provide services to companies applying Chaos Engineering to build confidence in their Cloud Native, Microservice-based systems on Pivotal Cloud Foundry, Kubernetes and more.


Are you a developer with some experience programming who wants to learn how to build software that adapts as fast as their business does? Then this course is for you!


Learning Objectives

Learn how to:

  • Understand why Antifragile Software is the key to enabling software systems that thrive on change and enable innovation
  • Architect, design, build, deploy and manage antifragile software systems using microservices



Code examples and exercises will be written in Java, so previous experience with Java is recommended, although not mandated as many of the key takeaways will be applicable regardless of your choice of language, framework or platform.

Bring your own hardware

Participants are required to bring their own laptop with Java 7 or higher installed as well as IntelliJ or Eclipse for developing. Please also have Gradle and Maven installed for the software builds.

Course Content

Day 1 - Architecture & Design for Simplicity and Antifragility:

  • Introducing Antifragile Software and Simplicity
  • Defining Microservices in term of their Principles, Benefits and Challenges
  • Understand and explore the forces (stressors) of change on software
  • Applying Simplicity, with O.R.E.
  • Architecting and Designing for Software System Evolution with the Life Preserver tool
  • Organising for concerns and simple components
  • How to collaborate to discover change stressors on your software system
  • Organising components for change

Day 2 - Implementing Antifragile Software with Simple Components, Events & Microservices:

  • Exploring and Managing change-stressor fault-lines between areas of your system
  • Designing software bridges that handle change across fault-lines
  • Applying de-coupling intelligently, balancing flexility and complexity
  • Applying Request-Response, Messaging and Events
  • Designing, when to apply and implement Postel’s Law

Day 3 - Deploying, Running, Testing & Managing Antifragile Software with Microservices:

  • Extracting components into Microservices
  • Building, Deploying and Managing Effective Unix-style Microservice Pipelines
  • Simplifying Microservice Management using Immutable Service Deployments
  • Designing and Implementing Reactive Microservices
  • Applying effective health and monitoring for microservices
  • Designing and Implementing Microservice Failover and Auto-Recovery Strategies using the Circuit Breaker Pattern and Friends
  • Designing and Implementing for Autonomy with Microservice ‘Cells'
  • Enabling Governance and Innovation with Microservices
  • Enabling Variation and Experimentation in Languages and Frameworks through Microservices
  • Testing stressors for failure to avoid failure
  • Testing and Continuous Delivery for Microservices

Privacy Notice

In order to provide you with the service requested we will need to retain and use your contact information in accordance with our Privacy Notice. If you choose to provide us with this information you explicitly consent to us using the information as necessary to provide the request service to you. If you do not agree please do not proceed to request the service from us.

Marketing Permissions

Would you like to receive our newsletter and other information on products and services which we think will be of interest to you by email. We will always treat your information with care and in accordance with our Privacy Notice. You are free to withdraw this permission at any time.


Our Customers Include