Devops tutorial
Welcome everyone to a Edureka YouTube channel. My name is Saurabh and today I'll be
taking you through this entire session on Devops
full course. So we have designed this crash course in such a way that it starts
from the
basic topics and also covers the advanced ones. So we'll be covering all the stages
and tools involved in Devops. So this is how the modules are structured. We'll
start by
understanding. What is the meaning of devops? What was the methodology before
devops? Right?
So all those questions will be answered in the first module. Then we are going to
talk
about what is git how it works. And what is the meaning of Version Control and how
we
can achieve that with the help of git, that session will be taken by Miss Reyshma.
Post that I'll be teaching you how you can create really cool digital pipelines
with the help
of Jenkins Maven and git and GitHub. After that. I'll be talking about the most
famous
software containerization platform, which is docker and post that Vardhan we'll be
teaching you how you can Kubernetes for orchestrating Docker container clusters.
After that, We
are going to talk about configuration management using ansible and puppet. Now,
both of these
tools are really famous in the market ansible is pretty trending whereas puppet is
very
mature it is there in the market since 2005 finally. I'll be teaching you how you
can
perform continuous monitoring with the help of Nagios. So let's start the session
guys.
Will Begin by understanding what is devops? So this is what we'll be discussing
today.
We'll Begin by understanding why we need devops everything exists for a reason. So
we'll try
to figure out that reason we are going to see what are the various limitations that
the traditional software delivery methodologies and how it devops overcomes all of
those limitations.
Then we are going to focus on what exactly is the devops methodology and what are
the
various stages and tools involved in devops. And then finally in the hands on part
I will
tell you how you can create a docker image how you can build it test it and even
push
it onto Docker Hub in an automated fashion using Jenkins. So I hope you all are
clear with the
agenda. So let's move forward guys and we'll see why we need DevOps. So guys, let's
start
with the waterfall model. Now before devops organizations were using this
particular software
development methodology. It was first documented in the year 1970 by Royce and was
the first
public documented life cycle model. The waterfall model describes a development
method that
is linear and sequential waterfall development has distinct goals for each phase of
development.
Now, you must be thinking why the name waterfall model because it's pretty similar
to a waterfall.
Now what happens in a waterfall once the water has flowed over the edge of the
, cliff. It
cannot turn back the same is the case for waterfall development strategy as well.
An
application will go to the next stage only when the previous stage is complete. So
let
us focus on what are the various stages involved in waterfall methodology. So
notice the diagram
that is there in front of your screen. If you notice it's almost like a waterfall
or
you can even visualize it as a ladder as well. So first what happens the client
gives requirement
for an application. So you gather that requirement and you try to analyze it then
what happens
you design the application how the application is going to look like. Then you
start writing
the code for the application and you build it when I say build it involves multiple
think
compiling your application, you know unit testing then even it involves packaging
is
well after that it is deployed onto the test servers for testing and then deployed
onto
the broad service for release. And once the application is life. It is monitored.
Now.
I know this small looks perfect and trust me guys. It was at that time, but think
about
it what will happen if we use it. Now fine. Let me give you a few disadvantages of
this
model. So here are a few disadvantages. So first one is once the application is in
the
testing stage. It is very difficult to go back and change something that was not
well
thought out in the concept stage now what I mean by that suppose you have written
the
code for the entire application but in testing there's some bug in that particular
application
now in order to remove that bug you need to go through the entire source code of
the application
which used to take a lot of time, right? So that is Very big limitation of
waterfall model
apart from that. No working software is produced until late during the life cycle.
We saw that
when we are discussing about various stages of what for more there are high amount
of
risk and uncertainty which means that once your product is life it is there in the
market
then if there is any bug or any downtime, then you have to go through the entire
source
code of the application again, you have to go through that entire process of
waterfall
model that we just saw in order to produce a working software again, right? So
that's
how it used to take. A lot of time. There's a lot of risk and uncertainty and
imagine
if you have upgraded some software stack in your production environment and that
led to
the failure of your application now to go back to the previous table version used
to
also take a lot of time now, it is not a good model for complex and object oriented
projects