Continuous operations and modern DevOps are engineering practices that have evolved from a long line of successive process and technology innovations, including agile methodologies, continuous integration and delivery solutions, and automated deployment technologies. Each of these innovations significantly accelerates the software development lifecycle, and drives a dramatic impact on the quality of delivery.
- Continuous Integration – automated builds and unit tests ensure that defects are caught early while allowing testers to have immediate access to the bleeding-edge codebase
- Continuous Delivery – an extension of continuous integration extends automated testing within a target environment, supporting push-button deployment to production
- Continuous Deployment – releasing code into production as soon as it is ready. Automated testing and delivery allows verifiable features to be immediately rolled into, production improving the innovation-to-delivery cycle.
- Continuous Operations – reduce or eliminate the need for planned downtime, such as scheduled maintenance.
The practice of Continuous Operations (and all its predecessors) involves a number of operational guidelines born out of experience. Examples include:
- Small frequent releases
- Deploying database changes first, without the corresponding software changes that depend on it
- Meticulous unit test coverage – no code submission gets built without passing all test harnesses
- Automated and repeatable creation of development, QA, and production environments
- Use of A/B testing (95% vs. 5%) for new rollouts
- Methods for easy rollback (fail fast and fail forward)
Practicing Continuous Operations is a combination of art, science, and experience. BigR.io brings the necessary expertise in tools, workflow, environment, and project management to guide enterprises striving for the efficiency and quality standards of the new automated DevOps era.