In an IT world where efficiency is king, continuous cloud app development can significantly shorten the traditional software development cycle. When implemented properly, this new model allows organizations to release new software iterations, such as updates, new features, patches and bug fixes, in days rather than months. And for cloud app development, this can be especially valuable.
Traditional software development follows a long, predictable cycle. Typically, it starts with a software team that handles coding and design. Once the software is coded, the design team releases it to a testing team that looks for bugs, measures application performance and checks interoperability with other software. Then, results from this quality assurance (QA) test often require the development team to make code changes. This back-and-forth continues until a release candidate emerges, which can take months to several years.
Eventually, businesses realized this model was inefficient, and developers realized software doesn't have to follow a "complete or nothing" release process.
What followed was a long string of new software development approaches, such as agile, that sought to shorten development cycles. Instead of waiting to release a single, final product, developers using agile techniques release software in steps or iterations. Then, as iterations shrink and release timeframes shorten, the software development process becomes continuous, where each release comes in days or even hours.
Today's concept of continuous app development is a series of related efforts, including continuous integration, delivery, testing and deployment. For example, continuous integration allows developers to work on and deliver new code almost anytime, with those new code additions being automatically tested and integrated into the build. Continuous testing allows QA teams to work with each new iteration to help ensure quality and functional standards. Continuous deployment will automatically deploy each new iteration into production as soon as possible.
This is an ideal model for cloud app development, especially since the cloud shares similar flexibility and scalability. For example, it's simple to create a new cloud instance to test the newest software iteration or spin up Web servers to push out the newest release to users. Further, since many new enterprise applications are designed to run in the cloud, development often focuses on ensuring cloud performance and availability. For example, organizations could continuously deploy new applications to an AWS EC2 instance rather than a local VM.
How continuous software development helped Edmunds.com
Tips for transitioning to a continuous delivery model
A guide to continuous development