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

Designing microservices

The general principles of software design also apply to microservices. These principles are out of the scope of this book, and as a developer, you are undoubtedly familiar with them. However, there are a few design aspects that need our special attention when designing microservices:

  • Encapsulating business logic: Keep the microservice focused on a specific business function and avoid including unrelated functionality.
  • Implementing scalability: Allow microservices to increase loads by adding more instances. Also, use containerization technologies such as Docker for scalability.
  • Determining the service contract: Decide on the task or message queue system to use for your microservices.
  • Ensuring loosely coupling: Minimize dependencies between microservices to allow them to run independently.
  • Choosing the appropriate technology stack: Select the right programming language and framework to build the microservice based on your requirements.
  • ...