docker-compose for Pythonistas
We all have at least heard about the terms containers, docker, etc. in today's times and the benefit, they bring to the deployment cycle of a web app. In this workshop, we will try to build the functionality of our server from the ground up using dockers as a dev env. This usage of containers is important as today most of the devs work on multiple services(thanks to microservice bloom) each requiring its own set of external dependencies which requires specific flags or settings to be set, instead of polluting our system containers help us to run almost any complex requirement app with zero setup
We will use
docker-compose a fantastic tool built-in python to orchestrate our containers. We will go full-on with something called Extreme Programming, using Test-Driven-Development and Pair-Programming
Basic Outline of the talk
- We will start with the advantages of using Docker in the development cycle.
- We will set up a project structure for our server.
- Prepare our dependencies.
- Start writing tests, and onwards.
Who is this talk for
- Python web developers.
- Developers who need multiple versions of external dependencies to be installed locally as part of their work.
- Developers who are interested in the TDD way.
- Implementing a REST API in Flask.
- Using docker for development and bringing up external dependencies.
- Using Test-Driven Development.
Basic knowledge of web development. Basic knowledge of Docker. Github and a GitLab account, no paid service is required.
GitHub Repo to be used is https://github.com/onlinejudge95/rinnegan, we will be building on just the server-side of things here, using our client as-is in the repo.
Slides can be found at:-
I work as a Dev-Ops engineer in Vymo, prior to that I have worked at Amazon.in and have over 2.5 years of experience in Web Services. Graduated in 2017 from Kamla Nehru Institute of Technology with a Bachelor's degree in Computer Science and Engineering. Developing and consuming my own APIs for almost a year now. I prefer a raspberry pi over the cloud to host my home-scale services for personal use. In my free time, I prefer stargazing. Currently working on combining the power of python-ecosystem to boost my deployment.