Recommended by 209 users
Out of keen interest in DevOps, I thought of coming up with a series of blogs that will educate you about the new culture being adopted in Software Development and help you understand what is it all about. This is the first of the many blogs in the series called as – The DevOps Tutorial.
In this DevOps Tutorial blog I will take you through the following things, which will be the base of the upcoming blogs:
Let’s consider developing software in a traditional way using a Waterfall Model.
In the above diagram you will see the phases it will involve:
The Water-fall model worked fine and served well for many years however it had some challenges. In the following diagram the challenges of Waterfall Model are highlighted.
In the above diagram you can see that both Development and Operations had challenges in the Waterfall Model. From Developers point of view there were majorly two challenges:
On the other hand, Operations was also not completely satisfied. There were four major challenges they faced as per the above diagram:
In the following diagram proposed solution to the challenges of Waterfall Model are highlighted.
In the above diagram, Probable Solutions for the issues faced by Developers and Operations are highlighted in blue. This sets the guidelines for an Ideal Software Development strategy.
From Developers point of view:
From Operations point of view:
I guess it’s time we explore what is DevOps and how it overcomes these challenges. Check out the below video on What is DevOps before you go ahead.
Learn DevOps From Experts
DevOps integrates developers and operations team to improve collaboration and productivity.
According to the DevOps culture, a single group of Engineers (developers, system admins, QA’s. Testers etc turned into DevOps Engineers) has end to end responsibility of the Application (Software) right from gathering the requirement to development, to testing, to infrastructure deployment, to application deployment and finally monitoring & gathering feedback from the end users, then again implementing the changes.
This is a never ending cycle and the logo of DevOps makes perfect sense to me. Just look at the above diagram – What could have been a better symbol than infinity to symbolize DevOps?
Now let us see how DevOps takes care of the challenges faced by Development and Operations. Below table describes how DevOps addresses Dev Challenges.
DevOps Tutorial Table 1 – Above table states how DevOps solves Dev Challenges
Going further, below table describes how DevOps addresses Ops Challenges.
DevOps Tutorial Table 2 – Above table states how DevOps solves Ops Challenges
However, you would still be wondering, how to implement DevOps. To expedite and actualize DevOps process apart from culturally accepting it, one also needs various DevOps tools like Puppet, Jenkins, GIT, Chef, Docker, Selenium, AWS etc to achieve automation at various stages which helps in achieving Continuous Development, Continuous Integration, Continuous Testing, Continuous Deployment, Continuous Monitoring to deliver a quality software to the customer at a very fast pace.
Learn DevOps Tools Now
Now take a look at the below DevOps diagram with various DevOps Tools closely and try to decode it.
These tools has been categorized into various stages of DevOps. Hence it is important that I first tell you about DevOps stages and then talk more about DevOps Tools.
DevOps Lifecycle can be broadly broken down into the below DevOps Stages:
These stages are the building blocks to achieve DevOps as a whole.
View Upcoming DevOps Batches
This is the end of the first blog of – The DevOps Tutorial Series.
To know more on DevOps Stages, Click here to visit the second blog – What is DevOps and Its Stages ?
Now that you have understood what is DevOps, check out the DevOps training by Edureka, a trusted online learning company with a network of more than 250,000 satisfied learners spread across the globe. The Edureka DevOps Certification Training course helps learners gain expertise in various DevOps processes and tools such as Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack and GIT for automating multiple steps in SDLC.
Got a question for us? Please mention it in the comments section and we will get back to you.