This workshop is based on the material published in The DevOps 2.1 Toolkit: Building, testing, deploying and monitoring services inside Docker Swarm clusters.
The workshop will go through the whole microservices development lifecycle. We’ll start from the very beginning with architecture definition and design. From there, we’ll move on to requirements, technological choices and development environment setup, through coding and testing and then all the way to the final production deployment. We won’t stop there. Once our new services are up and running, we’ll see how to maintain them, scale - based on resource utilization and response time, and recover during failures. We’ll try to balance the need for creative manual work and the need to automate as much of the process as possible.
The goal will be to design a fully automated continuous deployment pipeline. We’ll see how microservices fit into a continuous deployment pipeline, explore immutable containers concepts and, finally, understand why the best results are obtained when those three are combined into one unique framework.
During the workshop we’ll explore tools like Docker, Docker Swarm, Docker Compose, Jenkins, HAProxy and a few others. We'll explore the practices and tools required to run a Swarm cluster. We'll go beyond a simple deployment. We'll explore how to create a continuous deployment process. We'll set up multiple clusters. One will be dedicated to testing and the other for production. We'll see how to accomplish zero-downtime deployments, what to do in case of a failover, how to run services at scale, how to monitor the systems and how to make the system heal itself. We'll explore the processes that will allow us to run the clusters on a laptop, as well as on different cloud providers.