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

Chapter 14


Answer 1

The use of blue–green deployments provides us with the following set of benefits:

  • The ability to switch the application from one version to another instantly
  • The ability to easily roll back the application from a newer version to an older version in case the new version experiences some critical functionality bugs
  • A reduction in downtime related to application upgrades

Answer 2

Using a canary deployment can help in the testing of an application in the following ways:

  • The application is tested with a small sample of real-world requests, which may help expose any unidentified bugs in the application
  • Canary deployment gives us the ability to run the new version of the application along with the older version so as to compare the responses provided by the APIs

 

Answer 3

Using virtual machines for running microservices-based applications can cause increased overhead for running the microservice instances because of the higher requirements incurred by a virtual machine. In addition, the use of virtual machines limits the number of services that can coexist on the same infrastructure because a virtual machine is comparably heavier to run than containers, which utilize operating-system functionality to keep the programs isolated.

Answer 4

The deployments in the hybrid cloud model can be handled in the same way that they are handled in the public or private clouds. The difference arises when the application needs to be scaled. In this case, when using the hybrid cloud approach, an organization can pool the resources from the public cloud based on the scaling necessity and can then run some parts of their application in the public cloud and the others in the private cloud.