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

End-to-end testing microservices

End-to-end testing is trying out an application as a whole to ensure it meets the requirements of the product owner and stakeholders. The focus of end-to-end tests is on the flow of actions and data through the application – for example, a flow that spans all actions from the subscriber entering an address until the same subscriber checking the confirmation email.

Primarily, end-to-end tests are the domain of software testers and users, but we, developers, also need to determine that our software works as a whole before we hand it over to software testers.

Generally, we execute end-to-end tests later in the development cycle because we need all application parts to be finished. If your application depends on complex interfaces, you might want to do end-to-end tests earlier to catch errors. In that case, consider creating mocks that simulate application parts that still need to be developed.

As for errors found with end-to-end tests,...