Software Architecture with Python
Anand Balachandran Pillai
- Identify design issues and make the necessary adjustments to achieve improved performance
- Understand practical architectural quality attributes from the perspective of a practicing engineer and architect using Python
- Gain knowledge of architectural principles and how they can be used to provide accountability and rationale for architectural decisions
This book starts off by explaining how Python fits into an application architecture. As you move along, you will understand the architecturally significant demands and how to determine them. Later, you'll get a complete understanding of the different architectural quality requirements that help an architect to build a product that satisfies business needs, such as maintainability/reusability, testability, scalability, performance, usability, and security.
You will use various techniques such as incorporating DevOps, Continuous Integration, and more to make your application robust. You will understand when and when not to use object orientation in your applications. You will be able to think of the future and design applications that can scale proportionally to the growing business.
The focus is on building the business logic based on the business process documentation and which frameworks are to be used when. We also cover some important patterns that are to be taken into account while solving design problems as well as those in relatively new domains such as the Cloud.
This book will help you understand the ins and outs of Python so that you can make those critical design decisions that not just live up to but also surpass the expectations of your clients.
What you will learn
- Build programs with the right architectural attributes
- Use Enterprise Architectural Patterns to solve scalable problems on the Web
- Understand design patterns from a Python perspective
- Optimize the performance testing tools in Python
- Deploy code in remote environments or on the Cloud using Python
- Secure architecture applications in Python
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 a Bachelor's degree in Mechanical Engineering from the Indian Institute of Technology, Madras.
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. His interests lie in Software Performance Engineering, High Scalability Architectures, Security and Open source communities. He often works with startups in lead technical or consulting role.
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.
Table of Contents
- Principles of Software Architecture
- Writing Modifi able and Readable Code
- Testability Writing Testable Code
- Good Performance is Rewarding!
- Writing Applications That Scale
- Security Writing Secure Code
- Design Patterns in Python
- Python Architectural Patterns
- Deploying Python Applications
- Techniques for Debugging