04 July 2017
Technology business is nowatodays a game of speed. Companies roll out new products, services and features faster than ever before. DevOps, CI/CD practices and tools have made it possible to test and release the software automatically, that improves effiency, product quality and customer satisfaction. Initial setup for a pipeline takes time and expertise, but in the long run time and money is saved.
The workflow and systems used by developers are fundamentally changing. Academic world is still getting up to speed with the current DevOps development.
Continuous Delivery (CD) is a practice, where teams produce and test the code in short cycles to ensure that it is always in releasable state. CD relies heavily on automation and Continous Integration (CI) practice. CI focuses on detecting possible errors as early as possible, using automated build and test for verifying each integration. CD expands CI pipeline by deploying the code to staging environment, where multiple tests are executed. These tests can focus on integration testing or acceptance testing such as performance testing and reliability testing. The purpose of CD is to automatically build, test, configure and prepare the code to the production environment. The deployment to the production environment is automated, but it must be approved manually.
Releases are more reliable, because the software is tested repeatedly. That leads to a improved product quality. The software release cycle improves, because the code is always in releasable state. Earlier the release cycle was counted in months and nowadays it can be deployed multiple times per day. Frequent releases enable faster feedback from the customer, which helps a team to focus on the useful features and this way build the right product. Teams efficiency improves, because CI/CD pipeline automatically sets up the environments, that earlier required considereable amount of time. It can be stated that CI/CD practices improve customer satisfaction and reduce costs.
by Juho Pekki