Some time ago, I started to work on an interesting project. An API for movie fans and I took the DevOps role because I wanted to learn how this "job" works. And what I realized was something completely different. Because is not a technology, is a Philosophy.
🚀 What is Devops?
DevOps is not only a person or a role in a company. It's a mindset, a way to take and create a culture in the team using automatic tests, deployments, etc on the CI/CD (Below I explain what this is). A DevOps measures the productivity of the fixes, the request time to the product and the time of fixing operation issues.
DevOps integrates developers and operation teams in order to improve collaboration and productivity by automating infrastructure, automating workflows and continuously measuring application performance
Mayor deployments, less mistakes = success
One of the videos that helped me a lot to understand the concept of DevOps is: Link.
One of the most important points (as competitive and internally) is the time reduction to release products to market. This along with the focus on the product and the commerce in general.
New tools are necessary on a DevOps oriented team. One of them is Jenkins, also a tool that can manage the source code (as Github), which will allow us to manage and document all the changes to the code. Also we'll need a tool to make deployment of projects.
DevOps is a philosophy of development that allows us to innovate in a fast way, and a better facing the necessities of the business.
Amazon has an excellent article about DevOps.
🛰️ CI / CD
Continuous Integration / Continuous Delivery (Continuous Deployment?)
Continuous Integration or CI refers to the automatic practices that we use to integrate the source code of different collaborators in the project. We normally build an image of docker, compile and build the code. And this phase makes focus into know if the code is clean and can pass some tests and doesn't break the project.
Now, CD has two different points of view Continuous Delivery and Continuous Deployment. Some people call it Continuous Distribution too. It automatically releases to the repository (Merging and making the image or the binary)
I invite you to read more about DevOps and CI/CD, because this role is more than a stack of technologies or a manual. It's a different way to see software production!