filmov
tv
Using Python and Docker to create a novel and scalable development environment solution
![preview_player](https://i.ytimg.com/vi/1f5inndAxEU/maxresdefault.jpg)
Показать описание
Talk Description:
Local development environments are essential tools which help us run code on our own machines. Good development environments help us efficiently manage our workflow as we make code changes, and they can be adapted to fit a changing stack and team. In this talk, we’ll look at shortcomings of different development environment solutions, and how we’ve attempted to solve them with Python and Docker.
A common approach to these problems is to run code in a virtual machine. This does increase the portability of an environment, but still comes with some issues. Changing dependencies and configuration over time can prompt changes in the VM system state, which can create the same reproducibility issues as before. Configuration management software can help, but comes with its own set of issues. Additionally, virtual machines come with performance penalties; shared folders have poor performance, and the VM will consume tons of memory if you have a large stack. Finally, apps running on the same VM can still suffer from lack of isolation. Conflicting system dependencies, apps that want to listen on the same port, and other issues will require workarounds.