Architecting Scalable Python Applications
2.5 (1 rating)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
4 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Architecting Scalable Python Applications to your Wishlist.

Add to Wishlist

Architecting Scalable Python Applications

Design and architect highly scalable, robust, and high-performance applications in Python
2.5 (1 rating)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
4 students enrolled
Created by Packt Publishing
Last updated 9/2017
English [Auto-generated]
Current price: $10 Original price: $125 Discount: 92% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 2.5 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Learn concurrency
  • Look at Multithreading
  • Understand celery
  • See if the python is secured
  • Solve security issues with web applications
  • See different categories of design patterns
  • Explore the prototype pattern
View Curriculum
  • This video is for experienced Python developers who are aspiring to become the architects of enterprise-grade applications or software architects who would like to leverage Python to create effective blueprints of applications.

This video starts off by defining scalability and Concurrency. Their relationship and effects on performance attributes. We will also look at Celery which is a very important aspect of python.

Then we will move to security aspects of Python and find out whether it is secured or not.

Finally, we will look at design patterns that are creational, structural and behavioural patterns.

This video will help you understand the inns and outs of Python so that you can make those critical design decisions that are just live up to but also surpass the expectations of your clients.

About the author

Anand Balachandran Pillai is an Engineering and Technology professional with over 18 years of experience in the software industry in Product Engineering, Software Design & Architecture and Research.

He has worked at companies such as Yahoo!, McAfee, and Infosys in the roles of Lead Engineer and Architect in product development teams, to build new products.

He is the founder of the Bangalore Python Users Group and a Fellow of the Python Software Foundation (PSF).

Anand is currently working as Senior Architect of Yegii Inc.

Who is the target audience?
  • The video is filled with examples and use cases, this guide takes a direct approach to helping you with everything it takes to become a successful software architect.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
17 Lectures
Scaling Applications
7 Lectures 56:30

This video gives an overview of the entire course.

Preview 02:33

How do we measure the scalability of a system? This would be answered in this section.

Scalability and Concurrency

Multi-threading in Python is used to generate thumbnails of image URLs.

Thumbnail Generator

In Python there is, a global lock that prevents multiple threads from executing native bytecode at once. This lock is required, since the memory management of CPython (the native implementation of Python) is not thread-safe.

Multithreading - Python and GIL

After understanding Multi-processing, it is a good time to compare and contrast the scenarios where one needs to choose between scaling using threads in a single process or using multiple processes in Python.

Multithreading Versus Multiprocessing

The concurrent.futures module provides high-level concurrent processing using either threads or processes, while asynchronously returning data using future objects. It provides an executor interface which exposes mainly two methods, submit and map.

Concurrent Futures

Celery is a distributed task queue written in Python, which works using distributed messages. Each execution unit in celery is called a task. A task can be executed concurrently on one or more servers using processes called workers. By default, celery achieves this using multiprocessing, but it can also use other backend such as gevent.

5 Lectures 34:06

Secure coding is the practice of software development that guards programs against security vulnerabilities, and makes it resistant to malicious attacks right from program design to implementation. It is about writing code that is inherently secure as opposed to thinking of security as a layer which is added on later.

Preview 07:13

Python is a very readable language with simple syntax, and typically, one clearly stated way to do things. It comes with a set of well-tested and compact standard library modules. All of this seems to indicate that Python should be a very secure language. 

Is Python Secured?

It is likely that python is exposed to security issues in applications such as Django, Flask, Pyramid, and others due to interaction with web applications on a daily basis.

Security Issues with Web Applications

Tips and techniques that a security architect can use so that their team can apply secure coding principles to mitigate security issues right from the stage of program design and development.

Strategies for Security – Python

It is a good time to summarize the strategies that one should try and impart to a software development team from a security architect's point of view.

Secure Coding Strategies
Design Patterns in Python
5 Lectures 49:59

A design pattern attempts to record those aspects of a recurring design in object-oriented systems that solve a problem or a class of problems.

Preview 02:12

Design patterns can be categorized in different ways according to the criteria chosen.

Categories of Design Patterns

A class must provide a way for all its instances to share the same initial state.

Patterns in Python - Creational

Structural patterns concern themselves with the intricacies of combining classes or objects to form larger structures, which are more than the sum of their parts.

Patterns in Python - Structural

Behavioral patterns are the last stage in the complexity and functionality of patterns. They also come last chronologically in object life cycle in a system since objects are first created, then built into larger structures, before they interact with each other.

Patterns in Python - Behavioral
About the Instructor
Packt Publishing
3.9 Average rating
8,138 Reviews
58,576 Students
686 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.