But I never wanted to do DevOps!¶
You can be a Python web programmer and not have to do anything with DevOps, by making use of containerisation technology and Platform-as-a-service systems.
This hands-on workshop will expand your repertoire and put new components in your developer’s toolbox - and will help ensure you never find yourself having to answer to a pager in the middle of the night.
The examples and exercises in the workshop will be based on a workflow using:
- Docker, with the
- Divio Cloud platform and
- Amazon Web Services.
We will also work with:
- Django reusable applications including Django Axes and Django Photologue
- LogDNA and Azure cognitive services
- system-level libraries for image handling and processing
… and other tools, but it’s about skills, not tools - and all the skills are transferable. The purpose of the workshop is to help you become familiar with a mindset and way of working that:
- allows you to stop worrying about servers and deployment
- … by making use of services that take care of that for you.
Who is this for?¶
This workshop has been written for the Python developer who likes programming, but would like to give the responsibility for configuration and maintenance of hardware, operating systems, databases, web servers and other important things that a website needs to someone else.
Containerisation is an excellent way to do that - but then you have to learn some new tricks, and abandon some old habits and ways of working. This workshop is intended to ease you along that path.
It’s what I wish I had discovered several years ago, when I was exactly in that position.
Before you start¶
The pages in this section cover what you will do. In this workshop, you will learn by doing. Understanding always comes after doing. I will not explain much in this section, but the exercises are designed to help you discover key principles. Occasionally, links will be provided to Further reading sections. These are optional, and it’s recommended to use them after you have successfully done the relevant tasks.
- The workshop
- Create a project to work with
- Deploy your project
- Set up and run your project up locally
- Control the local project with
- Explore the local environment
- Edit the
- Install a new Python package
- Deploy your changes to the cloud
- Further development
- Explore file handling
- Using an external service
- A complete example workflow
The pages in this section contain optional, additional explanation. The secret of learning is that you don’t need to understand the thing you are learning - doing is far more valuable. All the same, once you have learned some basic things you will be ready for deeper explanation. The pages in this section are all linked to from pages in the previous section.