
CONTINUOUS DELIVERY
Many software delivery teams focus on output from the development teams rather than the overall challenge of delivering applications and services into production efficiently. The result is that projects run over-budget because of the lack of consideration given to the difficulties in propagating complex systems efficiently through various environments and the associated dependencies.
Boost takes a different approach. We implement our automated processes from the perspective of environments; starting from when the developer writes code until when that code is running in production. An efficient process should aim to deploy code running in production multiple times a day. In order to achieve these efficiencies, it is necessary to examine the entire value chain and to understand how each part of it can have a downstream effect: for example, a development team that releases code which their operations teams cannot deploy, perhaps because of configuration and/or environmental dependencies. The ability to deploy new features to production every day and make these features available to users is called continuous delivery. Continuous delivery is achieved by automating the entire value chain so that the software deliveries occur in small independently deployable batches.
Boost is the result of years of project experience using OpenShift and DevOps practices. We've solved friction at every step including:
linking changes to features so that we know what's running in which OpenShift pod
adding hooks into the microservices so that the testers find it easier to connect behaviour tests to the code they are testing
generating environments, quality gates and pipelines from declarative definitions
versioning environment and pipeline configuration so everything is in synch with the code it runs
tracing interactions between microservices (using Opentracing)