What are development environments for, and why isn’t it simple to make them?
09-22, 12:10–13:00 (Europe/Lisbon), Workshops

If something is hard to do, you’re unlikely to do it as often as you probably should. Development environments are no exception. How many people on your team have the skills and experience to create staging environments to assess performance and new features?

Developing Django production applications means running into the same frictions in any other language or framework. To address them, we do DevOps, but executing DevOps isn’t always so simple to do. A limited number of people on the team may have the skills, experience with tooling, or even knowledge of the codebase to provision environments to test or investigate something.

It’s limited, usually, to the DevOps engineer.

Without them, workflows can get blocked. With them, experimentation can be minimal, because it takes a real person’s time and energy to create the space to do so. The only way to manage all the changes is to stick to an enforced Dev-Stage-Prod workflow, which is the only thing that makes managing this problem across multiple sites possible.

In this workshop, we’ll take a look at developing Django applications on Platform.sh, where true staging environments require negligible energy to provision, all within a unified workflow alongside production.

Once you've deployed your project, new environments are a git branch away, and disposable if an experiment doesn’t work. You'll add new features and updates in isolation, all while having automatic access to production data.

Chad Carlson manages the Developer Relations team at Platform.sh. Chad spent a large portion of his professional career in academia, where he worked primarily with Python in vision science laboratories: investigating how our visual systems detect motion, the relationship between eye movements and natural scene perception, and where reinforcement learning fits into a larger evolutionary context of neuroscience.

Today he can typically be found writing, cooking, or working on projects in Python, Node.js, Go, and whatever new language Platform.sh starts support for and wants another pair of eyes on.