Book Image

Python Microservices Development – 2nd edition - Second Edition

By : Simon Fraser, Tarek Ziadé
Book Image

Python Microservices Development – 2nd edition - Second Edition

By: Simon Fraser, Tarek Ziadé

Overview of this book

The small scope and self-contained nature of microservices make them faster, cleaner, and more scalable than code-heavy monolithic applications. However, building microservices architecture that is efficient as well as lightweight into your applications can be challenging due to the complexity of all the interacting pieces. Python Microservices Development, Second Edition will teach you how to overcome these issues and craft applications that are built as small standard units using proven best practices and avoiding common pitfalls. Through hands-on examples, this book will help you to build efficient microservices using Quart, SQLAlchemy, and other modern Python tools In this updated edition, you will learn how to secure connections between services and how to script Nginx using Lua to build web application firewall features such as rate limiting. Python Microservices Development, Second Edition describes how to use containers and AWS to deploy your services. By the end of the book, you’ll have created a complete Python application based on microservices.
Table of Contents (14 chapters)
12
Other Books You May Enjoy
13
Index

Scaling

When an application needs to do more work, the historical approach has been to run the application on a bigger computer. Give it more memory, more CPU cores, and even more disk space. This does not increase the application's reliability, as it still relies on a single computer, and it comes with added complications once your application is large enough that there simply aren't any computers large enough to run it on.

Giving a program a larger computer to run on is called scaling vertically. By contrast, scaling horizontally is the approach of using many smaller computers. We came across this idea when discussing deploying on container-based services and increasing the number of instances that our Docker swarm used. An application must have a replicated, scalable idea of its current state to operate in this way, for client sessions, shopping basket contents, and anything else that a visitor would expect to be persistent between different pages of a website.

...