hey guys welcome to the session by Intellipaat devops is a set of principles
which you can use to automate the complete development process in your
company and devops is so widely spread right now that a lot of organizations
are trying to adopt DevOps because of its reliability and in this
session we'll be learning the top 10 DevOps tools available in the market
currently and before moving on with this session please subscribe to our channel
so that you don't miss our upcoming videos now let us begin with this
session so the first devOps tool which you are going to look into is github
github is a software hosting or a version control tool which is currently
a subsidiary of Microsoft so Microsoft bought github in the year 2018 so now
let us see why exactly do we need github so developer makes a lot of changes
locally to the source code to the documentation and also to the files
available in the local environment so to make those changes in the production
server the developer had to manually go over there and make these changes but
this process was time-consuming so to overcome this particular problem
developers came with an idea called github so what they did they made some
few commands and a particular background process so whenever you make some
changes in the local environment you can track those changes and push those
changes to the production server so to do this you just have to type a few
commands in your local environment and that changes are made in the production
server so this was quick and also reduced time so there are similar tools
like github you can see like bitbucket subversion mercurial and also zero
reports so you can use all of these services to do the same commands and do
the same operations Github provides you so now let us see the
next tool the next DevOps tool which you're going to look into is docker so
docker is the containerization tool what is exactly this is it creates different
containers which isolates themselves from other containers and also the
server so that it can have its own software libraries and configuration but
why do we need it let me give you an example for that if you are trying to
launch four different Python applications which have four different
versions you do that on the same server because
python does not allow you to have different versions of it in the same
server so what do you do you use docker docker creates you four different
containers which can have four different softwares that means you can install and
launch four different versions of Python on the same server using docker and all
of these doctor containers will be isolated from each other so that they
cannot communicate within them so now what you can do you can easily launch
four different Python applications on each of the doctor container so this is
why we exactly use docker 4 but what exactly doctor does is it does not
virtualize the hardware components instead it virtualizes the operating
system sounds cool right now let us see the next tool the next tool which you
are going to look into is Apache maven Apache maven
is a tool which you can use to automate bills and it is mainly used on Java
based code it can also be used on other languages let me tell that later first
let us see what exactly maven concentrates on so the first thing is it
describes the way that software is built and the second thing is it describes the
dependencies that software requires and how does it do that it uses an XML file
to do these things so it describes the software the dependencies and the
configuration in a single XML file so maven can also be used on different
languages like Ruby c-sharp Scala and also a few more but the coolest part
about maven is it uses a concept called project object model or POM or
POM so pom is an XML file which describes the entire configuration of a
project in a single file so also there are similar tools like NPM and msbuild
which does the same operations like maven but NPM does it with JavaScript
and msbuild does it with dotnet so now let us see the next tool the next tool
which you are going to see is Jenkins the sole purpose of Jenkins is to
automate and integrate all the stages office software life cycle where we
build and test the code we can configure Jenkins as such whenever there is change
made in github the changes will be taken by Jenkins and the build and test
process will be automatically started so this reduces
the human intervention and also anyone's dependency as this process is
instantaneous the code will be tested and deployed simultaneously so the start
feature of Jenkins is continuous integration so that is why it is
extremely helpful now let us see the two reasons why Jenkins is widely used the
first reason is it is open source and the second reason is it was created by a
developer to help other developers in the development lifecycle so now let us
see similar tools to Jenkins there are two different tools which is bamboo and
teamcity but both are not open source so bamboo comes with the atlassian
ecosystem if you are using Atlassian ecosystem bamboo would be easier to
integrate and then comes teamcity teamcity comes integrated with a lot of
DevOps tools like maven and both of these tools are not open-source you will
have to pay for them so that also their support is better and if you are doing
an open source project Jenkins is the best option because it's free and it has
a lot of integrations with it you can integrate Jenkins with cloud-based
systems also now let us see the next tool the next tool is Kubernetes
Kubernetes is a container orchestration tool so why do we need it it is used for
continuous deployment of software's which are already built it is extremely
useful for software's which were built on microservices architecture because it
is done by orchestrating multiple containers and also Kubernetes accepts
docker as a containerization platform Kubernetes is an open-source project
which is basically built by google developers and it was donated to the CNCF
that is the cloud native computing foundation even now Google Red Hat and
many organizations or active contributors for Kubernetes the CEO of
Pepsi o Joe Beda has coated that Kubernetes is an open source project which
enables teams of any sizes from a start-up to a fortune 500 company to
automate scaling deploying and managing of applications on a group or cluster of
server machines now let us see the next tool the next tool is artifactory
artifactory is JFrog product and it is an artifact
repository manager or also called as binary repository manager so what does
it mean so basically when you store your code in github and compile and run it it
will generate some binary files you will store those binary files in artifactory
artifactory stores those binary files and also combines them with dependencies
which will give you a file which is called an artifact and while it is
called as a binary repository manager as we already told you when you compile
Java it will provide you jar or war files so
those files has to be stored somewhere and artifactory is the right place to
store them so that you can push those files to a CI CD tool and also package
managers like NPM maven a NuGet can be managed using artifactory and
artifact repository managers are also considered as very useful tools
currently like the version control or CI CD tools moving on now we are going to
see two different configuration management tools
the first one is puppet and the second one is ansible first let us look into a
puppet to use puppet you will have to install the puppet agent in all of the
servers where you have to manage them so after installing puppet agent those
servers are called as nodes in regards with puppet there is this master server
which has all the configuration files of all these nodes so this master server
checks for any changes in configuration files at regular intervals of time and
also all of these nodes check the master server for any change in their
configuration files and if they find any change they pull those changes and apply
it to the puppet agent and now let us see ansible
so ansible is very simple yet a powerful tool to manage multi-tiered applications
also but unlike puppet ansible is very simple
to setup because it does not need any agent or software to be installed on the
server say either in master or slave the next tool is nagios nagios is a
monitoring tool and it lets you monitor your servers infrastructure and network
it is also said to be the best server monitoring tool in the market because of
its flexibility because it allows you to do both agent
lists and agent based monitoring it has a humongous 5,000 different add-ons
which you can integrate and check metrics to get quality insights and also
the concept related with Nagios is continuous monitoring so Nagios can be
used to detect Network issues and also overcome performance issues now let us
see the next tool the next tool is sonar cube and it is a quality control tool
sonar cube quality checks your developers code what does it mean is it
checks for the readability the bugs and the vulnerabilities in the code which
got created and also it is combined with the process called the continuous inspection
so whenever there is a change in your code
sonar cube automatically executes to check the bugs inside your code and also
sonar cube can be implemented or integrated with already existing version
control tools like github subversion mercurial as your repose and many more
and also sonar cube can be used on many languages currently 25 plus languages
like Java Go typescript Python and few more and also sonar cube is widely used
because of its easy integration with existing Ci / CD tools and also other
DevOps tools like Jenkins Azure DevOps GitHub and TeamCity okay guys now let us
look into the cloud tools for DevOps so we know AWS and Azure or top cloud
service providers but do you know they also provide quality DevOps tools to
create a development lifecycle now let us look into that so first let us see
what is your provides us Azure has service called Azure DevOps which
provides a services like Azure repose Azure boards Azure pipeline stress
plants and also artifacts Azure repose is a version control tool as your
pipelines is a CI CD tool Azure test plans is for testing as your artifact is
an artifact repository manager and finally Azure boards and dashboards
can be used for monitoring now coming to AWS devops it provides us four different
tools which is code commit code deploy code pipeline and also code build code
commit is again a version control tool code
is for building code deploy is for deploying like Kubernetes and finally
code pipeline is used to combine all these three services to create a
development lifecycle and here there is no monitoring tool but you can use AWS
cloud watch for monitoring so guys we've seen all these tools and AWS devops and
azure devops are also two different DevOps services which you can use to
create a development lifecycle so guys we've learned what are the top 10
devops tools we have chosen these tools because they're open source and also
popular there are still a lot of DevOps tools which are available for free you
can check them out I hope this session was helpful and
informative for you if you have any queries please leave it as a comment
below and we love to help you out thank you