Summary

This chapter is a first step away from an initial application implementation to a software that may be deployed as a service. Docker, and its associated ecosystem, make the deployment of services on the cloud much easier than installing everything manually on virtual machines. It also makes it possible to package the application being developed, and deploy it on a testing infrastructure. For example, testing for software against different versions of Python is possible with virtualenv, provided that all these versions are available on the host system. With Docker, it is possible to do the same without even having Python installed on the host system. This saves a lot of time in the long run.

The S3 service is one of the most popular services provided by AWS. This chapter covered one usage of S3: uploading files on a bucket. The simplicity of S3 makes it very adaptable in all applications where files have to be stored and shared among several instances of the application. The most important limitation of S3 compared to a more classical database is its lack of a search capability.

Real situations are always more complex than theory. This chapter provided practical solutions for cases that can come up sometimes: handling CPU-bound tasks and blocking APIs. Thanks to AsyncIO and RxPY, it is possible to make use of multiple cores in an asynchronous application very easily. Very little code had to be changed to add multithreading support in the transcoder server. This would have been much more difficult with many other frameworks.

In the next chapter, we will cover some other improvements to the application, once again leveraging a reactive design: a dynamic reconfiguration of some settings, and better error handling.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.189.186.109