Mastering Microservices with Python, Flask, and Docker
Course Introduction
2h 20m

Interested in microservices, and how they can be used for increased agility and scalability?

Microservices is an architectural style and pattern that structures an application as a collection of coherent services. Each service is highly maintainable, testable, loosely coupled, independently deployable, and precisely focused.

This course takes a hands-on look at microservices using Python, Flask, and Docker. You'll learn how Flask can be used to quickly prototype and build microservices, as well as how to use Docker to host and deploy them.

We start by looking at various problems associated with monolithic architectures and how microservices address them. We then move on to designing and building a basic shopping cart system, focusing on each of the microservices that make up the overall system.

If you have any feedback relating to this course, feel free to get in touch with us at

Learning Objectives

  • Obtain a solid understanding of microservices: the benefits, the challenges, and how using microservices differs from a monolithic approach
  • Learn how to design and build microservices using Python and Flask
  • Learn how to deploy microservices using Docker

Intended Audience

This course is intended for anyone who wants to build and deploy microservices using Python, Flask, and Docker.


Python 3.x programming experience is required to get the most out of this course. If you want to follow along with this course, you'll need Python 3.7, an IDE (PyCharm Community Edition - free), and Docker (Docker Desktop).


The complete source code for the project demonstrated within the course is located here:

The repository contains the following 4 projects:

  1. user-service
  2. product-service
  3. order-service
  4. frontend




Hello and welcome to “Mastering Microservices with Python, Flask, and Docker” presented to you by CloudAcademy. In this training, we will learn about Microservices and how Flask helps us to quickly prototype and build microservices. We also learn how to use docker to deploy Microservices.

This course is for anyone who wants to learn Flask and build microservices. As far as prerequisites are concerned, some programming knowledge in any language will help. You need Python 3.7, a Python IDE, and docker to work along with training.

I’m excited to take you through this course. There's a real momentum shift towards microservices at the moment. It’s an architectural style and pattern that structures an application as a collection of coherent services, which means that each service is highly maintainable, testable, loosely coupled, independently deployable, and precisely focused.

Now don’t panic by the terms I just mention, we look into them in a moment. More and more companies are adopting Microservices. Companies like Amazon, Google, Netflix, Twitter, Airbnb, Expedia along with most new startups follow this style of architecture to build their services.

Before we start, let me introduce myself. I’m Saqib, one of the trainers here at Cloud Academy, specializing in DevOps. Feel free to connect with me or the wider team here at CloudAcademy regarding anything about this course. You can email either myself and/or the CloudAcademy team at

Python is an interpreted language, which is easy to learn and quick to prototype. It has been powering many large software architectures around the world. If you’re using Python to build web applications then you’ll likely need a framework to increase productivity. A framework is a code library that makes the developer's life easier when building reliable and scalable web applications, by providing reusable code and extensions for common tasks and operations.

Flask is a lightweight ‘web application framework’ written in Python. It is designed to make getting started quick and easy, with the ability to scale up to complex applications. Flask doesn't enforce any dependencies or project layout. It is up to the developer to choose the tools and libraries they want to work with. Flask is super useful for building Microservices. You can utilize any number of its built-in extensions to design and deploy Microservices at high velocity. It will help you to get your offerings to market fast.

So we take a quick pause here and when we come back, we learn about the Monolithic approach and its problems.

About the Author

Saqib is a member of the content creation team at Cloud Academy. He has over 15 years of experience in IT as a Programmer, with experience in Linux and AWS admin. He's also had DevOps engineer experience in various startups and in the telecommunications sector. He loves developing Unity3D games and participating in Game Jams.