Getting started into DevOps


What is DevOps?
It's a cultural practice in an organization by the development (Dev) and operations (Ops) teams to use each other's tools, to smooth out the software delivery process.
The Problem with Traditional Software Development
Whenever an application is being developed, there are multiple phases of its development. Now when the application is small in size, like when you want to build a website, mobile app etc.. Then everything is fine because you may have a small team of 1 or 3 people who can handle the entire application's features planning, building, and deployment to the server or cloud so that users can use that feature.
But things change when a mid-size company develop a big-scale application for the entire world, like Amazon, Netflix, Zomato, etc. Now when these applications are developed we have different types of teams that manage different parts or architectures of the application.

We can divide teams into Developers (Dev) and Operations (Ops) teams. The Dev team wants to deliver features quickly and deploy them quickly. The Ops team wants the system to be stable and uptime is most important to them.

The Dev team typically assumes that the Ops team is idle and that whenever they provide these new changes or features, they will immediately deploy to the server or cloud. However, this does not always occur. The Ops team are also busy managing and checking a variety of things like scalability, what kind of traffics is coming and security check of infrastructure etc. usually in big application development happen 1 or 2 times a month. Sometimes the development team is frustrated that everything has been done but the operations team has not yet deployed their feature to production.
Solution
The DevOps mindset provides a solution to this issue. In DevOps, the Dev and Ops teams discuss everything side by side like one team and sometimes switch roles and responsibilities to ensure that everyone on the Dev team is aware of what is happening in the operation and that the Ops team is aware of how things actually function on the development side as well.

This exact mindset that ensures that everyone is aware of everything that is occurring on both the development and operation sides is known as DevOps.

Benefits of DevOps
Faster delivery of software
Teams can use automated technologies to create, test, and deploy software through continuous delivery.
Better collaboration between teams
The foundation of DevOps is a culture of collaboration between developers and operations teams, which helps reduce conflicts and improve communication.
Rapid development
The team quickly enhances the product by releasing new updates and bug fixes by increasing the frequency of releases.
Quality and reliability
By using continuous integration and continuous delivery to test that each change is functional and safe. Monitoring and logging help the team keep informed of performance in real time.




