Continuous Delivery

Getting software released to users is often a painful, risky, and time-consuming process.
Continuous Delivery can help large organizations become as lean, agile and innovative as start ups. Through reliable, low risk releases, Continuous Delivery makes it possible to continuously adapt software in line with user feedback, shifts in the market and changes to business strategy. We speed up the whole process while improving quality. Test, support, development and operations work with each other as one delivery team.

From Continuous Integration to Continuous Delivery

Continuous Integration is best described in a landmark article by Martin Fowler. Originally one of the fundamental practices outlined in the Extreme Programming (XP) methodology, Continuous Integration (CI) has become an essential ingredient for teams doing iterative and incremental software delivery.
The term Continuous Deployment was coined around the same time to describe how similar automation techniques could be applied to the actual release of software from one environment into another. Essentially, organizations who practice Continuous Deployment are said to be always 'ready to release'.

"Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly." 
- Martin Fowler, ThoughtWorks Chief Scientist


Popular posts from this blog

PostgreSQL bytea and oid

MySQL as Hive metadata store

Microservices Architecture with Spring Boot in 15mins