You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/devtest-labs/deliver-proof-concept.md
+15-16Lines changed: 15 additions & 16 deletions
Original file line number
Diff line number
Diff line change
@@ -5,9 +5,9 @@ ms.topic: how-to
5
5
ms.date: 03/21/2022
6
6
---
7
7
8
-
# Deliver a proof of concept
8
+
# Deliver a proof of concept for Azure DevTest Labs
9
9
10
-
This article describes how enterprises can deliver a successful proof of concept or pilot for deploying Azure DevTest Labs. Proof of concept uses a concentrated effort from a single team to establish organizational value.
10
+
This article describes how an enterprise can deliver a successful proof of concept or pilot for an Azure DevTest Labs deployment. Proof of concept uses a concentrated effort from a single team to establish organizational value.
11
11
12
12
Every enterprise has different requirements for incorporating Azure DevTest Labs into their organization. Proof of concept is a first step toward a successful end-to-end deployment.
13
13
@@ -25,7 +25,7 @@ Key [DevTest Labs scenarios](devtest-lab-guidance-get-started.md) include cloud
25
25
- Configuring test environments.
26
26
- Enabling VM and Azure resource access.
27
27
- Setting up sandboxes for learning and experimentation.
28
-
- Configuring lab policies and cost controls that follow corporate regulations.
28
+
- Configuring lab policies and cost controls that comply with corporate regulations.
29
29
30
30
## Prerequisites
31
31
@@ -43,7 +43,7 @@ Learn about Azure and DevTest Labs by using the following resources:
43
43
44
44
### Get an Azure subscription
45
45
46
-
- Enterprises might have an existing [Enterprise Agreement](https://azure.microsoft.com/pricing/purchase-options/enterprise-agreement) that enables access to Azure, and can use an existing or new subscription for DevTest Labs. If there's an Enterprise Agreement in place, an [Enterprise Dev/Test subscription](https://azure.microsoft.com/offers/ms-azr-0148p/) gives you access to Windows 10/Windows 8.1 client operating systems, and discounted rates for development and testing workloads.
46
+
- Enterprises with an existing [Enterprise Agreement](https://azure.microsoft.com/pricing/purchase-options/enterprise-agreement) that enables access to Azure can use an existing or new subscription for DevTest Labs. If there's an Enterprise Agreement in place, an [Enterprise Dev/Test subscription](https://azure.microsoft.com/offers/ms-azr-0148p/) gives you access to Windows 10/Windows 8.1 client operating systems, and discounted rates for development and testing workloads.
47
47
48
48
- Alternatively, you can use a [Visual Studio subscription](https://azure.microsoft.com/pricing/member-offers/visual-studio-subscriptions) for the pilot deployment, and take advantage of free Azure credits.
49
49
@@ -69,7 +69,7 @@ Do these tasks to scope the pilot:
69
69
- Decide on the pilot duration, such as two weeks or a month.
70
70
- Decide how to dispose of the pilot resources when the pilot ends.
71
71
72
-
There's a tendency to try to make the pilot perfect, so it will mirror the final state after DevTest Labs rollout. However, trying to make the proof of concept perfect means too much effort before you can start the pilot. The purpose of the pilot is to determine the right decisions for scaling up and rolling out the final service.
72
+
There's a tendency to try to make the pilot perfect, so it will mirror the final state after DevTest Labs rollout. However, trying to make the proof of concept perfect is too much effort before you can start the pilot. The purpose of the pilot is to determine the right decisions for scaling up and rolling out the final service.
73
73
74
74
## Make other planning and design decisions
75
75
@@ -79,7 +79,7 @@ A full DevTest Labs solution includes some important planning and design decisio
79
79
80
80
The enterprise-level requirements for resources in Azure can extend beyond the [available quotas within a single subscription](/azure/azure-resource-manager/management/azure-subscription-service-limits). You might need several Azure subscriptions, or you might need to make service requests to increase initial subscription limits. For more information, see [Scalability considerations](devtest-lab-reference-architecture.md#scalability-considerations).
81
81
82
-
It's important to decide how to distribute resources across subscriptions before final, full-scale rollout, because it's difficult to move resources to another subscription later. For example, you can't move a lab to another subscription after it's created. One valuable resource is the [subscription decision guide](/azure/architecture/cloud-adoption/decision-guides/subscriptions/).
82
+
It's important to decide how to distribute resources across subscriptions before final, full-scale rollout, because it's difficult to move resources to another subscription later. For example, you can't move a lab to another subscription after it's created. The [Subscription decision guide](/azure/architecture/cloud-adoption/decision-guides/subscriptions) is a valuable planning resource.
83
83
84
84
### Network topology
85
85
@@ -97,29 +97,29 @@ DevTest Labs also supports [connecting existing virtual networks to the lab](dev
97
97
98
98
There are several options for enterprise users to remotely access DevTest Labs VMs:
99
99
100
-
- The easiest and most secure method is to use browser connectivity through Azure Bastion. Your VMs don't need to use public IP addresses. For more information, see [Enable browser connection to DevTest Labs VMs with Azure Bastion](enable-browser-connection-lab-virtual-machines.md).
100
+
- The easiest and most secure method is to use browser connectivity through Azure Bastion. The VMs don't need to use public IP addresses. For more information, see [Enable browser connection to DevTest Labs VMs with Azure Bastion](enable-browser-connection-lab-virtual-machines.md).
101
101
102
102
- Another option is to use public IPs or a [shared public IPs](devtest-lab-shared-ip.md), and connect through Remote Desktop Protocol (RDP) or secure shell (SSH).
103
103
104
104
- If the preceding options aren't sufficient, you can connect through a remote access gateway, as shown in the [DevTest Labs enterprise reference architecture](devtest-lab-reference-architecture.md). For more information, see [Configure a lab to use Remote Desktop Gateway](configure-lab-remote-desktop-gateway.md).
105
105
106
-
- Enterprises can also connect their labs to their on-premises networks through ExpressRoute or a site-to-site VPN. This option enables direct RDP or SSH connections to the VMs based on their private IP addresses. There's no exposure to the internet.
106
+
- Enterprises can also connect their labs to their on-premises networks through ExpressRoute or a site-to-site VPN. This option enables direct RDP or SSH connections to the VMs based on their private IP addresses, with no exposure to the internet.
107
107
108
108
### Lab access and permissions
109
109
110
-
Before final DevTest Labs rollout, it's important to decide broadly who to give each level of lab access. The two key DevTest Labs [permission levels](devtest-lab-add-devtest-user.md) are Owner and DevTest Labs User. A common model is for the budget owner, such as the team lead, to be the lab owner, with the team members as lab users. This model lets the person responsible for the budget adjust lab policy settings and keep the team within budget.
110
+
Before final DevTest Labs rollout, it's important to decide broadly who to give each level of lab access. The two key DevTest Labs [permission levels](devtest-lab-add-devtest-user.md) are Owner and DevTest Labs User. A common model is for the budget owner, such as the team lead, to be the lab owner, with the team members as lab users. The person responsible for the budget can then adjust lab policy settings and keep the team within budget.
111
111
112
112
## Complete the proof of concept
113
113
114
-
After you cover the defined scenarios, complete the pilot. Gather feedback from the users, determine if the pilot was successful, and decide if the organization will move ahead on an enterprise-scale DevTest Labs rollout. Start to consider automating deployment of DevTest Labs and associated resources to ensure consistency throughout the scaled rollout.
114
+
After you cover the defined scenarios, complete the pilot. Gather feedback from the users, determine if the pilot was successful, and decide if the organization will move ahead on an [enterprise-scale](devtest-lab-guidance-scale.md) DevTest Labs rollout. Start to consider automating deployment of DevTest Labs and associated resources to ensure consistency throughout the scaled rollout.
115
115
116
116
## Example proof-of-concept plan
117
117
118
118
This following example shows a plan for scoping a DevTest Labs proof of concept.
119
119
120
120
### Overview
121
121
122
-
An enterprise plans to develop a new Azure environment based on DevTest Labs for vendors to use. The DevTest Labs environment will be isolated from the corporate network. To determine if the solution will meet the requirements, the organization develops a proof of concept to validate the end-to-end solution.
122
+
An enterprise plans to develop a new Azure DevTest Labs for vendors to use, which is isolated from the corporate network. To determine if the solution will meet the requirements, the organization develops a proof of concept to validate the end-to-end scenario.
123
123
124
124
### Goals
125
125
@@ -135,11 +135,11 @@ The proof of concept has the following goals:
135
135
136
136
The solution has the following requirements:
137
137
138
-
- Vendor teams use a set of labs in Azure DevTest Labs.
139
-
- The labs connect to a network infrastructure that supports the requirements.
138
+
- Vendor teams can use a set of labs in Azure DevTest Labs.
140
139
- The vendors have access to the labs via Azure AD and role assignments.
141
140
- Vendors have a way to successfully connect to their resources, such as a site-to-site VPN that enables accessing VMs without using public IP addresses.
142
-
- A set of artifacts installs the software that the vendors need on the VMs.
141
+
- The labs connect to a network infrastructure that supports the requirements.
142
+
- DevTest Labs installs the set of software artifacts that vendors need on the VMs.
143
143
144
144
### Prerequisites
145
145
@@ -156,12 +156,11 @@ The solution has the following requirements:
156
156
- Decide what Azure region to use for the proof of concept.
157
157
- Decide whether to join lab VMs to the Azure AD domain, and whether to use Azure Active Directory Domain Services (Azure AD DS) or another method.
158
158
- Identify the vendors who will use the proof of concept environment.
159
-
- Determine the required resources for the vendors, such as applications available on the VMs.
159
+
- Determine the required resources for the vendors, such as software available on the VMs.
160
160
- Decide on the Azure services, other than VMs, that the vendors can use in DevTest Labs.
161
161
- Plan how to train vendors to use the lab.
162
162
163
163
## Next steps
164
164
165
165
-[Scale up a DevTest Labs deployment](devtest-lab-guidance-orchestrate-implementation.md)
Copy file name to clipboardExpand all lines: articles/devtest-labs/use-paas-services.md
+16-12Lines changed: 16 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,9 @@ ms.date: 03/21/2022
7
7
8
8
# Use PaaS services in Azure DevTest Labs
9
9
10
-
This article describes platform-as-a-service (PaaS) support in Azure DevTest Labs. DevTest Labs supports PaaS through *environments*, which can include both PaaS and infrastructure-as-a-service (IaaS) resources. Environments contain services and software like virtual machines (VMs), databases, virtual networks, and web apps that are customized to work together. DevTest Labs creates environments by using preconfigured Azure Resource Manager (ARM) templates from a Git repository. Keeping the ARM templates under source control promotes consistent deployment and improved management of environments.
10
+
This article describes platform-as-a-service (PaaS) support in Azure DevTest Labs. DevTest Labs supports PaaS through *environments*, which can include both PaaS and infrastructure-as-a-service (IaaS) resources. Environments contain services and software like virtual machines (VMs), databases, virtual networks, and web apps that are customized to work together.
11
+
12
+
DevTest Labs creates environments by using preconfigured Azure Resource Manager (ARM) templates from Git repositories. Keeping the ARM templates under source control promotes consistent environment deployment and management.
11
13
12
14
The following image shows a SharePoint farm created as an environment in a lab.
13
15
@@ -20,35 +22,35 @@ DevTest Labs PaaS environments support the following scenarios:
20
22
- Developers can create multiple, independent environments.
21
23
- Testers can test different configurations asynchronously and automatically.
22
24
- Staging and production pipeline integration can happen without any template changes.
23
-
-Having all development machines and environments in the same lab improves managability and cost reporting.
25
+
-Lab owners can configure policies and track costs for the environment as a whole.
24
26
25
27
### Developer scenarios
26
28
27
-
To create an environment, developers select an environment template instead of a machine image, and enter any required information. Environments for individual developers allow faster change deployment and improved inner loop debugging. Developers can destroy environments any time and recreate them by using the latest template. This capability helps reduce downtime from manually creating systems or recovering from faults.
29
+
To create an environment, a developer selects an environment template rather than a machine image, and enters any required information. Individual developer environments allow faster change deployment and improved inner loop debugging. Developers can destroy their environments anytime, and recreate them by using the latest templates. This capability helps reduce downtime manually creating systems or recovering from faults.
28
30
29
31
### Test scenarios
30
32
31
-
DevTest Labs environments allow independent, asynchronous testing of specific code and configurations. Testers can use continuous integration and continuous deployment (CI/CD) pipelines to set up environments with code from individual pull requests, and do automated and manual testing. PaaS services help improve the CI/CD pipeline with focused deployments with access controlled by the lab. Automation can manage and track multiple environments across subscriptions and labs.
33
+
DevTest Labs environments allow independent, asynchronous testing of specific code and configurations. Testers can use continuous integration and continuous deployment (CI/CD) pipelines to set up environments, apply code from individual pull requests, and do automated and manual testing. Automation can manage and track multiple environments across subscriptions and labs.
32
34
33
35
### Cost tracking
34
36
35
37
The overall cost trend for a lab includes Azure resources within environments. The cost by resources doesn't break out the different resources within an environment, but displays the environment as a single cost. For more information, see [Track costs associated with a lab in Azure DevTest Labs](devtest-lab-configure-cost-management.md).
36
38
37
39
### Access and roles
38
40
39
-
Lab owners can grant DevTest Labs access and assign user roles. For more information, see [Add lab owners, contributors, and users in Azure DevTest Labs](devtest-lab-add-devtest-user.md).
41
+
Lab owners can grant lab access and assign user roles. For more information, see [Add lab owners, contributors, and users in Azure DevTest Labs](devtest-lab-add-devtest-user.md).
40
42
41
-
The DevTest Labs resource provider creates resources on the lab user's behalf, so lab users don't need any extra permissions to create and use environments. However, lab owners can extend Contributor permissions to lab users so they can configure and manage their own PaaS resources, such as adding or removing resources. For more information, see [Configure environment user rights](devtest-lab-create-environment-from-arm#configure-environment-user-rights).
43
+
The DevTest Labs resource provider creates resources on the lab user's behalf, so lab users don't need any extra permissions to create and use environments. However, lab owners can extend Contributor permissions to lab users so they can configure and manage their own PaaS resources, such as adding or removing resources. For more information, see [Configure environment user rights](devtest-lab-create-environment-from-arm.md#configure-environment-user-rights).
42
44
43
-
This functionality allows lab owners to customize the resources or configuration without granting subscription-level access. The lab user can add or remove Azure resource only within the managed resource group. To further customize lab user roles and access, see [Grant user permissions to specific lab policies](devtest-lab-grant-user-permissions-to-specific-lab-policies.md).
45
+
Lab owners can customize resource access or permissions without granting subscription-level access. The lab user can add or remove Azure resources only within the managed resource group. To further customize lab user roles and access, see [Grant user permissions to specific lab policies](devtest-lab-grant-user-permissions-to-specific-lab-policies.md).
44
46
45
47
## Environment templates
46
48
47
-
In large organizations, development teams typically provide environments such as customized or isolated testing environments. The IT group provides environments that all teams within a business unit or a division can use.
49
+
In large organizations, development teams typically provide customized or isolated testing environments. The IT group provides environments that all teams within a business unit or a division can use.
48
50
49
-
For information on setting up environments, see [Use ARM templates to create DevTest Labs environments](devtest-lab-create-environment-from-arm.md). DevTest Labs has a public repository of preconfigured ARM templates for creating environments. For more information about the public environments, see [Enable and configure public environments](devtest-lab-create-environment-from-arm.md#enable-and-configure-public-environments).
51
+
To enable and configure environment creation for labs, see [Use ARM templates to create DevTest Labs environments](devtest-lab-create-environment-from-arm.md). DevTest Labs has a public repository of preconfigured ARM templates for creating certain environments. For more information about the public environments, see [Enable and configure public environments](devtest-lab-create-environment-from-arm.md#enable-and-configure-public-environments).
50
52
51
-
You can also create or configure your own ARM environment templates, store them in a private Git repositories, and connect those repositories to labs. For more information, see [Azure Resource Manager (ARM) templates in Azure DevTest Labs](devtest-lab-use-arm-and-powershell-for-lab-resources.md).
53
+
You can also create or configure your own ARM environment templates, store them in private Git repositories, and connect those repositories to labs. For more information, see [Use Azure Resource Manager (ARM) templates in Azure DevTest Labs](devtest-lab-use-arm-and-powershell-for-lab-resources.md).
52
54
53
55
## Template customization
54
56
@@ -60,14 +62,16 @@ You can provide certain custom lab information in ARM templates when creating en
60
62
61
63
### Existing virtual network
62
64
63
-
[Connect environments to the lab's virtual network](connect-environment-lab-virtual-network.md) describes how to modify an ARM template to use the `$(LabSubnetId)` token. When creating an environment, DevTest Labs then replaces the `$(LabSubnetId)` token with the first lab subnet where **Use in virtual machine creation** is set to **true**. This modification allows the environment to use previously created virtual networks. To use the same ARM template in test, staging, and production environments, use `$(LabSubnetId)` as a value in an ARM template parameter.
65
+
When you create an environment, DevTest Labs can replace the `$(LabSubnetId)` token with the first lab subnet where **Use in virtual machine creation** is set to **true**. This modification allows the environment to use previously created virtual networks.
66
+
67
+
[Connect environments to the lab's virtual network](connect-environment-lab-virtual-network.md) describes how to modify an ARM template to use the `$(LabSubnetId)` token. To use the same ARM template in test, staging, and production environments, use `$(LabSubnetId)` as a value in an ARM template parameter.
64
68
65
69
### Nested templates
66
70
67
71
DevTest Labs supports [nested ARM templates](/azure/azure-resource-manager/templates/linked-templates). To use `_artifactsLocation` and `_artifactsLocationSasToken` tokens to create a URI to a nested ARM template, see [Deploy DevTest Labs environments by using nested templates](deploy-nested-template-environments.md). For more information, see the **Deployment artifacts** section of the [Azure Resource Manager Best Practices Guide](https://github.com/Azure/azure-quickstart-templates/blob/master/1-CONTRIBUTION-GUIDE/best-practices.md#deployment-artifacts-nested-templates-scripts).
68
72
69
73
## Next steps
70
-
-
74
+
71
75
-[Use ARM templates to create DevTest Labs environments](devtest-lab-create-environment-from-arm.md)
72
76
-[Create an environment with a self-contained Service Fabric cluster in Azure DevTest Labs](create-environment-service-fabric-cluster.md)
73
77
-[Connect an environment to your lab's virtual network in Azure DevTest Labs](connect-environment-lab-virtual-network.md)
0 commit comments