All You Need To Know About DevOps !
INTRO
DevOps ! You Might have heard this term somewhere it is the hot topic going now and a much needed important role in IT industry , but some of you may be new to it so lets start .
WHAT IS DevOps?
DevOps basically is the combination of two role/teams dev(developer ) and ops (operations) so when the team of DevOps work they have to take care of the developer/development part and the operations part. In other words it can also stated as to aim the software development life cycle to get complete as soon as possible .
WHY THERE IS NEED FOR DEVOPS ?
As a developer when you write code for a software or an app there might be multiple files and multiple developer working on it so when the developer writes code pushes it into Github and the software is ready, the code will need to be build and tested before running it in production. Now the code will be of hundreds and thousands line that will need to be tested. If in the testing environment or in deploying the code fails or have some errors, bugs, warnings then the whole code need to be reevaluate again by the development team till then it might happen that the developer might have started to work on the other project and will have to take time to reevaluate the code and might have to grasp the functioning of the code again, So here the DevOps comes into picture by applying agile methodology and creating the automation for testing and deployment , the error in code will be send back to the development team and they will be able to work on code as soon as they can by the help of CI/CD pipeline called as continuous integration continuous deployment/delivery. So now whenever the code will get merge in Github the build process will be triggered automatically then the loop of DevOps cycle will start i.e CODE, BUILD ,TEST, DEPLOY, OPERATE, MONITOR .
How does it help deliver applications quickly?
As in the above loop diagram you can see how the lifecycle of DevOps work, now whenever there will be code pushed in Github there will be a CI/CD pipeline created by DevOps team so if any error will be there in code the development team will get to know then and there only. The error message will be send back to the development team in real time. After the build is done only then the testing will be done in the CI/CD pipeline, if the build fails further process will get stopped and by this we will get to know the problem in our code also another advantage is that it reduces the human effort of manual testing. Now a days more companies are moving toward automation for their software development lifecycle. Not here our DevOps work stop but after the release of software/application, the DevOps team will operate and monitor the deployed application/ software to make sure every thing works fine by using various tools. By applying all these practices it becomes easy and a good software deployment is done with best practices.
Tools used for DevOps
DevOps is mostly dependent on tools. These tools are mostly open source projects under the maintenance of organization such as APACHE ,GOOGLE ,CNCF,LFX etc . For every phase of DevOps lifecycle there is a different tool , such as for code you can use Git ,Eclipse,Jira ,for build you can use Maven,Ant ,Graddle, for testing there is Selenium and JUNIT, for release there is JENKINS,BAMBOO, for deploy there is Puppet, Chef , for operate and monitor there is Splunk,Nagios etc and besides these lot more others are there. Here you can have a look in the diagram .
Hope you got a basic understanding of DevOps , however there is more to it like containerization concept, docker, Kubernetes, microservices, Infrastructure as Code and many more .
Do share if you like it !!