Detailed Course Outline
Challenges
Challenge 1: Microservices and Asynchronous communication.
Choose between Azure EventHub and HDInsight Kafka. Create service/cluster. Create a client machine and test the connection to the cluster. Create a topic and test it by producing and consuming data. Explore the application, design a communication strategy, and create the topic(s) for production. Establishing communication between the Shopping Cart API, EventHubs/HD Insight Kafka (Queue), and Shipping API. Development of the Shipping API. Connecting the Shopping Cart and Shipping API with EventHubs/HD Insight Kafka.
Challenge 2: Containerization.
Writing Docker files for all microservice components. Local testing of the containerized application. Pushing container images to the team’s Container Registry.
Challenge 3: Kubernetes.
Creating a team Kubernetes cluster on the selected cloud, deploying the complete application on the cluster, and testing the deployment.
Challenge 4: CI/CD.
Implementation of the continuous delivery process using GitHub Actions or Azure DevOps tools. Creation of a build pipeline as a combination of code validation (executing unit tests) and creating and pushing new container images to the Container Registry. Creation of a deployment pipeline for deploying new application versions into production.
Challenge 5: Monitoring.
Establishing tools for monitoring the implemented system (Prometheus/Grafana or the native monitoring system of the cloud vendor). Creating dashboards and alert policies.
Challenge 6: CDC Pattern
Researching the Legacy system's database. Implementing Change Data Capture tools. Connecting CDC tools with Kafka. System testing.