What is DevOps? – A Software Delivery Approach

In my previous blog, I have explained about Microsoft Azure and Amazon Web Service (AWS).
If you want to know about AWS then read my another blog – What is AWS?

What is DevOps?

DevOps is a buzzword today in Cloud Computing.

DevOps – A short form of Development and Operations is a software delivery process that helps development and operation teams to work better together.

As we all know that necessity is the mother of invention. The same thing for DevOps, today organizations want their software/application to release faster and frequently to compete in the industry.

DevOps increase an organization’s ability to deliver the application to the production environment. The main goal of DevOps is improved deployment frequency, less failure rate of new releases. DevOps is all about automation.

For Microsoft Azure Certification list visit this link 

Microsoft Azure Certification List
As per Amazon:

“DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes. This speed enables organizations to better serve their customers and compete more effectively in the market.” Reference- Amazon

 

As Per Microsoft:

“DevOps brings together people, processes and products and enables continuous delivery of value to your end users. Azure makes DevOps easy, fast and cost-effective with the resources and open source tools you need to meet your business objectives.” Reference- Microsoft Azure

So the summary is, DevOps is a software delivery process which enables continuous delivery of production to meet customer requirements. You can understand DevOps with the below diagram.

What is DevOps?

Why DevOps?

Assume last night there was an integrated build release on production.

Next morning something went wrong on a web page and showed Bad Request or Internal Server Error or something unexpected.

And your client’s reaction will be like this.

What went wrong in the last release? To overcome this client reaction, organizations are moving towards this new approach called DevOps.

DevOps is not a single tool. It is a set of more than one tool. Majority of DevOps tools are cloud-based however there are companies which offer DevOps tools for on-premise deployment. For example DevOps in Microsoft Azure – Visual Studio Team Services, Jenkins for Continuous Integration on Azure VMs

Code – Development, Review, Code Merging Tools
Build – Continuous Integration Tools like JenKins
Test –  Testing Tools that provide feedback as well

Use and benefit of DevOps

    • Speed
    • Rapid Delivery
    • Improve Collaboration
    • Reliability

Below is the old traditional approach that we are following already.

Understanding DevOps Process

In the above picture, everything looks ok, then what is the problem ?

As per traditional software development process if a development team completes their works then it goes to the testing team and obviously the testing team will take some time to test and report the same to the development team. For eg in our case testing team took 4 days to test and report and in the meantime development team is busy in writing code, now testing team has reported some bugs in a module. Now in this case the developer or development team will have to do re-work as the team has continued writing code.

Also, if you are a developer and you are spending hours to deploy the application in an environment or writing steps in a document for the deployment process. It’s horrible. Isn’t it?

Now DevOps is here to automate all these horrible tasks and make developer life easier.
Above scenario can be avoided in DevOps by using continuous delivery.
Now let’s understand the importance of DevOps using diagrams.

Understanding DevOps Process

Summary:

  • DevOps is a software delivery process or practice
  • DevOps is all about automation.
  • DevOps contains multiple Tools.
  • DevOps helps the organization to increase the frequency of delivery.

Job Scope for DevOps

Now many of you are thinking that what is the scope of a software professional who knows DevOps processes and their tools.

Be clear, there are huge opportunities for a person who knows DevOps.

Suppose you are purchasing a product with few features with a price X, and at the same price, another company has launched a product with numerous new features, then why would you buy a product with limited features even you have the option to buy a product with more features.

The Same case applies to DevOps, a single person is playing multiple roles in DevOps process as everything has been automated. So definitely you will be the default choice of a software company if you know DevOps.

Hope you understand the basics of DevOps.
If you have any query or want some improvement in this blog, please share your knowledge in the comment.

You might like my other blogs:

Please follow and like us:

1 thought on “What is DevOps? – A Software Delivery Approach”

Leave a Comment