Microservices in Azure Hackathon (MCSAZ-HACK) – Outline

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.