DevOps motive is to have agility in both development and operations through technical processes such as Continuous Development, Continuous Integration, Continuous Testing, Continuous Deployment, and Continuous Monitoring. DevOps tools and methods have reduced the cultural and methodological divide between developers and operators leading to the establishment of new professional figures often referred to as DevOps engineers, who centre their activity on tooling and automation across the whole application lifecycle. DevOps popularity can easily be judged by its Market size which exceeded USD 4 billion in 2019 and is poised to grow at over 20% CAGR between 2020 and 2026 [1].
Microsoft with its two DevOps Solutions – GitHub and Azure DevOps is ahead as compared to Amazon and Google. GitHub is open-source. Azure DevOps (Visual Studio Team Services)platform is Microsoft’s traditional closed-source customer base and is considered a mature product.
DevOps Lifecycle
The reference stages of the DevOps lifecycle are:
Plan: This stage aims at defining the objectives and requirements of the software production, along with the initial plan for updates and release across iterations.
Develop: Based on the plan, developers focus on the development and reviewing of software code. Typically, in this phase, the code undergoes frequent common code repositories as well as integration and unit tests based on build automation tools.
Verify: Verification is the process of evaluating the correctness of software artefacts in terms of the requirements.
Test: In this phase, automation testing will be performed continuously to ensure the quality of the software artefact. Contrary to traditional tests, this phase can include releasing trial versions to part of the end-user base, using canary testing.
Deploy: This stage focuses on the continuous deployment of the software in the production environment. This phase entails the problem of configuration management of the target platforms and resources.
Operate: Operation in DevOps cycles deals with the configuration and management of the software application
Features
Azure DevOps provides integrated features that can be accessed through a web browser. Azure DevOps supports adding extensions and integrating with other popular services, such as Campfire, Slack, Trello, UserVoice, etc. The following standalone services can be used based on business needs [2]:
- Azure Repos provides Git repositories or Team Foundation Version Control (TFVC) for source control of code.
- Azure Pipelines provides build and release services to support continuous integration and delivery of applications.
- Azure Boards delivers a suite of Agile tools to support planning and tracking work, code defects, and issues using Kanban and Scrum methods
- Azure Test Plans provides several tools to test apps, including manual/exploratory testing and continuous testing.
- Azure Artifacts allows teams to share packages such as Maven, npm, NuGet, and more from public and private sources and integrate package sharing into pipelines.
Azure DevOps comes preloaded with everything one needs to run end-to-end development for lean startups. It includes Iteration for Sprints, GIT, Release pipeline automation for lean DevOps, Azure Kubernetes Service, Test Plan Automation, Azure DevOps Extension, and Azure Application Insights[3]. Besides that, it’s easy to use and deploy, brings considerable savings for startups in terms of cost, offers the unlimited possibility for disaster recovery plans, on-demand storage options for regularly used data, solid security practices, and scales the resources up or down depending on their needs. Moreover, Microsoft offers extremely prompt and great support for any requests. Azure offers startups the key benefits and helps them accelerate their innovation. The above features allow startups to build and run innovative and mission-critical applications cost-effectively without compromising on security or privacy.
Challenges
According to the 2021 state-of-DevOps report, it is discovered that the vast majority of organizations remain stuck in mid-level DevOps evolution. There is a need to explore the blockers preventing these mid-evolution organizations from advancing. The major challenges that are faced while adopting the new culture of DevOps are:
- Both development and operation teams have their own goals and challenges so it’s difficult to work together.
- The lack of support and being not innovative can be challenging in meeting customers’ needs.
- DevOps practices cannot be implemented overnight. It is a step-by-step process.
- Proper Training and correct structure are required then the only team will follow the processes.
- A wide set of tools requires significant training for team and implementation.
References:
https://www.gminsights.com/industry-analysis/devops-market
https://docs.microsoft.com/en-us/azure/devops/user-guide/what-is-azure-devops?view=azure-devops
https://medium.com/@giladkhen/running-a-lean-startup-on-azure-devops-5934ced2cc42
https://puppet.com/resources/report/2021-state-of-devops-report