The IT sector grows as if on steroids. The number of dedicated IT specialists grows as well. The Agile methodology has drastically reduced the cycle of “write the code that does X, test it, document it and make it work”. The “make it work part” requires so much of combined development and engineering effort that it took a new dedicated specialist.
The term “DevOps” exists for a little bit over a decade. This recent type of IT specialist has quickly become one of the most demanded on the market. Here is a brief tour into what does it mean to be a DevOps.
The working process of such specialist requires some coding skills (the dev part) and network operations and communications (the ops part). The DevOps major area of responsibility is product environments and interaction between them.
Specifically, the DevOps prepares these three major environment types for each project:
1. Testing environment. It’s a lab where every new commit is run to do all the automated tests. This is how the team makes sure that new features work and bug fixes fix more bugs than they add new.
2. Stage environment. The stage for the grand rehearsal. It’s where we run the final checks to figure out if all the latest updates work together before moving them to the production environment.
3. Production environment. It’s a battleground where users actually use the application.
Also, DevOps set up the code repositories and procedures so every commit would go through every environment and be returned for a fix if QA’s find some issues.
The end goal of a DevOps activity (aka DevOps nirvana) is a state of a perfect pipeline orchestration starting from every initial commit of the developer to the source code repository and ending with the continuous merging of tested updates to the production environment. Ideally, this orchestration pipeline is easily deployable and modular for the seamless addition of new projects or changing ownership of the ongoing projects.