How to become a DevOps Engineer | DevOps Engineer Roles and Responsibilities | Intellipaat

By | March 8, 2020


hey guys welcome to the session by Intellipaat now we know how important DevOps has become into this software
development market pretty much every big company has moved on from traditional
development methodologies onto DevOps so it’s high time we also understood how it
works so keeping that in mind we have come up with this guide to help you
understand how to become a DevOps engineer but before we get into that
make sure to subscribe and hit the bell icon so that you don’t miss any of our
future update ok guys now let’s take a quick look at our agenda first we will
discuss why do you need to learn DevOps why is it so important then we will talk
about the salary you may earn as a DevOps engineer after which we will talk
about the different steps you should take to become a DevOps engineer and
then we will talk about the different phases there are in this field and what
are the different tools that are used in these different phases and finally we
will conclude by helping you to get started in learning about DevOps also
guys if you are interested in end-to-end training on DevOps we do provide the
same for any futher the details please check out the links given in the description below now
let us start the session first we will see why DevOps engineer so a DevOps
engineer must manage the IT infrastructure as per the requirement of
supported software code so what does this mean is in a software development
lifecycle there are a lot of stages from planning till deploying the code to the
production environment so to do that properly and in a structured way you
need a DevOps engineer a DevOps engineer basically monitors all of these
tasks and creates an automated process which will automatically deploy your
software so he’ll build a system he’ll build a lifecycle which starts from the
planning stage till the development and deployment stage so a DevOps engineer
require is required to implement the DevOps principles in a company so DevOps
is not a technology guys it is a set of principles or it is a methodology
which you can use and you can use various tools and services and you can
create a complete DevOps lifecycle which will benefit your business moving on now
we are going to discuss the DevOps engineer salary so they will
experience level for development operations engineer so basically a
DevOps engineer is a person who is in between development team and the
operations team so the development team is the team which develops the code and
the operations team is the one who deployed that code into the production
environment so there was a gap in between them so DevOps engineers are the
people who is the bridge between the development and the operations team so
that they can create a complete business lifecycle so they can build software
from planning stage then developing it and then testing it and then building it
and also deploying it so now let us discuss the salary so if you have less
than one year experience you might get up to 3.6 3 lakhs or 363 K in Indian
rupees and with one to four years of experience you can get up to five point
seven three lakhs per annum and then with five to nine years of experience
you can go up to ten million rupees and not a million it’s basically 1 million
that is 10 lakh rupees and with 10 to 19 years of experience more than 10 years
of experience you can get up to 2 million that is 20 lakhs per annum so
this was provided by payscale.com so moving on let us see the average
salary of a DevOps engineer in various locations or countries so first in the
United States you get hundred thousand dollars per annum and then in India the
average salary is five hundred and sixty nine thousand INR every year and then in
the UK the sixty two thousand five hundred euros or pounds per annum so
moving on now let us see the popular employer salaries for DevOps engineer so
TCS Accenture Amazon Wipro oracle corporation then Infosys and IBM
are very huge organizations all over the world so let us see TCS first TCS
provides you a 6.2 7 K this is the average salary and then Accenture
technology solutions provides five points one five lakhs and moving on you can
see Amazon provides one million that is 10 lakh per annum and then Wipro
provides six Accenture provide 6.5 Oracle provides 10 and Infosys and IBM
provided the same 6.5 and 9 lakhs per annum so moving on now we are going to
see the steps to become a DevOps engineer so the first step you will have
to take is you will have to check what are the common skills which are for
DevOps engineers so you’ll have to go through multiple job descriptions and
check what does the employer need from us so to understand that you will have
to go through job descriptions and find out the most common skills which are
asked from the employer quicken for you guys if you’re looking for end-to-end
training in DevOps we do provide the same for any further details please
check out the links given in the description below now let’s continue
with the session so now let us discuss them I have chosen three different job
descriptions we are going to discuss the common tools and the common skills which
the employers ask from us so the first one is from Unilever and it is for a
DevOps engineer post and you should have at least 5 plus years of experience so
basically they need shell scripting and also Python so they need you to know
some programming language. even the programming language is not part of a
DevOps engine but learning how a programming language works and that
programming language will help you very much in DevOps engineering and then
comes automation you will need to know either ansible chef or puffit as per
this company and then jenkins 2.0 and then java and the document communities
for containerization and also orchestration and then you also might
need to know about operating systems virtual machines containers proxy and
engines moving on so this role is from sap this role is for sap and they need
a 4 plus year experience DevOps Engineer so they’re asking for the latest
technologies that is as I told you containeraization and orchestration
tools they are asking for Kubernetes and containers and then for monitoring tools
they want us to learn Nagios Griffana Prometheus and these are some various
examples for monitoring tools and then basic knowledge of virtualization that
is creating virtual machines on cloud-based systems and also network so
they are asking us to know cloud technologies like OpenStack GCP Azure also
and then configuration management tools or automation tools which are chefs and
ansible and these are by ASAP and these are some common tools which you
will have to learn if you want to become a DevOps engineer and then this is for a
DevOps engineer mainly on continuous integration and continuous development
or deployment that is CI CD so this particular role needs 7 plus years of
experience and then they’re asking us to have a good knowledge in cloud services
that is AWS Azure GCP and other forms of cloud services and then they are
asking us to be strong in CI CD and also tools like git bitbucket teamcity
artifactory and JIRA so basically git and bitbucket or version control tools
teamcity is used for deployment purposes artifactory is used to store artifacts
and binary files and then they also asking us to learn about git a clash in
JIRA confluence bitbucket so at lashing tools JIRA confluence and bitbucket are
Atlasian tools so if you if your company is using atlasian environment
or atlasian ecosystem you might have to learn JIRA confluence and
bitbucket and then they are asking us to learn docker and kubernetes as I told
you they are containeraization services and also you’ll have to learn Python
shell so you will have to learn shell scripting basically if you want to
become a DevOps engineer that is very helpful and then configuration
management tools so configuration management in the sense Puppet and
ansible so as I already told you we will saw puppet ansible and chef in all those
three job descriptions so these tools are very much important if you want to
become a DevOps engineer moving on now I have summarized the
common tools which you will have to learn if you want to become a DevOps
engineer so the first thing is automation tools
why because DevOps engineers main objective is to automate the software
building process that is the software development process so you’ll have to
learn a lot of automation tools like puppet chef ansible and Jenkins so these
all automate the software development process and then comes CI CD tools so CI
is continuous integration and CD is continuous deployment so under CI CD
tools comes jenkins teamcity excel deploy and various services and
then comes testing tools so when you write a code you will have to check that
code for readability bugs so also it might have warnings and loopholes and
vulnerabilities in which hackers can use against us so basically when you create
a code and try to launch it to a production server you will have to know
and learn testing tools like selenium so that you can check the bugs before even
deploying those code into the production environment and then comes comes to
cloud services because most of the companies are shifting to cloud-based
systems right now many companies are shifting to AWS Azure GCP ali cloud
there are a lot of cloud seaman IBM cloud so you should learn the cloud
service which cups so you might be trying for a particular company and you
will have to learn the cloud service which is used by that company but
learning AWS Azure and GCP is very helpful because these are the world’s
most top 3 cloud services and they are used by a lot of firms and organizations
and then a programming language so programming language is helpful if you
do anything a programming language is useful for any role you take up in the
technical field and for a DevOps engineer as is creating a complete
lifecycle for software development so learning a programming language will
give that person better understanding of how software works so these are the five
different tools or five different summarized tools which you will have to
learn to become a DevOps engineer and in this session we’ll also be seeing few
tool to like for a few Automation CICD
testing and cloud service tools we’ll be looking at them right now so also skills
that affect DevOps engineer salaries so these services might include your salary
so there might increase your salaries so to become a DevOps engineer learning a
DevOps course or learning from somewhere learning what the DevOps tools is very
helpful if you think your experience in your last company to move to a DevOps
field is enough then you might get a 6% less salary but if you have a DevOps
certified course if you have a developed certification then that might help you
and then Python as I told you a lot of scripts are written in Python and
learning how a language works is very important and then comes cloud computing
Amazon Web Services so Amazon Web service is a cloud computing service so
learning cloud computing will help you because most of the company’s
architectures and infrastructure is on Cloud right now and then shell
scripting as I told you shell scripting is one of the important concepts because
for creating configuration and managing that configuration you will need to know
a shell scripting and then comes Jenkins Jenkins one of who is from one of the
most popular tools for the DevOps tools it is used for CI CD CI so learning
Jenkins would be very helpful because Jenkins is open source tool and it is
used by a lot of companies and moving on now we are going to look at various
devOps tools Quicken info for you guys if you’re looking for end-to-end training
in DevOps we do provide the same for any further details please check out the
links given in the description below now let’s continue with the session so
what we are going to do is we are going to learn tools like Jenkins Nagios
docker Kubernetes and git puppet and ansible let us look at them one by one
so first is continuous integration that is Jenkins so Jenkins is an open-source
automation server which is written in Java
Jenkins helps to automate the non non human part of the software development
process with continuous integration and facilitating technical aspects of
continuous delivery so now let me explain it to you a simpler so Jenkins
is basically a tool with automates the integration process so you
might have your source code in a git bucket so that git bucket can be
anywhere in the world so you can connect that to Jenkins so that whenever a
change is made in your git bucket Jenkins will automatically see that as a
trigger and it will start a build process
so what Jenkin will do it will build your code for you it will test your code
for you and it will give the artifacts that is for example if you are building
a java code it will give the jar file out so Jenkins does this automatically
it’s it will continuous integration and it does it for you free and then
continuous deployment for continuous deployment you can use docker puppet and
ansible so virtualization and containerization you can use docker for
configuration management you can use puppet and ansible now coming to docker
what docker does for you is it isolates it creates hosts which are isolated in
the same server for example you might have four different Python applications
which you want to launch on the same server but all of those Python
applications have a different version but you cannot launch different versions
of a Python Python application on the same server because Python does not
allow you to install multiple versions of it on a same server so for that what
you can do is you can create multiple docker containers which basically
isolate themselves from each other so that they do not see what is inside each
of those containers so each of those containers will have their own
software’s their own software libraries and also configuration so to be simple
docker virtualizes the operating system and not the hardware components so that
there is no connection between one docker container and another docker
container which around the same server so using this now you can launch four
different Python applications on the same server even if they have different
versions because your particular version will be limited to one particular docker
container it won’t be able to do the another docker container will not be
able to take that particular Python version and them
coming to puppet and ansible so configuration management means you might
have a master server and there are many client servers so what you can do is you
can install puppet agent or the ansible agent in all of those kind servers and
you can also have puppet and ansible installed in the master server so what
happens is every time there is a change in your code when it is built and tested
and that particular binary files are pushed for deployment so what happens is
whenever there is a change in configuration puppet will enable that so
that now when claims are suspecting there is a change in configuration they
send a request to the master and when there is a change master will send back
the configuration files for that particular change so now all the clients
and servers will have access to master and they’ll get the configuration files
and this will happen one by one in each server so that the website all your
application doesn’t go down moving on continuous testing so you’ll have to do
testing as I told you in Jenkins you can do testing but to do that testing you
need a tool so selenium is a portable software testing framework which you can
use for testing web applications it is open source and it can be used to
automate tests on web browsers so basically you can code and that code can
be used to automate the test so whenever that code is run by Jenkins of the
web server will be you sorry if the browser will be opened and the URL which
you provide in the code will be opened and also the tasks you have mentioned or
coded will be happening automatically you don’t need to do anything and
selenium takes care of all that and that is what called as continuous testing and
continuous testing is integrated with continuous integration that you can do
continuous testing inside of Jenkins and then continuous monitoring so continuous
monitoring is very important for any software application you use because
monitoring provides you with elemetry that is metric data with
that data you can make your services and application better for example you might
have four different features in your website and one feature might not be
used properly at all so other three features are getting
enough traffic but that one particular feature is not getting enough traffic so
what you can do if you can see if that feature is helping or providing value to
your customers if it doesn’t provide value you can remove it or you can see
why it is not providing value and make changes and improve your particular
feature so this is why Nagios is used and Nagios is an open source DevOps
tool and it is used to monitor systems networks and infrastructures so Nagios
provides you network monitoring application monitoring and also
infrastructure monitoring it has three different services and you can see it
also offers monitoring and alerting services for any configurable event so
you can set up alerting services that is whenever that’s the change made or when
your site goes down it alerts you and you can make the changes and you can
make your site up and running immediately moving on so this is the
basic DevOps DevOps architecture so you can see first a developer so what
developer does is he do some changes in the local environment after doing those
changes he uploads that code to github so basically what upload means there
will be the old source code in github so what this developer does is he changes
the content and if he is fine with it if he tests the code locally and if it is
running properly he pushes that code into github after pushing that code into
github github saves the latest source code and Jenkins now checks whether the
Jenkins checks whether there are changes made in github so if there are changes
made in github it automatically invokes Jenkins and Jenkins will run its build
tool so when Jenkins builds the source code after building the source code it
will also test the code using the help of selenium because whenever Jenkins
build something that build will trigger the selenium testing server so you have
a testing server over here and whenever Jenkins
Invoked as a CI tool it automatically invokes continuous testing after the
software is built for example when you are building a Java file using maven on
Jenkins it provides you a ware file so you can use that war file and test that
using selenium on your testing server but whenever that will change you how
will the testing server detect that for that you use puppet and ansible so
puppet and ansible detects the configuration changes in jenkins and it
provides the new configuration to the testing server and the testing server
involves that configuration files within it and after that it takes out the built
files from Jenkins and it uses to test it over here and if the test succeeds it
sends back to Jenkins and Jenkins pushes that to the deployment server that is
the production server after deploying that your website will be now up and
running and the changes will be made after doing that you can connect your
production server to a monitoring tool in our case it is Nagios when you
connect it to a monitoring tool so basically what happens whatever the
app’s actions are happening on your production
server or you on your websites will be noted and that metric data will be
gathered by Nagios when it gets gathered by Nagios it basically is feedback so
the developer can view what is going on in this application or on its web server
that is the production server so you’ll be looking at that and he’ll be checking
which are the features which are not used properly or where warnings
occur and if there are any loopholes if there is any delay and to use some
services if the web server is very slow or not if the production server is is
able to handle that coming to incoming traffic if it is it provides all those
metric data and developer looks at that and now he’ll gather some data and he’ll
check where to make changes what new code can be install so after looking at
that what he does know he changes that code and again pushes it to github and
all the other processes happen automatically so basically this is
complete lifecycle and this continues every time there is a change in code and
even this whenever the developer changes code basically he gets but what he gets
back and written his feedback that is monitoring metric data Quick info for you
guys if you’re looking for end-to-end training in DevOps we do provide the
same for any further details please check out the links given in the
description below okay guys just brings us to the end of the video if you have
any queries please leave them in the comments below and we will get back to
you at the earliest thank you for watching

3 thoughts on “How to become a DevOps Engineer | DevOps Engineer Roles and Responsibilities | Intellipaat

  1. Intellipaat Post author

    Guys, which technology you want to learn from Intellipaat? Comment down below and let us know so we can create in depth video tutorials for you.:)

    Reply
  2. Intellipaat Post author

    Guys everyday we upload in depth tutorial on your requested topic/technology so kindly SUBSCRIBE to our channel👉( http://bit.ly/Intellipaat ) & also share with your connections on social media to help them grow in their career.🙂

    Reply
  3. krishan yadav Post author

    Plz… Make A detailed video on Ethical hacking scope career responsibility

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *