This is a guest post for the Computer Weekly Developer Network written by Arkadiusz Tulodziecki in his capacity as head of DevOps and cloud centre of excellence and chief engineer, Mobica, a Cognizant company.
Tulodziecki writes in full as follows…
With any modern software development project, teams should be looking to embrace automation wherever possible as this will reduce human intervention and minimise the effort, risk and costs involved.
It’s not unusual, however, for a project lead to look at their budget and question whether these tools are worth it.
Some may not be.
There is, after all, no shortage of automation tools available in the market and not all will be vital to the success of a project and a balance does need to be struck.
Reducing the number of new licenses purchased will also save on project costs in the short term, but there are some tools that support basic practices – and they should never be overlooked.
The minimum trio
These basic practices are the ‘minimum trio’ of Continuous Integration (CI), Continuous Deployment (CD) and Continuous Monitoring (CM) – and they’re the starting point for any team looking to deploy automation tools.
Their role is to put repeatable processes in place that ensure quality. By helping to prevent errors and the duplication of work, they dramatically curtail the time it takes to push code live – and start delivering ROI.
By enabling a collaborative approach, they also form the foundation of DevOps methodology.
The role of CI is to ensure that any modified code is automatically checked for faults. Not only does this save time, it also ensures no mistakes will be missed because someone didn’t follow testing procedures properly. Of course, there is the potential to inadvertently break something when revising code, but if this happens CI allows the team to see exactly what went wrong so it can be fixed quickly.
Before the arrival of CI, teams would need to remember every change they had made and check whether any of those alterations was the culprit. This also needed to be done via an extremely time-consuming trial-and-error testing method.
As code moves through different environments – development to production – CD ensures we are always testing and checking for faults that could cause problems. This is crucial – teams don’t want to be resolving problems once a product is live as this will inevitably lead to lengthy periods of downtime and could prove expensive for a business.
CD doesn’t just inspect the code, it also checks if the supporting infrastructure, likely to have been spun up using Infrastructure as Code (IaC), is configured correctly. It will then roll out the deployment for teams and, if any problems are detected, it will stop this action and spin back up the previous version of the application. This ability to replicate code and infrastructure, almost instantly, saves a huge amount of time.
With CI and CD in place, businesses will have lowered the risk that any problems will be present in an application. But there’s no guarantee this will remain the case forever. Load speeds could slow down due to issues with the supporting infrastructure, for example, while security cyber threats may pose problems previously unforeseen.
With CM, however, teams will be monitoring the key indicators that could identify potential issues and will prompt the operations team to take a closer look. If they do find a problem, they can then act quickly before it affects end users.
While the automation tools that support practices like the minimum trio provide clear benefits, they are still not being universally adopted. The main reason for this is not necessarily the cost of the tools, it’s more to do with a lack of cultural acceptance. The deployment of automation tools means experienced professionals will need to abandon practices that have served them well for years.
I’ve worked on projects where we have put automation tools in place and teams have still been reluctant to use them. It was only when they saw their colleagues using the tools and releasing new features every month, while they were still restricted to doing this twice a year, that attitudes changed.
Building acceptance is key within any organisation looking to embrace automation. So, it makes sense to get the basics right first – and the basics are the Minimum Trio of CI, CD and CM. These practices form a solid base for teams to build upon, enabling them to add further layers of automation as and when it makes sense – financially, operationally and culturally.