How Continuous Integration Delivers Scale and Faster Change.
Elena Polubochko, CTO of Godel Technologies explains how continuous integration and continuous delivery is the cornerstone of DevOps.
Back in the day, some of us old enough to remember recall that software versions were released once every year or even every couple of years. If we cast our mind back to Microsoft – it was typical for the company to unveil a new version of Windows with some regularity backed by global branding and advertising campaigns. Ever wondered why this is no longer the case? It’s simple, these days, code is released in a constant flow – it’s being updated every day to adapt to the changing business needs that come along as fast which means that there is no longer a huge big bang unveiling of software, but a continuous delivery and integration of it.
Continuous integration (CI) provides the software development cornerstone of DevOps where developers merge their working copies together to move forward in a shared way by bringing their changes together in one version. DevOps is there to help bridge the gap between software development and operational deployment helping the business to deliver functionality faster and more efficiently and without the need for any of the previous razzmatazz. It ensures that the best software and business applications are developed but that operationally they can be rapidly deployed with maximum effect.
Continuous delivery (CD) is usually synonymous with agile software delivery, where being able to swiftly adapt to changing business needs is vital. It helps to promote changes to the ‘live’ environment as quickly as possible with little manual input, providing the optimum potential to quickly fix problems as they come along.
There are several typical scenarios when companies require CI/CD initiatives to add value:
Rearchitecting: An organisation requires new infrastructure for scalability, high availability and cost reduction.
Automating: An organisation wants to introduce CI/CD or test automation to their existing development process to shorten their release cycle and improve quality of delivery but have no skills or have no capacity.
Accelerating: An organisation wants an ‘out of the box’ service including setting up CI/CD environments.
Whichever way the organisation decides to go about it, continuous integration delivers on its promises of fewer errors and faster development through the merging of data into one version daily. This irons out any problems as fast as they are highlighted improving quality via continuous automated testing. It also removes or reduces risks and improves visibility and predictability through release process automation. It makes complete sense – business changes come along much faster than every six months, every year or longer and so it seems obvious that our software should keep pace with those needs.
At Godel, we help deliver the infrastructure that makes CI/CD happen. We help organisations to configure project environments for their teams, provide help with designing auto-tests to automate end to end testing and help to tune the applications in place to make them cloud compatible.
One of Godel’s clients, Experian, was a project that involved re-architecting the organisation’s existing monolithic solution into microservices and deploying them to Microsoft Azure Cloud. A CI/CD process has been set up to speed up the development process including automatic builds from a repository, automation testing, deployment and reporting. No balloons and party poppers every six months, just continuously integrated software that keeps pace with business changes.