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 queue-based distribution, lock management, and group memberships, which are fundamental concepts for maintaining availability and consistency in distributed applications.
In the last half, you’ll learn how to build a REST API, how to deploy your app to a PaaS, and how to optimize your application's performance.
By the end of this course, you’ll be more productive with Python, you’ll be able to write faster applications that are distributed, and you’ll have a great new skill that is highly coveted.
Python, in all of its greatness, is often dismissed when needing to write performant and distributed applications. It’s consider...Show More
Content
1.
Scaling
5 Lessons
Step through scaling Python applications using multithreading, distributing systems, and service-oriented architecture.
2.
CPU Scaling
9 Lessons
Walk through CPU scaling techniques using threads, processes, futures, and optimization tools.
3.
Event Loops
7 Lessons
Work your way through event loops, asynchronous code, and efficient network management using asyncio.
4.
Functional Programming
5 Lessons
Grasp the fundamentals of functional programming in Python, its toolkit, and practical applications.
5.
Queue-Based Distribution
10 Lessons
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.
7.
Project Walkthrough
1 Lessons
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.
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 Lessons
Engage in practical projects to apply your scalable Python skills confidently.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Course Author:
Developed by MAANG Engineers
Trusted by 2.8 million developers working at companies
"These are high-quality courses. Trust me. I own around 10 and the price is worth it for the content quality. EducativeInc came at the right time in my career. I'm understanding topics better than with any book or online video tutorial I've done. Truly made for developers. Thanks"
Anthony Walker
@_webarchitect_
"Just finished my first full #ML course: Machine learning for Software Engineers from Educative, Inc. ... Highly recommend!"
Evan Dunbar
ML Engineer
"You guys are the gold standard of crash-courses... Narrow enough that it doesn't need years of study or a full blown book to get the gist, but broad enough that an afternoon of Googling doesn't cut it."
Software Developer
Carlos Matias La Borde
"I spend my days and nights on Educative. It is indispensable. It is such a unique and reader-friendly site"
Souvik Kundu
Front-end Developer
"Your courses are simply awesome, the depth they go into and the breadth of coverage is so good that I don't have to refer to 10 different websites looking for interview topics and content."
Vinay Krishnaiah
Software Developer
Hands-on Learning Powered by AI
See how Educative uses AI to make your learning more immersive than ever before.
AI Prompt
Code Feedback
Explain with AI
AI Code Mentor
Free Resources