Skip to content

Azure DevOps

Introduction

Azure DevOps is a Software as a service (SaaS) platform from Microsoft. It provides an end - to - end DevOps toolchain for developing and deploying software. Azure DevOps also integrates with most of the leading tools on the market. It is a great option for making a DevOps toolchain.

Azure DevOps is a platform that supports a collaborative culture and uses a set of processes that brings together developers, project managers and contributors to develop software. Azure DevOps makes it faster to improve and create products for organizations than they can with traditional software development approaches.

Brief History

Microsoft Team Foundation Server (TFS) has been around for more than a decade. It has been evolving a lot since it was released in 2005.

TFS was very complicated to use because it was created before user experience (UX) was a priority for Microsoft. Therefor it was critical to have hands - on management to deal with database change, service packs and countless upgrades that added numerous small features.

In 2012 TFS became a tool that helped teams manage their software development projects using Agile. This became very popular because companies already had Microsoft licenses. It made it easier to adopt and support Agile software development process.

In 2018 Microsoft renamed Team Foundation Server (TFS) product to Azure DevOps because of the importance af DevOps principles in their software development process.

Features

Azure DevOps has a range of services covering the full development life - cycle. These are:

  • Azure Boards: Agile or Scrum planning based on what suits the users needs the best, work item tracking, visualization and reporting tool. A single user can be a part of multiple organizations and the owner of the organization can assign roles and permissions to anyone in the organization when they need certain requirements to be done. Azure Boards also helps the development team with interactive and customized tools that they require to manage their software projects.It has support for Agile, Scrum and Kanban planning.

  • Azure Pipelines: A language, platform and cloud agnostic CI/CD platform with support for containers or Kubernetes. It provides templates that can be used by the user and the templates can be customized in the form of YAML, depending on the requirements of the project.

  • Azure Repos: Provides cloud - hosted private git repos. It is a version control tool that can be used by the team to manage their set of codes. Version Control systems are the software that helps developers track the changes in their code.

  • Azure Artifacts: Provides integrated package management with support for Maven, npm, Python and NuGet package feeds from public or private sources.

  • Azure Test Plans: Provides an integrated planned and exploratory testing solution. It is a tool set that are used by the development team to check the quality of the code going through the cycle. The tool can be easily used from the browser and provide many different kind of testing frameworks.

  • Azure DevOps can also be used to manage third - party tools.

Strengths

The benefits of using Azure DevOps are:

  • Reliability: As a SaaS offering, Azure DevOps is reliable, scalable and globally available. It is also backed by an SLA of 99.9% uptime and by 24/7 support.

  • Access to the latest features: Every 3 weeks Azure DevOps gets access to new features. Microsoft is transparent and have published the product roadmap and are committed to rapidly iterating on the feature - set.

  • End of the upgrade cycle: Upgrades are a regular headache for organizations that are running on - premises CI/CD tooling. By moving to a SaaS model, you no longer need to worry about patching and upgrading the toolchain.

Azure DevOps provides a platform that is not focused at organizations that are end - to - end Microsoft or Windows. Azure DevOps are:

  • Flexible: Organizations don’t have to go “all in” on Azure DevOps. Organizations can adopt each of the services independently and integrate them with your existing tool chain, most of the popular tools are supported.

  • Platform Agnostic: Azure DevOps is designed to work with ant platform (Linux, MacOS and Windows) or language (Node,js, Python, Java, PHP, Ruby, C/C++, .Net, Android and iOS apps).

  • Cloud Agnostic: It deliver continuos to AWS and GCP as well as to Azure.

Weaknesses

Some weaknesses Azure DevOps can have are:

  • Integration Challenges: DevOps requires a high level of integration between development and IT operations. This can be challenging to achieve, especially in large organizations with complex systems. DevOps can also require a significant culture change, which can be difficult to implement.

  • Increased Risks: DevOps can increase the risk associated with software development. This is because it requires a high degree of automation. This can lead toi errors if not properly configured. DevOps can also make it difficult to track the source of the problems when they occur.

  • High cost if misconfigured: It can be costly to implement if DevOps is not properly configured. DevOps needs a significant investment in automation and infrastructure. This can also lead to increased risks and integration challenges.

Comparison

Some Development platforms that compares to Azure DevOps:

  • GitHub

Collaborative Coding: You can contribute quickly with an automatic environment setup. You can see the changes that you make and have a community around your code. You can have discussions, easily search for code and navigate around your code, get notifications, give and get code review from multiple people.

  • GitLab

GitLab provides powerful planning tools so that your team can be synchronized. It enables planning and management through epics, groups and milestones, because of this you can organize and track progress in your team. GitLab is simple and flexible to use in planning. This meets the needs for both small teams and to large enterprises. GitLab helps teams organize, plan, align and track projects. This helps the team to know that everyone is working on the right things at the right time.

  • Jira Software

With this Development platform you can work with powerful agile boards, like Scrum and Kanban. You can keep you teams and organizations in sync with roadmaps. This makes that teams can make quick decisions but still stay aligned with the bigger goal. Jira is flexible and you can choose from team or company - managed projects. You can create customizable workflows to any style of work and you can extend the power of Jira Software with 3000+ apps and integrations that are available.

Summary

Azure DevOps is a feature - rich and mature platform. It is very flexible in the way that it supports different languages, platforms and cloud vendors. This makes it a viable option for a huge range of organizations. However, there is also some potential disadvantages that should be considered. But if it is used correctly, DevOps can help to improve organizations efficiency, quality and customer satisfaction.

Credits

  • Mona Dagsland (Littlaa)

References