Book Image

Hands-On Microservices with Django

By : Tieme Woldman
Book Image

Hands-On Microservices with Django

By: Tieme Woldman

Overview of this book

Are you a Django developer looking to leverage microservices to create optimized and scalable web applications? If yes, then this book is for you. With microservices, you can split an application into self-contained services, each with a specific scope running asynchronously while collectively executing processes. Written by an experienced Python developer, Hands-On Microservices with Django teaches you how to develop and deploy microservices using Django and accompanying components such as Celery and Redis. You'll start by learning the principles of microservices and message/task queues and how to design them effectively. Next, you’ll focus on building your first microservices with Django RESTful APIs (DFR) and RabbitMQ, mastering the fundamentals along the way. As you progress, you’ll get to grips with dockerizing your microservices. Later, you’ll discover how to optimize and secure them for production environments. By the end of this book, you’ll have the skills you need to design and develop production-ready Django microservices applications with DFR, Celery/RabbitMQ, Redis, and Django's cache framework.
Table of Contents (18 chapters)
Free Chapter
1
Part 1:Introducing Microservices and Getting Started
5
Part 2:Building the Microservices Foundation
11
Part 3:Taking Microservices to the Production Level

Introducing Docker

Docker is an open-source tool for containerizing applications with these main parts:

  • Docker Images: They encapsulate an application and its dependencies, like the operating system and Python packages. Images act as blueprints for the containers.
  • Docker Containers: They encapsulate and expose an application based on an image.
  • Docker Engine: It runs the containers.

Images are software package blueprints encapsulating an application and dependencies like Python packages. They are built or composed through the Docker Desktop interface or the Docker Command Line Interface (Docker CLI) and based on specifications from a Dockerfile or docker-compose.yaml file. In the subsection, Containerizing microservices, we’ll look at the Dockerfile, and in the subsection, Applying multi-container deployment with Docker Compose, we’ll explore the docker-compose.yaml file.

Containers are software packages that contain all parts to run in any environment...