At Codacity, we have defined our software delivery process as best-practice templates, which provide a standard for modelling and provisioning all infrastructure resources in a cloud environment. These “infrastructure as code” templates help our teams get started on the right foot because the template provisions the entire technology stack for an application through code, rather than using a manual process. This ensures that teams are configuring their processes and deployments according to our requirements.
Furthermore, we use automation to remove manual processes from the software delivery workflow. With automated release pipelines, including continuous integration and continuous deployment (CI/CD), we rapidly test and release lots of code while minimizing errors. With CI, our teams regularly merge their code changes into a central repository. Then we run automated builds and tests, so that we detect problems early.
With CD, our teams commit changes multiple times a day that flow out to production without any human touch.