Welcome to Intellipaat. Hello Everyone, hope you all are doing fine.
Today I am going to talk about something interesting called DevOps.
What is it? Why is it essential in today's work culture??? You will be getting an idea
as we proceed.
So what shall we be learning today?
1. what was the need of devops, what led to its birth?
2. What is DevOps? 3. Various phases it has.
4. Then DevOps tools 5. Advantage of using it.
6. How cloud complements DevOps? 7. Various Companies using DevOps.
And finally, we will be talking about the career growth it offers you.
So, let's get started!!!
First of all, let us understand what led to the DevOps movement.
And to know that, it is essential to learn, what sort of difficulties came across while
getting a software out in use:
Development and Operations are two different entities in an organization that
never get along, though they ideally work in close coordination. You might often have
heard about the friction between the two teams due to this siloed mentality.
Many times, what worked on developers side, failed when got on the operational floor and
hence the never-ending conflict arose. To operations, developers always build code
that are oblivious to real world constraints. And, Developers are under the impression that
ops are resistant to change and hence becoming an obstacle to get a perfect product out.
So, they tend to lack a synchronization that affects and definitely delays the process
of development and ultimately deployment.
Another reason for this delay is the traditional waterfall model, most of the
organizations operated on. Testing is done only after the entire code
for a product is written and every component of the process is dependent
on each other. so, how does it hamper the overall performance?
let's understand in a way.
let me give you an example for that. lets say you have got 4 phases to develop
a whole product. Now, you have developed phase 1, and phase
2, phase 3 and finally phase 4 is also developed. And after that the phases go for the testing,
and testing team finds a bug in the phase 2 itself, that means all your efforts
in coding phase 3 and 4 went in vain since phase 2 itself was faulty and needed correction.
The logical building of phase 3 dependent on phase 2 and so on. Right?
So, what will happen, again you need to rework from phase 2 which killed your time, your
efforts and of course delayed the process of product development.
One of the major reasons of delays.
As a result, your productivity decreased because of the dependency on each other and
it increased the cost and timing required for the product to be up and running.
To address all these issues, to solve the conflicts between development and operations,
DevOps was introduced.
So, what does it really mean? It was introduced in year 2009.
It is not a tool, a software or a language but it is a culture, a philosophy, a change
in mind set that encourages everything which is required to improve the way you do your
business, to increase the productivity, lower the cost and smoothen the process. DevOps
requires a change in the mindset of how people work. In a DevOps environment, development
and operations work in collaboration with each other and not against each other.
It firmly believes in eliminating manual intervention for it takes time and automating the process
and continuously integrating them. And Most importantly, it works on Agile methodology.
Means. Different phases of a product are developed and tested simultaneously and not sequentially.
Since you now have the knowledge of what is DevOps and which methodology it
operates on. Let's talk about the phases it incorporates.
It has got majorly four phases: 1) Continuous development that is continuous
coding. Just like I told you that a software coding is divided into several phases to make
the task easier. 2) Continuous testing, means whatever code
is being generated is constantly being tested and hence doing the testing in a few minutes
or hrs. Which would otherwise might take days or weeks if done manually. And flaws are immediately
detected if any, and sent back to the coding team to rework.
3) Then it has got continuous integration, this means
whatever code is being generated or different versions of the product is being saved in
a local repository for future footprint. 4) Finally, Development phase, so the coding
is developed continuously and operated on the operational floor to check the efficiency
of the product in real time. These are the various and essential phases
of DevOps to create a smooth environment.
Now, as I said that DevOps is not any technology or tool or a language but a
culture which emphasize on using various tools, automation, close collaboration, synchronization
so as to help the organization thus benefitting the complete software development to deployment
process. So, let's discuss some of these tools:
Lets start it off with Jenkins: It's an important tool in DevOps culture. It is
a tool which supports continuous testing of the code, continuous integration and deployment
of the code. Basically, it automates all the processes. As I told you that DevOps firmly
encourages automation. Ansible: Another tool used for application
deployment and software provisioning. Using this tool, You can deploy your applications
in n number of systems at one go. You don't have to do it again and again.
Then we have got Docker: I think, it is really a fascinating tool by the picture itself,
and what it does is, it creates perfect environment for your applications to run. For example,
if one application runs on let's say Windows and the other one requires IOS so instead
of having two different software codes you simply can have docker and it would take care
of all the requirements of your applications. Now Puppet: A configuration management tool,
which enables system administrators to work faster. And used for server provisioning that
is to say it allocates the work to servers. And hence, taking care of the management of
your entire server infrastructures.
Chef: it is used for automation of infrastructure.
With Chef, your infrastructure is defined as code, ensuring that configuration policy
is flexible, versionable, testable and human readable.
It measures the load on the server and distributes it accordingly.
Nagios: It is a computer application that monitors
system, network and infrastructure. And what does it do???
It alerts users if anything goes wrong, rectifies that and again informs the users. It also
alerts the user when any human intervention is required.
Git: It is a Distributed version control system. And what does that mean? It means it is not
dependent on server, even if your server fails you will be able to work.
It maintains all the versions of your software with all the features. Like if you have written
let's say 1.1 version of a s/w and then 1.2 so it will keep all the versions so anytime
you can have a look on that and use accordingly. Also, it allows the users to work on different
versions of software simultaneously. And Maven: It is used for compilation of source
code and running tests.
So in the earlier slides I have given you an overview about the concept, phases
and tools DevOps uses. You must have got the reason behind bringing about this cultural
shift. Still let me give you three major benefits if you incorporate DevOps in your organization:
First of all: It improves the collaboration between the two essential teams in the organization,
development and operations. It encourages a change in the mindset to get the maximum
profit out of your business. As a result: when people work with each other
in collaboration, productivity definitely increases and eventually it decreases the
cost since you take less time in getting the product built.
And finally: You maintain a good position in the market since your delivering rate of
product is increased and you fix bugs faster. Because of all these you have happy and satisfied
customers. You are all sorted.
And now let's see how cloud complements DevOps:
So now you know, DevOps is a process to improve your way of doing business.
And cloud connects and facilitates use of technology and services, while taking care
of provisioning of infrastructure. Cloud computing allows developers more control
over their own components, resulting in smaller wait times. This application-specific infrastructure
makes it quite easy for developers to own more components. And by using cloud tools
and services to automate the process of building, managing and provisioning through infrastructure
as code, service teams speed the development process, eliminate human error and establish
accountability. And, hence clouds give everything that is
required for the DevOps to flourish.
And finally let's have a look which companies are following the DevOps culture:
Many industries are already doing DevOps like Amazon, Walmart, Visa, Sony Pictures,
Adobe, Facebook , Netflix to name just a few.
After all that, let's discuss the most important part:
Career opportunities, it has for you:
As I said. It's not a technology that can be replaced by some other technologies.
So any organization, if they want to grow big and work smoothly, they got to have DevOps
in place. They don't have any other option. So, employment for a DevOps expert is never
a problem As far as money is concerned, you will be
earning a handsome amount. In the United States a certified DevOps professional can earn somewhere
around $ 120,461 ( hundred twenty thousand, four sixty one ) per year, according to Indeed.com
And you can get 360-degree knowledge about DevOps at Intellipaat with the best
industry experts and witness your career grow. These are the courses.
For any enquiry
Contact Intellipaat anytime at the contact numbers and email being displayed.
Thank you for your time. Have a good day.