Github projects

Here are some projects which the viewers might find useful.

This project contains the complete source code of the demo used during my talk at the Voxxed Days Singapore 2018 conference. The project demonstrates how we can build highly scalable application using Docker. Azure Kubernetes service is used to provision a Kubernetes cluster in Azure. The project demonstrates use of various technologies related to Docker containers like Docker multi-stage builds, docker compose, Minikube to test the multi-container app using a single node Kubernetes cluster. 
Powershell scripts are used to provision the AKS cluster and also to deploy the application. SQL Server 2017 Linux container is used to manage the database workload. For scaling the services, RabbitMQ is used as messaging layer. Elastic Search and Kibana provide key metrics for measuring business capabilities. For monitoring and alerting, Prometheus is used to measure the cluster health and Grafana provides the dashboards.
Finally for a production like scenario, a managed SQL Server instance replaces the containerised workload. 

This project is similar in terms of features to the Voxxed Days repository. There is one major difference between the two codebases with regards to the monitoring solution. The Azure Bootcamp version uses Microsoft Operations Management Suite (OMS) to monitor the container workloads in the AKS cluster. 

This project was inspired by Jeff Geerling for automating the setting up of Mac Book Pro. It uses Ansible playbook to install most of the tools needed for setting up a brand new Mac. I have been using it quite regularly to update the software as well. While modifying the playbook to suite my needs, I also contributed to am open source project. I added some features to the Ansible role for managing Visual Studio Code extensions.

Inspired by the ease of setting up Mac using Ansible playbook, I was interested in replicating the same approach to setup a new Windows laptop. As of now Ansible does not run on Windows. I had to find an alternative. Luckily there are options available in the form of Boxstarter which allows us to list the software to be installed on the laptop. Behind the scenes it uses Chcocolatey to get the right version of packages. With the two playbooks in place, I can setup Mac or Windows machines within few minutes.