Azure DevOps Server.

Eugeniu Cozac
9 min readApr 10, 2021

An undebatable fact of the business world today is the diversity of customers’ needs. Studies in marketing have revealed that consumers’ needs are never static, they change every now and then. Years have past when buying and selling requires physical presence, today the use of websites and mobile application have made things much easier. But you know it will take having a large data bank and server to operate a website or app that’d meet-up with such a huge and unstable demand.

The age-long approach of tackling this is self-hosting. With this you have an all-round control of your website; however you’re open to some risks, one of which is the exposure of websites to attacks from hackers, especially when there is no proper access management. Other demerits are concerns associated with cost, accessibility, and technical support.

Another available option which seems to solve the identified shortcomings of self-hosting, is to employ the use of cloud servers like the Microsoft’s Azure. Before we exploit the nitty-gritty of Azure DevOps server, it would be great that you first have some basic understanding about cloud computing itself.

What is Cloud Computing?

Long time ago, businesses stored and managed their data in-house, via self-hosting and the use of sophisticated data storage devices. This however birthed several managerial challenges for some of them that are not ICT or technology related, like manufacturing and construction industries. Handling data storage/management, and at the same time producing goods that will fully satisfy customers’ needs, became really tasking. At this juncture, many of them obviously needed professional hands to handle data storage/access and web hosting for them, so they could focus on having competitive products that fully meets customers’ requirements.

Again, the strategy of self-handing technical administration of their data and websites became more complicated when time arose to perform general maintenance/upgrade, and access stored data in other locations. These concerns and many more are what cloud computing addresses.

Literally, just as the geographical cloud is found everywhere you go once you look up, cloud computing grants you access to your stored data anywhere/anytime it is required, provided your device is internet-enabled. We can describe cloud computing as an on-demand platform and virtual system that allows organizations and individuals to access certain resources that are necessary for a smooth business operation over the internet. Such resources include — the storage and access of data, networking, and servers. Cloud computing is known for its security, speed, and cost efficiency. Prominent amongst cloud computing service providers is Microsoft’s Azure.

Let’s now go a bit detailed about Azure and how it works as a DevOps Server.

What is Azure DevOps Server?

The two keywords you may be unable to easily relate with here are “Azure” and “DevOps”. So, let’s explain them both briefly.

Azure is a top public cloud computing platform, owned by Microsoft. Though it was first announced in 2008, it however wasn’t formally released until February 2010. As at the year 2020, it ranked second amongst all commercial cloud computing servers. It is operative in more than 54 countries of the world, and supports quite a number of programming languages, including — C#, Java, Python, and PHP. Developers over the years have described it as effective in delivering data center services.

DevOps is simply the combination of “Dev” and “Ops”, both meaning “development” and ”operations” respectively. DevOps describes a model that ensures a hand in hand relationship in how Development and IT Operations works. Both developers and operation team needs to work collaboratively in order to bring in workable ideas that would enhance organizations’ online marketing. Our approach of explaining the DevOps process shall be to take an x-ray through the Microsoft’s Azure DevOps.

Microsoft described Azure DevOps as “a set of collaborative software development tools, hosted on-premises, which integrates with your existing IDE or editor, enabling your cross-functional team to work effectively on projects of all sizes.”

As a platform, it gives developers access to all that is needed to create competitive products. Azure works through an agile process that allows you as a developer firstly to oversee code utilizing Git, then to test the application, and finally have the code deployed with the CI/CD framework. It supports both public and private cloud configurations. Like other cloud computing servers, it has component tools that promotes teamwork for the entire software development process. These tools are built to offer all-inclusive services that are integrated to perform end to end DevOps functionalities.

Azure API Services

All cloud computing platforms render services under three models, namely: SaaS (Software as a Service), PaaS (Platform as a Service), and IaaS (Infrastructure as a Service). Interestingly, Azure offers all the three categories.

Under the IaaS model, Microsoft manages infrastructure on your behalf. This simply means you will not be the one to look after your network and computing needs. The Azure virtual data center has security features that you can utilize to host your website, manage/keep your data, and develop/test your environments.

PaaS is similar to the IaaS, but it has additional features including middleware and development tools. Using Azure under this category means you are in full control of your data and application. This model is advantageous in that you completely avoid the stress and extra expenses you would have incurred on buying and managing software licenses.

For the SaaS, the software is located on Microsoft’s data centers, and access is granted based on subscription via the internet. So you work on/with your application from end to end. In a nutshell, you do not require installing the program on the system to use it.

That said, lets now go into the details of making use of cloud computing. There are two options of accessing the Azure DevOps, it’s either through on-premises or online. The Azure DevOps Server is the on-premises variant of Azure DevOps, it was formally known as Visual Studio Team Server (VSTS). Later on, Microsoft rebranded the server into five distinct components/services that allow developers to easily/selectively access specific services they might need for their work, unlike before when the platform functioned as a whole. Now let’s look at each of these services and what they do.

Components/Services of Azure

The Azure DevOps services are five in all. These services are sometimes called components. However, regardless of the name you choose to call it, what is important is to know how to find your way around each of them. Let’s briefly identify the services and their functions as well.

  • Azure Boards

Azure board makes the organization and management of projects run in a swift manner. It has tools highly efficient in arranging items and communicating the same amongst team members. Below are the tools of Azure boards.

  1. Work Items: This tool is used for a quick search of work items assigned to you. While trying to find the work items, you can utilize the filter icon which allows you to search based on your resent activities, which may include work items you viewed, follow, or those that you’re mentioned in.
  2. Backlogs/Sprint: Backlogs helps with project planning, by putting work items into lists which can further be sorted into ranks or hierarchies. With this, you can promptly decide which work item to prioritize. In the long run, the planning process is put on a fast track. Sprints are backlogs assigned to an iteration path.
  3. Boards: Boards presents work items with cards. This helps to easily visualize workflow within the team. Status update to dashboards itself would be faster and easier with this.
  4. Queries: Queries perform similar functions as backlogs. They are lists filtered based on conditions you define in the query editor. Queries can help you to quickly find similar work items, and also orderly arrange your work before sharing with your team. With queries, you can sort/rank work items in order of their priority, and create status/trend charts.
  • Azure Repo

Azure repos simply means Azure repositories. It works with the Git (a version control system), to keep your eyes on changes made to your codes throughout the course of your software project. To use Azure Repo, you have to be registered with Azure DevOps, however if you are not, you can sign up at no cost. After doing this, carefully follow the following procedures.

  • Open your project and click on the Repos icon.
  • Check the drop-down that displays upon clicking Repos, and select New Repository.
  • Fill out the details requested. Only ensure you pick Git from the “Type” dropdown.
  • Click on Create and you have your repo created.

Another thing you need to do is to clone your created repos to your computer, so you can have a local copy to work with.

  • Azure Test Plan

To ensure quality, software development process has to include testing. Azure Test Plan tool is efficient in running some tests, including — planned manual, user acceptance, and exploratory testing. It is also applicable in gathering feedbacks too. All work items in a project should have a test plan, and every test plan contains several test suites (collection of test cases).

Azure Test Plan is beneficial to you as a developer because:

  • It works on any platform
  • It does a detailed diagnostic test
  • It supports end to end tracking
  • Azure Artifact

Artifact is the service of Azure that helps you to regulate access to your packages. It can be used together with pipelines to integrate files when building, testing or deploying your applications. Packages can be created or shared via public or private fields, regardless the size of your organization.

  • Azure Pipelines

Pipelines is the Azure tool automated to test and build your code through a combined use of the continuous integration (CI) and continuous delivery (CD). Continuous Integration is a coding practice of Pipeline that helps developers to automate the process of testing codes. It produces artifacts which drive constant and continuous deployments. Continuous delivery supports the CI with its automated system which helps in identifying and fixing bugs early. Mind you, the earlier bugs are identified, the less the stress and cost of fixing. CD automates the implementation and validation of code changes in the various work environments. CI and CD together help DevOps team to work collaboratively throughout the software development process.

Working with the CI and CD in Azure Pipeline is the Git version control, which helps in managing source codes. All you need to do is to have an organization in Azure DevOps, however if you don’t, you can create one for free.

Why should I use Azure Pipelines?

Amongst numerous reasons, you should use azure pipelines because:

  • It provides an uncomplicated and secured way to build projects.
  • It supports most languages.
  • It supports multiple deployment at the same time.
  • Works with open-source projects.

Why Should You Use Azure DevOps Server?

Azure DevOps Server has numerous benefits for your software development process. Some of them are briefly discussed below.

  • Effective Project Management

An efficient software that meets business requirements may be a difficult thing to create if there’s no vibrant collaboration between the DevOps team. Azure DevOps Server is an integrated for all users, hence making the entire software development process uncomplicated to manage.

  • Unlimited Code Repositories

Azure DevOps Server is equipped with inexhaustible repositories. Hence, together with your team members, you can have all your codes stored in a single software while you retain full control of who and who would have access to each of the repositories.

  • Efficient Data Migration

Migration of data sometimes causes loss of codes. You can fearlessly migrate your data on Azure DevOps using either SQL or PostgreSQL.

  • Compatibility with Platforms and Languages

Azure DevOps is not limited to any platform, it works on all, whether Windows, or Linux, or macOS. You also have the choice of the programming language to work with, this however depends on the runtime you are going for.

  • Top-notch Security

Azure DevOps Server doesn’t just make quick access of data possible, it ensures you’re preserved from hackers of the cybersecurity up to about 99%. You can protect your database by restricting access to it through “single sign-in” or “multi-factor authentication.”

Conclusion

As a developer, Azure DevOps can make software development super easy and uncomplicated to you and the entire members of the development team. Microsoft allows free access to all the five services for a period of 12 months. You can try this to get convictions sufficient enough to subscribe/upgrade to the latest version to fully exploit all the services.

--

--

Eugeniu Cozac

JavaScript Developer. I am proficient in building SPA with React.js