The Hacker's Guide to Scaling Python

Learn about Python's scalability, concurrency, and distribution via CPU scaling, event loops, queue-based distribution, and building REST APIs to optimize and deploy high-performance applications.

Advanced

99 Lessons

8h 30min

Certificate of Completion

Learn about Python's scalability, concurrency, and distribution via CPU scaling, event loops, queue-based distribution, and building REST APIs to optimize and deploy high-performance applications.

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

1 Project
155 Playgrounds
13 Quizzes

This course includes

1 Project
155 Playgrounds
13 Quizzes

Course Overview

Python, in all of its greatness, is often dismissed when needing to write performant and distributed applications. It’s considered to be slow and not suited for the task. In this course, you will find that with the right implementation of Python, you can write applications that scale horizontally, perform well, and are distributed. To kick things off, you’ll learn about CPU scaling, concurrency, and event loops, all of which are crucial for implementing a distributed system. After that, you’ll move on to ...Show More

Course Content

1.

Scaling

Step through scaling Python applications using multithreading, distributing systems, and service-oriented architecture.
2.

CPU Scaling

Walk through CPU scaling techniques using threads, processes, futures, and optimization tools.
3.

Event Loops

Work your way through event loops, asynchronous code, and efficient network management using asyncio.
4.

Functional Programming

Grasp the fundamentals of functional programming in Python, its toolkit, and practical applications.
5.

Queue-Based Distribution

Dig into Python's queue-based distribution, focusing on RQ and Celery for scalability.
6.

Designing for Failure

5 Lessons

Tackle exception handling, retry strategies, and Tenacity for robust Python applications.

Create a Web Crawler

Project

7.

Project Walkthrough

1 Lesson

Practice using Celery and Redis to efficiently manage and process tasks.
8.

Lock Management

9 Lessons

Step through managing locks to ensure safe access and prevent data corruption.
9.

Group Membership

9 Lessons

Unpack the core of managing group membership in distributed systems using the Tooz library.
10.

REST Interfaces

11 Lessons

Master the steps to build scalable and efficient REST APIs with Python frameworks.

Build a REST API in Flask

Project

11.

Deploying on PaaS

7 Lessons

Break down the steps to deploying Python applications on various PaaS platforms.
12.

Testing Distributed Systems

5 Lessons

Map out the steps for testing, environment setup, and service management in distributed systems.
13.

Caching

7 Lessons

Investigate caching to enhance Python app performance, covering local, memoization, and distributed methods.
14.

Performance

8 Lessons

Master the steps to optimize Python performance through profiling, disassembling code, and efficient memory use.
15.

Conclusion

1 Lesson

Engage in practical projects to apply your scalable Python skills confidently.

Course Author

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor