What is DevOps?
DevOps is a set of common practices that aims to make deployments more frequent, reliable, and less time – consuming. DevOps reduces the time between a code change and its deployment to production.
Removing the boundaries between traditional development (Dev) teams and IT operations (Ops) teams, a DevOps Engineer knows both Development and Operations.
The 3 biggest advantages of DevOps
1. Better code quality control processes with Continuous Integration (CI)
CI allows the development team to integrate new code into the existing code base, in an automated way, reducing the need for manual intervention. It checks code for build errors, runs unit tests, validates code coverage, runs static code analysis, and other things that improve code quality.
2. Faster deployments with Continuous Delivery (CD)
CD allows the development team to deploy an application to the production environment much faster. It automates the deployment process so that deployment can be done just by pressing a button. The most advanced way of doing CD is to deploy every change in the production environment, multiple companies such as Facebook and Google have been doing this for years
3. Reliable infrastructure through Infrastructure as Code (IaC)
IaC automates the creation of a new environment using scripts that can stay side by side with source code. It allows us to create a new environment simply by the click of a button. The process of resource allocation (VMs, cloud services, etc.) is no longer managed by a person who needs to remember how to configure everything to make it work, instead, scripts take care of that.
The 3 biggest disadvantages of DevOps
1. Cultural shift
DevOps requires a cultural shift in company processes. The Developers and IT Operations need to be merged in a single structure and work very closely with each other. Developers who are used to doing things in a manual way (manual deployment to the production environment, no automated builds) as it was before the DevOps era, will have to change their mindset towards the DevOps mindset, where everything is automated.
2. Learning curve
For those who are not familiar with DevOps practices, it might be a real challenge. The reason for that is that DevOps has been around for more than 10 years and is at a very mature stage with lots of tools and practices. To overcome this challenge, it would be a good idea for those organisations who are just planning to implement DevOps to take external consultancy.
3. Additional effort for legacy code
It is easy to adopt DevOps in a greenfield project that uses new technologies. Adopting DevOps culture in a legacy project might be a more difficult task because the project might use legacy technologies that are harder to automate. Usually, it requires finding workarounds for legacy technologies or replacing them with new technologies that are built with DevOps in mind.
If you would like to speak to someone at Amdaris about DevOps, just get in touch.
Call +44(0)117 935 3444 and let us know about your next plans. We will help you choose the best technology for making your project a success.
Look out for our next series of blogs which will focus in more detail on Infrastructure as Code (IaC) and Azure Resource Manager (ARM).