Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit f88800a

Browse files
committedMar 22, 2022
edits
1 parent 13d2b62 commit f88800a

File tree

3 files changed

+31
-28
lines changed

3 files changed

+31
-28
lines changed
 

‎articles/devtest-labs/deliver-proof-concept.md

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ ms.topic: how-to
55
ms.date: 03/21/2022
66
---
77

8-
# Deliver a proof of concept
8+
# Deliver a proof of concept for Azure DevTest Labs
99

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.
1111

1212
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.
1313

@@ -25,7 +25,7 @@ Key [DevTest Labs scenarios](devtest-lab-guidance-get-started.md) include cloud
2525
- Configuring test environments.
2626
- Enabling VM and Azure resource access.
2727
- 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.
2929

3030
## Prerequisites
3131

@@ -43,7 +43,7 @@ Learn about Azure and DevTest Labs by using the following resources:
4343

4444
### Get an Azure subscription
4545

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.
4747

4848
- 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.
4949

@@ -69,7 +69,7 @@ Do these tasks to scope the pilot:
6969
- Decide on the pilot duration, such as two weeks or a month.
7070
- Decide how to dispose of the pilot resources when the pilot ends.
7171

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.
7373

7474
## Make other planning and design decisions
7575

@@ -79,7 +79,7 @@ A full DevTest Labs solution includes some important planning and design decisio
7979

8080
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).
8181

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.
8383

8484
### Network topology
8585

@@ -97,29 +97,29 @@ DevTest Labs also supports [connecting existing virtual networks to the lab](dev
9797

9898
There are several options for enterprise users to remotely access DevTest Labs VMs:
9999

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).
101101

102102
- 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).
103103

104104
- 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).
105105

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.
107107

108108
### Lab access and permissions
109109

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.
111111

112112
## Complete the proof of concept
113113

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.
115115

116116
## Example proof-of-concept plan
117117

118118
This following example shows a plan for scoping a DevTest Labs proof of concept.
119119

120120
### Overview
121121

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.
123123

124124
### Goals
125125

@@ -135,11 +135,11 @@ The proof of concept has the following goals:
135135

136136
The solution has the following requirements:
137137

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.
140139
- The vendors have access to the labs via Azure AD and role assignments.
141140
- 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.
143143

144144
### Prerequisites
145145

@@ -156,12 +156,11 @@ The solution has the following requirements:
156156
- Decide what Azure region to use for the proof of concept.
157157
- 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.
158158
- 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.
160160
- Decide on the Azure services, other than VMs, that the vendors can use in DevTest Labs.
161161
- Plan how to train vendors to use the lab.
162162

163163
## Next steps
164164

165165
- [Scale up a DevTest Labs deployment](devtest-lab-guidance-orchestrate-implementation.md)
166166
- [Orchestrate DevTest Labs implementation](devtest-lab-guidance-orchestrate-implementation.md)
167-
- [What is Azure Virtual Network?](/azure/virtual-network/virtual-networks-overview)
Loading

‎articles/devtest-labs/use-paas-services.md

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ ms.date: 03/21/2022
77

88
# Use PaaS services in Azure DevTest Labs
99

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.
1113

1214
The following image shows a SharePoint farm created as an environment in a lab.
1315

@@ -20,35 +22,35 @@ DevTest Labs PaaS environments support the following scenarios:
2022
- Developers can create multiple, independent environments.
2123
- Testers can test different configurations asynchronously and automatically.
2224
- 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.
2426

2527
### Developer scenarios
2628

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.
2830

2931
### Test scenarios
3032

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.
3234

3335
### Cost tracking
3436

3537
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).
3638

3739
### Access and roles
3840

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).
4042

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).
4244

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).
4446

4547
## Environment templates
4648

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.
4850

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).
5052

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).
5254

5355
## Template customization
5456

@@ -60,14 +62,16 @@ You can provide certain custom lab information in ARM templates when creating en
6062

6163
### Existing virtual network
6264

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.
6468

6569
### Nested templates
6670

6771
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).
6872

6973
## Next steps
70-
-
74+
7175
- [Use ARM templates to create DevTest Labs environments](devtest-lab-create-environment-from-arm.md)
7276
- [Create an environment with a self-contained Service Fabric cluster in Azure DevTest Labs](create-environment-service-fabric-cluster.md)
7377
- [Connect an environment to your lab's virtual network in Azure DevTest Labs](connect-environment-lab-virtual-network.md)

0 commit comments

Comments
 (0)
Please sign in to comment.