What is the difference between Azure DevOps Server and Azure DevOps Services?

Azure DevOps Services is a cloud product that delivers a scalable, dependable, and globally available hosted service. It's backed by a 99.9% service level agreement, is monitored by our operations staff 24 hours a day, and is available in local data centres all around the world.

Azure DevOps Server, the on-premises product, is built on a SQL Server backend. When customers need their data to stay within their network, they frequently choose the on-premises version. When they need SQL Server reporting services that interact with Azure DevOps Server data and tools, for example.

Although both packages provide the same fundamental features, Azure DevOps Services has the following advantages over Azure DevOps Server:

  • Server management has been simplified.
  • Instant access to the most up-to-date features
  • Remote site connectivity has improved.
  • A shift away from capital expenditures (servers, etc.) and toward operational expenditures (subscriptions).

Consider the following significant distinctions to evaluate which offering-cloud or on-premises-best suits our needs.

Differences between Azure DevOps Services and Azure DevOps Server

Consider the following aspects when deciding which platform to use or if we're thinking about moving from on-premises to the cloud:

  • Users and groups
  • Security and data protection
  • Data scope and scalability
  • User access management
  • Authentication

Specific differences via features

Despite the fact that Azure DevOps Services is a hosted version of Azure DevOps Server, there are several features that differ. Some functions of Azure DevOps Server aren't available in Azure DevOps Services. For example, to provide reporting, Azure DevOps Services does not support integration with SQL Server Analysis Services.

Two of the following areas have different levels of support:

  • Customization of processes
  • Reporting

Scope and scale data

As the business grows up and there are more data coming in and going out, so in that case as per the requirement the user can also scale up the instances.

Azure DevOps Services is different from Azure DevOps Server in a few ways. Organizations and projects are the only two alternatives for scoping and scaling data at the moment. Azure DevOps Services organizations get their own URLs (for example, https://dev.azure.com/fabrikamfiber), and they always have one project collection. Within a collection, an organization can have multiple projects.

Wherever we would establish collections in Azure DevOps Server, we recommend creating organizations in Azure DevOps Services. The following are possible scenarios:

  • We can buy Azure DevOps Services users for each organization; paid users can only access the organization where the payment is made. Visual Studio subscriptions can be a good alternative if we have users who need access to many organizations. Visual Studio subscribers can join as many groups as they like for free.
  • Currently, we must manage organizations one at a time. When we have a lot of organizations, this approach might be time-consuming.

Deployments, project collections, and projects are the three methods for scoping and scaling data in Azure DevOps Server. Deployments are, at their most basic level, merely servers.

However, more elaborate deployments are possible, such as:

  • A two-server deployment with SQL separated off on a separate machine
  • Farms with a large number of servers for high availability

Project collections act as security and administration containers as well as physical database boundaries. They're also used to organize initiatives that are connected.

Authentication

We connect to Azure DevOps Services over the internet (for example, https://contoso.visualstudio.com). Depending on our organization's arrangement, we can use Microsoft account credentials or Azure AD credentials to log in.

Instead of using Microsoft accounts, we propose that we configure our organizations to utilize Azure AD. In many cases, this strategy delivers a better experience and additional security alternatives.

Windows Authentication and our Active Directory (AD) domain credentials are used to log in. This method is completely open, and we will never be asked to sign in.

Manage users and groups

We may use a similar technique to grant access to groups of users in Azure DevOps Services. Azure AD groups can be added to Azure DevOps Services groups. We must add users one at a time if we utilize Microsoft Accounts instead of Azure AD.

We give users access to deployments in Azure DevOps Server by adding Active Directory (AD) groups to various Azure DevOps groups (for example, the Contributors group for an individual project). The memberships of AD groups are maintained up to date. Users gain and lose access to Azure DevOps Server as they are added and withdrawn from Active Directory.

Managing the access of the users

In order to keep everything smooth and simple and to create a log of every work done on the portal, it is necessary to create a single access level which must be assigned to all users. We can give an infinite number of Stakeholders free access to work item functionality in both the cloud and on-premises services and which is totally managed by the user. Additionally, all Basic features are available to an infinite number of Visual Studio subscribers at no additional cost. The user only has to pay for people who require access and has a different credentials created for them.

Each user in our business must be assigned an access level in Azure DevOps Services. Visual Studio subscribers are validated by Azure DevOps Services as they sign in. We can give Basic access to five users who don't have a Visual Studio subscription for free.

We can even set up the billing for our organization and pay for more users to grant Basic or greater access. By default, the Stakeholder access is given to all other users or the newly added user. This access also differs from subscription to subscriptions.

Access to Azure AD groups is granted to groups of users. At the time of sign-in, access levels are assigned automatically. We must explicitly set access levels to each user in companies that utilize Microsoft accounts for logging in.

All use of Azure DevOps Server is on the honour system. Specify their access levels on the administration page to set access levels for users based on their licenses. By default, the server assigns unlicensed users as the Stakeholder access only although the admin has the full right to modify the access level.

The users who have purchased the Azure DevOps Server Client Access License (CAL) has the basic access available. Depending on their subscriptions, Visual Studio subscribers can choose between Basic and Advanced access. Azure DevOps Server makes no attempt to verify or enforce compliance with these licenses.

Security and data protection

When it comes to going to the cloud, many businesses want to know more about data security. We're dedicated to guaranteeing the safety and security of Azure DevOps Services initiatives.

Process customization

Depending on the available process model, we can personalize the work-tracking experience in two ways:

  • Azure DevOps Services: we use the Inheritance process model, which allows us to customize our code in a WYSIWYG manner.
  • Azure DevOps Server 2018 and prior versions: only the On-premises XML process model is available.

The fundamental problem is that existing project processes aren't immediately updated.

The improvements that are needed, however, are not immediately applied to existing projects. Instead, after we've finished upgrading, we'll need to use the Configure features wizard or a more manual approach to incorporate the changes into each project.

With this strategy, we've been able to update all projects automatically with each Azure DevOps Services upgrade. The first of these improvements was recently implemented, and more are on the way.

We may now customize processes directly from the online user interface, thanks to the new process customisation feature (UI). REST endpoints can be used to programmatically customize our workflows.

Reporting

Many tools are available in Azure DevOps Services and Azure DevOps Server to help us track the progress and quality of our software projects. The following tools are included:

  • Analytics widgets and the Analytics service. The Analytics service is designed for quick reads and aggregations on the server.
  • Microsoft Functionality BI integration, which makes it easy to get Analytics data into Power BI reports while also providing a lot of power.

Note: From the user interface, we can disable certain services.

An organization administrator can modify the URL to use dev.azure.com as the principal domain by going to the organization settings page.