What is DevOps

DevOps is combination of culture, practice and automated tools that increase the organization’s ability to deliver the product and services at high pace. This increased pace enables the organization to better serve their customers and compete the market challenges.

Capture

Under a DevOps model, Development and Operations team no longer work in “silos”. Sometimes these two teams are merged into a single team where the team members work across the lifecycle of the project. Quality Assurance team may also become more tightly integrated with Development and Operations and help in delivering a high-quality product. Facilitating closer relationship between these working streams is an important part of culture shift. This will benefit the organization from their combined knowledge and experience and improve the job satisfaction as well.

The ultimate goal for adopting the DevOps is to- deploy the quality software automatically to deliver the business value fast.

“DevOps is the union of people, process and products to enable continuous delivery of value to our end users”- Donovan Brown

Why DevOps

The pace at which industry is moving, it is very critical for an organization that their products, features or services reach the customer fast. It is very important in today’s scenario that the teams are more involved in innovation rather that fixing or maintaining. By implementing DevOps, it becomes possible to deliver the new features to the customer quickly without the manual interventions.

Benefits of DevOps

Speed

speed

DevOps allows to deliver at high velocity to help you enable innovate for your customers fast, adapt to changing markets better and grow efficiently driving business results. DevOps enables your development and operations teams to achieve these results. Your teams will take responsibility of their features and quickly release that to the customers.

Rapid Delivery

Rapid

DevOps enables to deliver your product or features at rapid speed thus allowing ample time to innovate for your customer so you have competitive edge in the market. Any enhancement on the product can be delivered to the customer very rapidly hence the customer satisfaction is increased. Continuous Integration and Continuous Deployment are the processes that automate the entire release process.

Reliability

Reliablity

 

 

DevOps ensures the quality of the application update and the underlying infrastructure changes so that you can deliver high quality product at high pace, maintaining positive experience for the customers. Integration of quality gates in the release pipelines ensures the quality of the product, while integration of monitoring and logging informs about the performance aspects in the real time.

Scale
scable

DevOps helps to increase the scalability of the infrastructure and development process, the options like Infrastructure as a Code helps to maintain the various environments in a repeatable and more improved way.

Improved Collaboration

collaboration

DevOps help to improve collaboration among the teams. It helps to build much more efficient and effective team and mutual collaborating culture; hence it helps in reducing the time wastages and in efficiencies. Teams start to emphasize more on cultural values like ownership, mutual respect and responsibilities.

Security

security

DevOps enables the rapid delivery without compromising on the security front and still remain security compliance. One can opt the DevOps model by automating and integrating the security policies and compliance techniques.

DevOps on Azure

Microsoft Azure provides strong tool chain to support DevOps for the applications.  You can host any technology, any framework Node.JS, php, Python, Java etc. not just Microsoft technologies. You can integrate the release pipeline with git repository or Team Foundation Version Control (TFVC). The tool chain from Azure getting rich day by day with something new being release every three weeks.

Let’s demonstrate how can DevOps be implemented step by step on Azure.

Create a WebApp

A WebApp can host any web application in any technology/framework.

Capture1

Turn on the Application Insight

Application insight is a powerful way of monitoring the performance of your application in real time.

appinsight

Add Continuous Delivery

This will integration the build pipeline with release pipeline. This automates the build, load test and deployment. Setup deployment on staging environment, set up approvals before going on Production.

cont del.png

Select the repository

repo

Select the application framework

framework.png

Setup the load test

loadtest.png

Setup the deployment slot

Using the deployment slot, one can deploy to the staging environment to ensure the quality, once quality is checked to be at the required level, it can be swapped with Production so the end user experiences zero down time.

depslot.png

Now the Azure will automatically create build definition for you and create the automated release pipeline so each time you run the build job the environment will be auto updated after running the load test. You can also integrate it with the unit tests, so the unit tests are also run before the deployment. Microsoft also provides plug ins to integrate the build job with SONAR. So the entire build/release pipeline can be automated in Azure to implement fully automated DevOps cycle.

DevOps to NoOps

Let’s now discuss another paradigm called NoOps.

The NoOps is a concept of using intelligent automation for your operations so you can eliminate the need of humans to manage the operations, save precious engineering time and let the know problems solved by intelligent machines.

It is the concept that an IT environment can become so automated and abstracted from the underlying infrastructure that there is no need for a dedicated team to manage software in-house.

The tops trends that will power the NoOps adoption are as follows-

Serverless Programming

With the birth of concept of Function-as-a-Service by the providers like Amazon Lambda and Azure Functions industry has already started to move to the server less paradigm without thinking about the underlying infrastructure.

Containerization

The industry will see increased adoption for all the new application deployment in the cloud being powered by containers like Docker etc. As industry adopt cloud as mainstream infrastructure, it will see further increased trend of Containerization across enterprise applications in the companies.

Microservices Architecture

While lots of applications have already moved to Cloud, the real power of Cloud can only be realized by the use of Microservices. The microservice helps to decouple from the complexity of the Monolithic services. These are small, manageable and independently deployable units handling specific responsibilities. The microservices will see a rapid adoption with containerization becoming new way of deployment on the cloud.

Intelligent and Unified Operations

With the rise of machine intelligence and deep learning, there will be a deep rise in dynamic tooling like intelligent monitoring, intelligent deployment, intelligent APM, intelligent log management and intelligent incident management.

One thought on “DevOps- DevOps on Azure and DevOps to NoOps

Leave a comment