Learn how to build large Python applications
Whether you’re building your first distributed application or you want to make your code goes faster and able to handle thousands of requests, this book is for you.
Build for Resiliency
Today's applications run on large and distributed infrastructures. They need to handle failure without blinking. In an environment where anything could go wrong, how do you design your code to handle those failures?
Learn how to plan an architecture that has no bottleneck. Get straight answers to your conception questions and solutions that work and solve concrete cases.
Discover how you can write code that will flawlessly perform when distributed at large scale. From programming to profiling, optimizing and testing, the book covers every aspect.
Every theme is covered with illustrating examples. Modify the provided examples as you wish to learn and understand how they work. There is no better way to learn something than toying with it, right?
Let's talk performance: how to write faster Python code, profile it, and optimize it. Read about concrete use-cases on how to enhance slow applications.
Use the included Docker image to replay all the examples presented in the book. The Docker image provides the complete Python environment that you need in order to execute the examples. Use the notebooks to run then in a click from your Web browser.
Learn From the Experts
Scaling Python includes seven interviews from experienced Python developers. They share their know-how and wisdom on the various themes covered in the book.
Mehdi is a French free software hacker, working as a Senior Software Engineer at Red Hat. He has been using Linux for almost twenty years now and he has been a Python developer for ten years. He works daily on OpenStack, the largest open-source project using Python. He also regularly builds and contribute to distributed applications and is responsible for several widely used Python libraries – Cotyledon, oslo.messaging, etc.
Chris Dent is a Staff Engineer at VMware, a member of the OpenStack Technical Committee, and an HTTP connoisseur. He has been using Python for more than fifteen years now and is an expert on WSGI. He has an extensive knowledge about REST API – he is one of the early organizers of the OpenStack API working group. Chris has, among other things, created Gabbi, a fabulous Python testing tool for HTTP.
Joshua is a highly experienced engineer in distributed systems, working at GoDaddy. He maintains a few Python libraries, such as Kazoo (ZooKeeper client) or TaskFlow (distributed tasks management). He is very knowledgeable on principles that make Python application resilient and faults tolerant.
Naoki is a Researcher and Architect at KLab. He also happens to be one of the CPython developers. He worked on several significant features in CPython, such as asyncio. He has a few opinions on Python and other programming languages when it comes to asynchronous workflows.
Victor is a long time CPython core developer, working on the language itself for several years now. He is well known in the community for working on making CPython faster and leads several performance-oriented projects. He likes to talk about optimizations, profiling, and performance when using Python, and how to make the right decisions.
Jason is a Python developer, working as a Software Engineer at Juice Analytics. He wrote an entire book on SQLAlchemy, the well-known Python SQL library (Essential SQLAlchemy (O'Reilly)) He worked on cloud computing platforms, as a Web developer, and as a data engineer.
Alexys is the CTO of 1000mercis and is part of the open-source software community for a few years now. He regularly gives speeches at Python conferences (PyCon) and talks about how to leverage Python when distributing applications. He writes, maintains and operates highly distributed Python applications.