Continuous integration delivers scale and pace of business changes
Elena Polubochko, CTO of Godel Tech explains how continuous integration is the corner stone 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 corner stone 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 cloud software projects where being able to adapt to changing business needs is valued. It helps to promote the changes to the ‘live’ environment as quickly as possible with little manual input providing the optimum potential to fix problems as they come along.
There are several typical scenarios when companies require CI or CD initiatives to add value:
- An organisation requires new infrastructure for scalability, high availability and cost reduction.
- An organisation wants to introduce CI 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.
- An organisation wants an ‘out of the box’ service including setting up CI environments.
Whichever way the organisation decides to go about it, CI delivers on its promises of less 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 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 current projects is working on a micro-services architecture in the organisation’s existing monolithic solution which will be rolled out as an IaaS in Microsoft Azure Cloud. A CI process has been set up to speed up the development process including automatic builds from a repository, automation testing, deployment and reporting. No balloons or party poppers every six months, just continuously integrated software that keeps pace with business changes.