Faster Python Services
1h 24mAdvanced2018-03-23
Authors

Miki Tebeka
CEO at 353Solutions
Course details
Sometimes, the difference between a good Python application and a great one isn't found in the code; it's in the services that support your software. In this course, instructor Miki Tebeka introduces Python optimization tips and techniques to develop and run more efficient sites and applications. Learn how to find bottlenecks, stress test your code, use caching algorithms, "cheat" effectively, distribute work on one or more machines, and pick the right transport and encoding methods. He also introduces load balancers and powerful server frameworks for HTTP and TCP, and shows how to serve static content. Plus, learn how to monitor performance of your projects and set up alerts, so you'll know when a system or service fails.
Learning objectives
Tools of the trade
Caching
Cheating
Distributing work
Writing servers
Choosing a server framework
Processes such as monitoring
Learning objectives
Tools of the trade
Caching
Cheating
Distributing work
Writing servers
Choosing a server framework
Processes such as monitoring
Skills covered
AdvancedPythonProgramming LanguagesOpen SourceSoftware Development
Concepts
0. Introduction
- 01 - Welcome
- 02 - What you should know
1. Tools of the Trade
- 03 - Always profile first
- 04 - General tips
- 05 - strace
- 06 - Stressing
2. Caching
- 07 - Overview
- 08 - Bloom filter
3. Cheating
- 09 - When approximation is good enough
- 10 - Cheating example
4. Distributing Work
- 11 - Amdahl's Law
- 12 - Example - Threads
- 13 - Beyond single machine
5. Writing Servers
- 14 - The C10K problem
- 15 - asyncio
- 16 - Choosing transportation
- 17 - Choosing serialization format
- 18 - Compression
6. Server Frameworks
- 19 - How to choose a framework
- 20 - HTTP servers
- 21 - TCP servers
- 22 - Load balancers
- 23 - Serving static content
7. Process
- 24 - Why do we need process
- 25 - Monitoring
- 26 - Alerting
Conclusion
- 27 - Next steps
Related courses
Related learn paths
- Network Automation Professional Certificate by Arista Networks
- Getting Started with Software Testing
- Develop Your AI Skills with Google Gemini and Google Cloud Platform
- Prepare for the CompTIA PenTest+ (PT0-001) Exam
- Master Python for Data Science
- Technical Program Management
- Starting Your Career in Tech: Data Science
- Explore App Development with the MERN Stack