Apply some chaos engineering by throwing in some HTTP errors or network delays. Understanding failure scenarios is a critical aspect of microservices architecture (aka distributed computing)
Download the ebook "Introducing Istio Service Mesh for Microservices" for FREE at https://developers.redhat.com/books/introducing-istio-service-mesh-microservices/.
You can also run this tutorial on your machine, visit http://bit.ly/istio-tutorial.

Steps
Fault Injection
Install microservices
Before we start this scenario, we need to deploy all microservices (customer, preference, recommendation[v1:v2]).
There's a script called install-microservices.sh
that will
- Checkout the source code from https://github.com/redhat-developer-demos/istio-tutorial
- Create recommendation:v2
- Run
mvn package
on all projects - Create a docker image
- Deploy the microservices with the sidecar proxy
Execute this script: ./install-microservices.sh
The script will take between 2-5 minutes to complete. Don't worry if you see error messages.
When the scripts ends, watch the creation of the pods, execute oc get pods -w
Once that the microservices pods READY column are 2/2, you can hit CTRL+C
.
Try the microservice by typing curl http://customer-tutorial.[[HOST_SUBDOMAIN]]-80-[[KATACODA_HOST]].environments.katacoda.com
It should return:
customer => preference => recommendation v{1:2} from {hostname}: 1