Electronic Engineer and software developer, currently thoroughly enjoying doing devops work for SA Home Loans in Durban.

Accepted Talks:

Laying some of the foundations so your fellow developers can start on the ground floor

One of the more significant aspects of DevOps work can be to make it as easy as possible for the rest of the company's developers to write programs and tools the business needs. This talk will explore some options to provide project templates, build tooling and additional infrastructure to enable other teams to rapidly develop programs in Python and other languages.

The talk includes:

  • Code and project templates to enable a project to hit the ground running as fast as possible and remain consistent with the rest of the company's code
  • Version control and build tooling integration to avoid repetitive setup for new projects
  • Creating and hosting in-house Python packages to provide company-specific or commonly-required utilities for new projects
  • Infrastructure integration so new tools and projects automatically play nicely with the company's systems

The talk will also explore some open-source tools that can assist with this kind of work:

  • Cookiecutter to take a bit of user input and generate a set of project files and directories
  • Poetry for managing isolated virtual environments, package dependencies and package building and publishing
  • etcd to track configuration across more than one build environment, such as local development and building through a Continuous Integration tool
  • Gitlab to provide Continuous Integration for automated package and Docker container building in a consistent way across projects

This aspect of DevOps work has been tackled many times in many ways - this talk is intended to provide some insight into one way to do some of these tasks, not to attempt to claim how best to do so.