Lets understand the devops in very layman terms what is Devops?
Devops is an integration of Development & Operations. Development & Operations Team are the main component of the application release process.
Before we jump into the concepts of devops you should first understand how the development team works. The main goal of the development team is to create an application and delivers it to the end users, whether they follow the old waterfall approach or the new agile way for delivering applications.
When the application delivered to the end users then there are other factors where development team will work :
Any problems within the application?
Are users experiencing any issues
Can application handle high user load?
Application always needs some improvements in terms of adding new features ,optimize performance or fixing bugs. So the development team sends multiple versions for the applications to resolve the challenges.
To speed up this process devops comes an idea of improvement it introduces Continous Delivery which means endless cycle of improvements to your application.
What are the challenges which devops trying to solve let see below:
There are various roadblocks & frictions in release process which slow down the entire application delivery process and there is too much effort needed to deliver the application on time to the end users.
- Miscommunication & Lack of Collaboration.
Developers can only write the code but they can't deploy & run the application
Operations only deploy and operate the app they dont know how the app works!
Conflict of Interest:
One team owns the responsibility for development while other team owns the responsibility of operationsSecurity : Operations team worried about the system stability and system security.
Application Testing:
There are various challenges related to the application testing which are
\> testing the app on different levels
\> test specific features
\> end to end tests/testing on different envs/performance tests
- Manual Work:
Operations teams performs the manual work like configuring the infrastructure managing the servers manually deploying the application manually ,manually preparing the deployment environment so these are the challenges which affect the release delivery which could takes weeks or even months.
To overcome all these challenges devops comes into the picture which not only make the release process efficient also it creates the infinity cycle for Continous Delivery/Continous Integration to streamline the application release process. It helps both the development & Operations team to communicate with each other understand the requirements and with the help of tools and technologies they create an automated effcient scalable, reliable release process.
So now we can say Devops is the combination of cultural philosophies ,practice & tools-anything that creates the process of releasing the software fast with high quality.
If some one ask me explain Devops why they implement devops in their software this will be my answer in three magic words about devops
Devops will make you software delivery process
a) BETTER
b) FASTER
c) CHEAPER
#devops#firstBlog