Book Image

Hands-On Enterprise Application Development with Python

By : Saurabh Badhwar
Book Image

Hands-On Enterprise Application Development with Python

By: Saurabh Badhwar

Overview of this book

Dynamically typed languages like Python are continuously improving. With the addition of exciting new features and a wide selection of modern libraries and frameworks, Python has emerged as an ideal language for developing enterprise applications. Hands-On Enterprise Application Development with Python will show you how to build effective applications that are stable, secure, and easily scalable. The book is a detailed guide to building an end-to-end enterprise-grade application in Python. You will learn how to effectively implement Python features and design patterns that will positively impact your application lifecycle. The book also covers advanced concurrency techniques that will help you build a RESTful application with an optimized frontend. Given that security and stability are the foundation for an enterprise application, you’ll be trained on effective testing, performance analysis, and security practices, and understand how to embed them in your codebase during the initial phase. You’ll also be guided in how to move on from a monolithic architecture to one that is service oriented, leveraging microservices and serverless deployment techniques. By the end of the book, you will have become proficient at building efficient enterprise applications in Python.
Table of Contents (24 chapters)
Title Page
Copyright and Credits
About Packt
Contributors
Preface
Index

Summary


In this chapter, we learned about how to build database models that can help us make our application performant when dealing with data on a large scale. We saw how optimizing a model can be the first stage of optimization, and how it can help us make our application more maintenance-friendly, by reducing coupling across database models. We then moved on to cover how indexes can be useful for making accessing data inside the database faster, by indexing columns that are more frequently accessed.

We later covered one of the important aspects of maintaining the consistency of the database, through the use of transactions.

The final part of the chapter covered data loading techniques, such as lazy loading, eager loading, and no loading, which can help us reduce the time it usually takes to load the data from the database, and process it before it is presented to the user. We also covered a little bit about how the caching of this data at different levels can help to reduce  the load from...