IEEE Services 2019 Tutorials
DevOps, Microservices, & Containers - The Perfect Storm

Tutorial 1: DevOps, Microservices, & Containers - The Perfect Storm

Morning session, Monday July 8
9:45 - 12:30
Location: Sala Napoleonica Main, Universita' degli Studi di Milano

This tutorial will give attendees first hand experience in building a microservice and deploying it as a container on Kubernetes using DevOps practices and methods. An overview of DevOps culture and microservice architecture will be presented as a backdrop to the hands-on exercise. Attendees will build a simple Python Flask microservice using Test Driven Development techniques and run it locally. Then we will introduce the concepts of Docker and wrap that service in a Docker container and re-run our tests proving that the behavior has not changed. Using Jenkins and minikube, we will set up a CI/CD pipeline and deploy the microservice to a local minikube Kubernetes cluster. Finally we will add persistence to our microservice and deploy a Redis service in our Kubernetes cluster for our microservice to use showing how to use secrets for storing sensitive information like database credentials. The tutorial will switch between lecture and lab several times as new concepts are introduced and then quickly demonstrated and implemented in the hands-on exercise. Attendees will come away with a good understanding of how modern software is delivered using DevOps tools and practices with a programmable containerized infrastructure like Kubernetes.

Background Required

This tutorial is intended for those with little knowledge of DevOps but some software development experience is needed preferably in Python or other high level language. Attendees will need a laptop, preferably Mac, with at least 4GB of memory (8GB recommended) to run Docker and minikube.


John J. Rofrano is a Senior Technical Staff Member and DevOps Champion at IBM T.J. Watson Research Center where he leads a variety of research projects exploring the use of AI and Machine Learning for improving Cloud Migration, DevSecOps, and AI-Ops. He also teaches a masters course on DevOps and Agile Methodologies at NYU Courant Institute, and has authored numerous patents, papers, and two books.