These days we are used to consuming products that are supposed to continuously improve their value towards us – the customer. We are faced with constantly changing products. Depending on the industry the release times are spanning from longer time spans – like years – to real continuous changes – multiple times a day.
Nowadays there is no doubt that the principle of continuous delivery is to our advantage and provides a huge competitive edge – if done right. In order to implement the principle in the right way a huge amount of automation is required. The biggest chunk of automation and therefore also the success factor is automating the delivery chain or the end-to-end-automation.
The following talk is about the different automation building blocks it requires to implement the *end-to-end-automation*. It is about how these building blocks interact with each other and are dependent from each other. It is about how we implemented these principles at Fidor to create a banking-as-a-service product.
The main building blocks are:
- Automated regression tests, immutable-infrastructure-as-code and automated zero downtime deployments.
- The foundation blocks that makes end-to-end-automation possible are immutable-infrastructure-as-code and automated zero downtime deployments.
- Immutable-infrastructure-as-code enables us to build the same infrastructure (perhaps different in size) for all different levels the infrastructure is required – test, acceptance and production for example. This leads to less brittle tests and therefore reliable quality assurance.
- Automated-zero-downtime deployments requires intense care during the time of building the application software but otherwise every deployment will lead to downtime which is not acceptable for continuous deployments.
Only if those building blocks are available end-to-end automation can be implemented. On top of the foundation an automated regression test suite must be implemented. Driven by the continuous deployment principle all end-to-end regression tests have to be automated. Many more tools for API test -, UI test and mobile test tools are necessary to achieve the building block of automated regression tests.
I will talk about how we implemented end-to-end automation for our banking-as-a-service platform, which tools we are using and how the delivery processes need to adopted.