Course Overview
The One Day Hack for Containers prepares the IT professionals of all flavours for cloud-native development and deployment. This hack focuses on giving attendees a hands-on experience of working with Docker and Kubernetes. The concept of One Day Hack for Containers is based on attendees working in teams while completing a set of gated challenges that will exponentially boost their knowledge of the brave new world of today’s modern, containers-based cloud-application world. They will do that by leveraging Docker, Azure Container Registry, and Azure Kubernetes Service
Course Content
The challenges are connected – each of them builds on top of the previous one. The attendees will be faced with three challenges in total and will be given a repo containing the source code of the demo application consisting of several microservices developed using Node.js. The challenges are briefly described below.
Challenge 1: Packed and sent to dock
Introduction to containers with Docker will start with the team looking to improve their solution's deployment process. They will get access to the source code of the application. The team will have to verify that everything works by building and testing everything locally. This will be done by building and running one of the API containers and a database container.
Lastly, the team will need to push the container image to their Azure Container Registry in Azure.
Challenge 2: Could we orchestrate this somehow?
The team will be introduced to the concept of orchestration. They will need an orchestrator that will help them to scale on-demand and better utilize their resources. Once they deploy all their services, they should confirm that they can talk to each other and the database. They need to put it all together, connect the APIs with the web application, and use a single URL to access all the APIs, which means all the APIs need to be accessible via a single hostname, but on different paths.
The team will also need to create a resource that will act as a gateway and enable them to reach the application on a single hostname (e.g., domain name or IP address) but on different paths.
Challenge 3: What’s going on with my application?
At this point, everything should be up and running. However, this doesn’t end the lifecycle of a containerized app, and that is why the team should check the health of their solution, optimize it, or even cut the costs of cloud services used for their solution. To achieve that, they will have to add alerts for key metrics and improve the observability of your cluster.