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/devtest-lab-guidance-governance-application-migration-integration.md
+20-16Lines changed: 20 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
title: Application migration and integration
3
-
description: This article provides guidance for governance of Azure DevTest Labs infrastructure in the context of application migration and integration.
3
+
description: This article provides governance guidance for Azure DevTest Labs infrastructure. The context is application migration and integration.
# Governance of Azure DevTest Labs infrastructure - Application migration and integration
10
10
Once your development/test lab environment has been established, you need to think about the following questions:
11
11
12
-
- How do you utilize the environment within your project team?
12
+
- How do you use the environment within your project team?
13
13
- How do you ensure that you follow any required organizational policies, and maintain the agility to add value to your application?
14
14
15
15
## Azure Marketplace images vs. custom images
@@ -21,11 +21,11 @@ When should I use an Azure Marketplace image vs. my own custom organizational im
21
21
Azure Marketplace should be used by default unless you have specific concerns or organizational requirements. Some common examples include;
22
22
23
23
- Complex software setup that requires an application to be included as part of the base image.
24
-
- Installation and setup of an application could take many hours, which are not an efficient use of compute time to be added on an Azure Marketplace image.
24
+
- Installation and setup of an application could take many hours, which aren't an efficient use of compute time to be added on an Azure Marketplace image.
25
25
- Developers and testers require access to a virtual machine quickly, and want to minimize the setup time of a new virtual machine.
26
26
- Compliance or regulatory conditions (for example, security policies) that must be in place for all machines.
27
27
28
-
Using custom images should not be considered lightly. They introduce extra complexity, as you now have to manage VHD files for those underlying base images. You also need to routinely patch those base images with software updates. These updates include new operating system (OS) updates, and any updates or configuration changes needed for the software package itself.
28
+
Consider using custom images carefully. Custom images introduce extra complexity, as you now have to manage VHD files for those underlying base images. You also need to routinely patch those base images with software updates. These updates include new operating system (OS) updates, and any updates or configuration changes needed for the software package itself.
29
29
30
30
## Formula vs. custom image
31
31
@@ -35,9 +35,13 @@ When should I use a formula vs. custom image?
35
35
### Answer
36
36
Typically, the deciding factor in this scenario is cost and reuse.
37
37
38
-
If you have a scenario where many users/labs require an image with a lot of software on top of the base image, then you could reduce cost by creating a custom image. This means that the image is created once. It reduces the setup time of the virtual machine and the cost incurred due to the virtual machine running when setup occurs.
38
+
You can reduce cost by creating a custom image if:
39
+
- Many users or labs require the image.
40
+
- The required image has a lot of software on top of the base image.
39
41
40
-
However, an additional factor to note is the frequency of changes to your software package. If you run daily builds and require that software to be on your users’ virtual machines, consider using a formula instead of a custom image.
42
+
This solution means that you create the image once. A custom image reduces the setup time of the virtual machine. You don't incur costs from running the virtual machine during setup.
43
+
44
+
Another factor is the frequency of changes to your software package. If you run daily builds and require that software to be on your users' virtual machines, consider using a formula instead of a custom image.
41
45
42
46
## Use custom organizational images
43
47
@@ -62,24 +66,24 @@ How do I ensure that development and test virtual machines are unable to reach t
62
66
### Answer
63
67
Yes. There are two aspects to consider – inbound and outbound traffic.
64
68
65
-
**Inbound traffic** – If the virtual machine does not have a public IP address, then it cannot be reached by the internet. A common approach is to ensure that a subscription-level policy is set, such that no user is able to create a public IP address.
69
+
**Inbound traffic** – If the virtual machine doesn't have a public IP address, then the internet can't reach it. A common approach is to set a subscription-level policy that no user can create a public IP address.
66
70
67
-
**Outbound traffic** – If you want to prevent virtual machines going directly to public internet and force traffic through a corporate firewall, then you can route traffic on-premises via express route or VPN, by using forced routing.
71
+
**Outbound traffic** – If you want to prevent virtual machines from going directly to the public internet, and force traffic through a corporate firewall, you can route traffic on-premises via Azure ExpressRoute or VPN, by using forced routing.
68
72
69
73
> [!NOTE]
70
74
> If you have a proxy server that blocks traffic without proxy settings, do not forget to add exceptions to the lab’s artifact storage account, .
71
75
72
-
You could also use network security groups for virtual machines or subnets. This step adds an additional layer of protection to allow / block traffic.
76
+
You could also use network security groups for virtual machines or subnets. This step adds another layer of protection to allow or block traffic.
73
77
74
78
## New vs. existing virtual network
75
79
76
80
### Question
77
81
When should I create a new virtual network for my DevTest Labs environment vs. using an existing virtual network?
78
82
79
83
### Answer
80
-
If your VMs need to interact with existing infrastructure, then you should consider using an existing virtual network inside your DevTest Labs environment. In addition, if you use ExpressRoute, you may want to minimize the amount of VNets / Subnets so that you don’t fragment your IP address space that gets assigned for use in the subscriptions. You should also consider using the VNet peering pattern here (Hub-Spoke model). This approach enables vnet/subnet communication across subscriptions within a given region although peering across regions is an up-coming feature in Azure networking.
84
+
If your VMs need to interact with existing infrastructure, you should consider using an existing virtual network inside your DevTest Labs environment. If you use ExpressRoute, minimize the number of virtual networks and subnets so you don't fragment the IP address space assigned to your subscriptions. Also consider using the virtual network peering pattern here (Hub-Spoke model). This approach enables virtual network and subnet communication across subscriptions within a given region.
81
85
82
-
Otherwise, each DevTest Labs environment could have its own virtual network. However, note that there are [limits](../azure-resource-manager/management/azure-subscription-service-limits.md) on the number of virtual networks per subscription. The default amount is 50, though this limit can be raised to 100.
86
+
Each DevTest Labs environment could have its own virtual network, but there are [limits](../azure-resource-manager/management/azure-subscription-service-limits.md) on the number of virtual networks per subscription. The default amount is 50, though this limit can be raised to 100.
83
87
84
88
## Shared, public, or private IP
85
89
@@ -97,12 +101,12 @@ When using shared public IPs, the virtual machines in a lab share a public IP ad
97
101
## Limits of number of virtual machines per user or lab
98
102
99
103
### Question
100
-
Is there a rule in terms of how many virtual machines I should set per user, or per lab?
104
+
Is there a rule for how many virtual machines I should set per user, or per lab?
101
105
102
106
### Answer
103
107
When considering the number of virtual machines per user or per lab, there are three main concerns:
104
108
105
-
- The **overall cost** that the team can spend on resources in the lab. It’s easy to spin up many machines. To control costs, one mechanism is to limit the number of VMs per user and/or per lab
109
+
- The **overall cost** that the team can spend on resources in the lab. It’s easy to spin up many machines. To control costs, one mechanism is to limit the number of VMs per user or per lab
106
110
- The total number of virtual machines in a lab is impacted by the [subscription level quotas](../azure-resource-manager/management/azure-subscription-service-limits.md) available. One of the upper limits is 800 resource groups per subscription. DevTest Labs currently creates a new resource group for each VM (unless shared public IPs are used). If there are 10 labs in a subscription, labs could fit approximately 79 virtual machines in each lab (800 upper limit – 10 resource groups for the 10 labs themselves) = 79 virtual machines per lab.
107
111
- If the lab is connected to on-premises via Express Route (for example), there are **defined IP address spaces available** for the VNet/Subnet. To ensure that VMs in the lab don't fail to be created (error: can’t get IP address), lab owners can specify the max VMs per lab aligned with the IP address space available.
108
112
@@ -112,11 +116,11 @@ When considering the number of virtual machines per user or per lab, there are t
112
116
How can I use Resource Manager templates in my DevTest Labs Environment?
113
117
114
118
### Answer
115
-
You deploy your Resource Manager templates into a DevTest Labs environment by using steps mentioned in the [Environments feature in DevTest labs](devtest-lab-test-env.md) article. Basically, you check your Resource Manager templates into a Git Repository (either Azure Repos or GitHub), and add a [private repository for your templates](devtest-lab-test-env.md) to the lab.
119
+
Deploy your Resource Manager templates by using the steps in [Use Azure DevTest Labs for test environments](devtest-lab-test-env.md). Basically, you check your Resource Manager templates into an Azure Repos or GitHub Git repository, and add a [private repository for your templates](devtest-lab-test-env.md) to the lab.
116
120
117
-
This scenario may not be useful if you are using DevTest Labs to host development machines, but may be useful if you are building a staging environment, which is representative of production.
121
+
This scenario may not be useful if you're using DevTest Labs to host development machines. Use this scenario to build a staging environment that's representative of production.
118
122
119
-
It is also worth noting that the number of virtual machines per lab or per user option only limits the number of machines natively created in the lab itself, and not by any environments (Resource Manager templates).
123
+
The number of virtual machines per lab or per user option only limits the number of machines natively created in the lab itself. This option doesn't limit creation by any environments with Resource Manager templates.
120
124
121
125
## Next steps
122
126
See [Use environments in DevTest Labs](devtest-lab-test-env.md).
Copy file name to clipboardExpand all lines: articles/devtest-labs/devtest-lab-guidance-governance-cost-ownership.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,36 +15,36 @@ Cost and ownership are primary concerns when you consider building your developm
15
15
How can I optimize for cost within my DevTest Labs environment?
16
16
17
17
### Answer
18
-
There are a number of built-in features of DevTest Labs that help you optimize for cost. See [cost management, thresholds](devtest-lab-configure-cost-management.md)[,and policies](devtest-lab-set-lab-policy.md) articles to limit activities of your users.
18
+
Several built-in features of DevTest Labs help you optimize for cost. See [cost management, thresholds](devtest-lab-configure-cost-management.md)[,and policies](devtest-lab-set-lab-policy.md) articles to limit activities of your users.
19
19
20
-
As you utilize DevTest Labs for a development and test workloads, you may consider utilizing the [Enterprise Dev/Test Subscription Benefit](https://azure.microsoft.com/offers/ms-azr-0148p/), as part of your Enterprise Agreement. Alternatively, if you are a Pay as you Go customer, you may want to consider the [Pay-as-you go DevTest offer](https://azure.microsoft.com/offers/ms-azr-0023p/).
20
+
If you use DevTest Labs for development and test workloads, consider using the [Enterprise Dev/Test Subscription Benefit](https://azure.microsoft.com/offers/ms-azr-0148p/) that's part of your Enterprise Agreement. Or if you're a Pay as you Go customer, consider the [Pay-as-you go DevTest offer](https://azure.microsoft.com/offers/ms-azr-0023p/).
21
21
22
-
This approach provides you with numerous advantages:
22
+
This approach provides several advantages:
23
23
24
24
- Special lower Dev/Test rates on Windows virtual machines, cloud services, HDInsight, App Service, and Logic Apps
25
25
- Great Enterprise Agreement (EA) rates on other Azure services
26
26
- Access to exclusive Dev/Test images in the Gallery, including Windows 8.1 and Windows 10
27
27
28
-
Only active Visual Studio subscribers (standard subscriptions, annual cloud subscriptions, and monthly cloud subscriptions) can use Azure resources running within an enterprise Dev/Test subscription. However, end users can access the application to provide feedback or perform acceptance tests. Use of resources within this subscription is restricted to developing and testing applications, and no uptime guarantee is offered.
28
+
Only active Visual Studio subscribers (standard subscriptions, annual cloud subscriptions, and monthly cloud subscriptions) can use Azure resources running within an enterprise Dev/Test subscription. However, end users can access the application to provide feedback or do acceptance testing. You can use resources within this subscription only for developing and testing applications. There's no uptime guarantee.
29
29
30
-
If you decide to use the DevTest offer, note that this benefit is exclusively for development and testing your applications. Usage within the subscription does not carry a financially-backed SLA, except for the use of Azure DevOps and HockeyApp.
30
+
If you decide to use the DevTest offer, use this benefit exclusively for development and testing your applications. Usage within the subscription doesn't carry a financiallybacked SLA, except for the use of Azure DevOps and HockeyApp.
31
31
32
32
## Define role-based access across your organization
33
33
### Question
34
34
How do I define Azure role-based access control for my DevTest Labs environments to ensure that IT can govern while developers/test can do their work?
35
35
36
36
### Answer
37
-
There is a broad pattern, however the detail depends on your organization.
37
+
There's a broad pattern, but the detail depends on your organization.
38
38
39
-
Central IT should own only what is necessary, and enable the project and application teams to have the needed level of control. Typically, it means that central IT owns the subscription and handles core IT functions such as networking configurations. The set of **owners** for a subscription should be small. These owners can nominate additional owners when there is a need, or apply subscription-level policies, for example “No Public IP”.
39
+
Central IT should own only what's necessary, and enable the project and application teams to have the needed level of control. Typically, it means that central IT owns the subscription and handles core IT functions such as networking configurations. The set of **owners** for a subscription should be small. These owners can nominate other owners when there's a need, or apply subscription-level policies, for example “No Public IP”.
40
40
41
41
There may be a subset of users that require access across a subscription, such as Tier1 or Tier 2 support. In this case, we recommend that you give these users the **contributor** access so that they can manage the resources, but not provide user access or adjust policies.
42
42
43
-
The DevTest Labs resource should be owned by owners who are close to the project/application team. It's because they understand their requirements in terms of machines, and required software. In most organizations, the owner of this DevTest Labs resource is commonly the project/development lead. This owner can manage users and policies within the lab environment and can manage all VMs in the DevTest Labs environment.
43
+
DevTest Labs resource owners should be close to the project or application team. These owners understand machine and software requirements. In most organizations, the owner of the DevTest Labs resource is the project or development lead. This owner can manage users and policies within the lab environment and can manage all virtual machines in the DevTest Labs environment.
44
44
45
-
The project/application team members should be added to the DevTest Labs Users role. These users can create virtual machines (in-line with the lab and subscription-level policies). They can also manage their own virtual machines. They can't manage virtual machines that belong to other users.
45
+
Add project and application team members to the DevTest Labs Users role. These users can create virtual machines, in line with lab and subscription-level policies. Users can also manage their own virtual machines, but can't manage virtual machines that belong to other users.
46
46
47
-
For more information, see [Azure enterprise scaffold – prescriptive subscription governance](/azure/architecture/cloud-adoption/appendix/azure-scaffold) documentation.
47
+
For more information, see [Azure enterprise scaffold – prescriptive subscription governance](/azure/architecture/cloud-adoption/appendix/azure-scaffold).
0 commit comments