Understand your options for planning an Azure DevOps and Azure DevOps Server engineering environment
Are you planning to use Azure DevOps Server, formerly known as Team Foundation Server, or Azure DevOps, formerly known as VSTS, as the collaboration solution for engineering teams to take an idea, plan, develop, test, release, and monitor their solutions? You probably have a few questions, such as:
- What deployment options are there?
- Do I choose on-premises, infrastructure as a service (IaaS), or software as a service (SaaS)?
This article aims to answer those questions, and give you a perspective on deployment options, high availability, capacity planning, and other considerations covered in detail in the dated, but still current TFS Planning, Disaster Avoidance and Recovery guidance.
Consider Azure DevOps when you want quick setup, maintenance-free operations, easy collaboration across domains, elastic scale, rock solid security, with access to cloud load testing, cloud build servers, and application insights. It provides a scalable, reliable, backed by a 99.9% SLA, monitored 24x7, and available in local data centers around the world.
While both Azure DevOps Server and Azure DevOps provide the same essential services, Azure DevOps provides your organization these added benefits:
- Always Latest - No more expensive and complex upgrade cycles to manage your data center. You always have access to the latest version of the service, with optional access to preview features.
- CAPEX -> OPEX - No servers and infrastructure to support, manage, and upgrade. You can move your organizations from resource optimized model, based on capital expenses (CAPEX), to a market optimized business model, based on operational expenses (OPEX).
- Ease of use - Easy access from anywhere, with improved connectivity with remote sites, and control when you need it.
- React Fast - The Azure DevOps live-site management processes are crafted to ensure a deep focus on service health and customer experience, to minimize time to detect, respond to, and mitigate business impacting issues. You have fast access to patches and bug fixes.
- Scalability - Automatically scales with your needs, with resilience and quality assurance. Read how Microsoft builds its fast and reliable global network to understand how Microsoft is continuously innovating and investing in their cloud.
- Security - Azure DevOps is hosted entirely in Microsoft Azure datacenters and uses many of the core Azure services including Compute, Storage, Networking, SQL Database, Identity and Access Management Services, and Service Bus. This ensures that Azure DevOps takes advantage of the state of the art capabilities, protection, and industry certifications available from the Azure platform. You get data protection by the experts for data availability, service availability, service security, and data privacy. For details on security, read Data Protection Overview.
- Licensing - Simplified licensing allows you to transition from a capital expenditure (servers and the like) to operational expenditure (subscriptions).
Azure DevOps Server and Azure DevOps both provide an integrated collaboration solution. To understand differences between Azure DevOps and Azure DevOps Server, read Essential Services.
Azure DevOps is the recommended software as a service (SaaS) cloud offering on the far right.
You can deploy Azure DevOps Server in your on-premises datacenter, a hosted datacenter, or a hybrid infrastructure. A transition to a hosted datacenter allows your business to win agility and flexibility, reduce capital expenditure, deliver your applications and services to the business cheaper and more effectively, and enable your digital transformation.
For Azure DevOps Server there are a few deployment options.
- Single-server hosts both the application tier (AT) and the data tier (DT) on a single server. Build, release, test, and proxy servers are optional features and can be deployed on the same or separate servers. A suitable option if you're looking for an easy to use and shareable demo or experimental environment, or simplicity in terms of infrastructure management.
- Dual Server (scale up) starts with the application and the data tiers on separate servers. When you are “scaling up,” you are adding resources to a single node in the system, for example, more CPU, memory or disk space.
- Multi-server (scale out) also starts with the application and the data tiers on separate server. However, when you add resources, you add a new node to the system to distribute load and achieve greater capacity. For example, you can add a new server to the application tier to distribute user request load. The scale-out option also adds redundancy and performance by adding additional application and data tier servers. A typical data tier is implemented using SQL Server instances and the application tier by network load balancing (NLB) two or more application tier servers.
To decide which of the Azure DevOps Server deployment options are viable, you need to consider the advantages of each option and the number of users and projects you will need to support.
The following table is a quick summary of the three deployment options, with a conservative suggested maximum number of users.
Tip
For a more detailed breakdown of the scenarios and recommended hardware, use the capacity planning workbook.
Deployment Option | Requests per second (RPS) | Max Users |
---|---|---|
Single Server | 92-180 | 250-500 |
Dual Servers (scale up) | 476-730 | 2200-3600 |
Multi Servers (scale out) | 730+ | 3600+ |
Note
The dual and multi server options allow you to scale your Azure DevOps Server environment as your organization or number of power users grow. You can change the deployment option and migrate to Azure DevOps at a later stage. See Migration options to review migration approaches.
If you have remote sites, sharing code with your main Azure DevOps server site, the Azure DevOps Server Proxy helps to cache recently used version control files, improve remote user experience, and reduce network load.
Azure DevOps enables you to start small, take your solution from idea to release, scale-up as needed, and leave the support and maintenance of services to the experts.
It's only when you want to manage servers and services yourself that the on-premises or virtualized Azure DevOps Server single, dual, and multi server scenarios (7-9) are recommended.
Note
If you want to focus on delivering business value and delegate data center operations, security, monitoring, and 24x7 support to the experts, then Azure DevOps is for you!
- Azure DevOps Server
- Essential Services
- TFS Planning, Disaster Avoidance and Recovery guidance
- Understand differences between Azure DevOps and Azure DevOps Server
- VSTS SSH on Azure’s Global Network
- Why move to Azure DevOps in the Cloud
Author: Willy Schaub | Find the origin of this article and connect with the ALM | DevOps Rangers here.
Reviewers: Hasaan Fadili, Ken Muse, Mike Fourie, and Niel Zeeman
(c) 2019 Microsoft Corporation. All rights reserved. This document is provided "as-is." Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it. This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes.