Upgrade or you will be out of race
Continues integration and continues deployment is industry standard, which is working for now. Since the infrastructure development or time to modify the infrastructure has drastically reduced because of this cloud. Before this cloud era, some DevOps tools were used by development companies. But it was not referred to as DevOps, and some used to work for individual companies.
Like the development company I had worked with, they introduced the Jira ticketing system after successfully installing workforce management software on dozens of retail customers. In 2008 we had set up an SVN server for the code repository. Using that, we use have integration between the development team. Then using Jira, the work used to get distributed.
Till the time they have around 25 to 30 customer installations, they have not used Jenkins or maven for code building automation. The point is, using the DevOps process is fair. It will have good productivity from the same resources. These DevOps processes are for productivity improvement, should not add additional burden on resources.
This automation has made the infrastructure team learn new things. They need to the adoptee to these new technologies. For long back, development teams or programming tools were getting changed, like from FoxPro to ASP.net then Java. But in infra, there was no significant change for a decade. I think it was only Linux that introduced some changes into the RDBMS database.
But the last couple of years, infrastructure requirements are changing. Now things are migrating to the cloud. A new development is designed considering the cloud. Code repositories are changing, and you can have one online storage that can be used by teams sitting across the globe. Using Jenkins or Maven, you can have built for each commit from the development team or a daily build of all commits from the development team.
Certain but evident test cases can be automated using these tools. Software like Junit can be utilized for this activity. It will have a number of test cases being tested automatically. For functional and appearance you need manual testing. Still, around 50 to 60% of test cases can be automated using Junit.
This tested and build can be deployed to the cloud, where the infrastructure as code tools like terraform or cloud formation tool of aws can be used for deploying this code. Using these tools, non-production environments can be deployed for certain hours and can be terminated when it is not being utilized. The next day can be installed again using these scripts, which will eliminate the enormous cost of a server purchase.
These tested codes can be deployed to production using docker or Jenkins. Now it is going to cloud era for next decade. People are developing specific software that will multi-cloud networking.