Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Modernize Application Development with Highly S...

Modernize Application Development with Highly Scalable Architecture using Docker and Azure

Slidedeck from the presentation done at Global Azure Bootcamp Singapore event held on 21st April 2018. The talk demostrated the end to end workflow of containerizing an application for managing Tech Talks. Using Docker multi stage builds and docker compose, the multi-container app was tested locally on a single node Kubernetes cluster using Minikube. The demo was scaled to Azure cloud using managed Kubernetes instance using Azure Container Service (AKS). Scalability features were added using messaging layer with RabbitMQ. ElasticSearch with Kibana was used to build a self service UI for a denormalised representation of data and for visualisations Kibana provided a real time dashboard. The demo concluded with incorporating the Container Monitoring Solution (OMS).

Nilesh Gule

April 21, 2018
Tweet

More Decks by Nilesh Gule

Other Decks in Technology

Transcript

  1. - - - - - Modernize Application Development with Highly

    Scalable Architecture using Docker & Azure - Nilesh Gule
  2. Aha, that tweet! Wow, never knew the bot could do

    chit-chat #GlobalAzure #GABSG #Singapore ” “ A Saturday well spent! Love Azure #GlobalAzure #GABSG #Singapore” “ Your tweet could get you some digital give-away in today’s closing session.. But wait, do use hash tags #GlobalAzure #GABSG
  3. Tell us or ask us.. Show us some love through

    your feedback, or ask questions to the experts around you… http://bit.ly/GABQs We will monitor this through-out the day and we’ll try to answer questions asked. If we are not able to answer questions due to volume, we will arrange meetups to help you in areas of your interest
  4. Agenda - Managed Kubernetes cluster (AKS) on Azure - State

    Management with Persistent Volume - Scale using Messaging - Index data using ELK - Monitor containerized workloads using OMS - Containerize Apps with Docker - Container Orchestration using Kubernetes (Minikube)
  5. Kubernetes Open-source system for automating deployment, scaling, and management of

    containerized application across clusters of machines Basic Objects - Namespace - Pod - Volume - Service Controllers - ReplicaSet - Deployment - StatefulSet - DemonSet
  6. Persistent Volumes Node1 Node 2 Node 3 Node1 Node 2

    Node 3 Node1 Node 2 Node 3 Node1 Node 2 Node 3 Without PV With PV
  7. References Blog - https://www.handsonarchitect.com Demo code Github repo - https://github.com/NileshGule/ABC2018

    EshopOnContainers reference app (EventBus, CQRS) - https://github.com/dotnet- architecture/eShopOnContainers OnlineStore reference app - https://github.com/mirfanmcs/OnlineStore Azure Interactives - https://azureinteractives.azurewebsites.net Docker getting started - https://docs.docker.com/get-started/ Docker Compose V3 - https://docs.docker.com/compose/compose-file/#build Docker Multi-Stage builds - https://docs.docker.com/engine/userguide/eng-image/multistage- build/ Monitor AKS with Log Analytics - https://docs.microsoft.com/en-us/azure/aks/tutorial- kubernetes-monitor Kubernetes Basics - https://kubernetes.io/docs/tutorials/kubernetes-basics/ Twelve Factor App - https://12factor.net
  8. Q&A