{"id":5645,"date":"2017-03-29T12:00:22","date_gmt":"2017-03-29T16:00:22","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/azuregov\/?p=5645"},"modified":"2017-03-29T12:00:22","modified_gmt":"2017-03-29T16:00:22","slug":"microsoft-azure-iaas-architecture-best-practices-for-arm","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/azuregov\/microsoft-azure-iaas-architecture-best-practices-for-arm\/","title":{"rendered":"Microsoft Azure IaaS Architecture Best Practices for ARM"},"content":{"rendered":"<h3>How to design and build an enterprise infrastructure in Azure using the Azure Resource Manager portal<\/h3>\n<p>Getting started in Azure is easy to do, and you can have production workloads running in the cloud in very little time. However, there are some essential aspects of the Azure platform that require some forethought and planning. While it is easy to get up and running quickly, without the necessary planning in some areas, you could find it necessary to rebuild these workloads later if you haven\u2019t fully considered the bigger picture\u2014from an enterprise perspective. Let\u2019s avoid the necessity of having to redeploy or redesign your Azure architecture later by considering upfront those things that may become an issue later.<\/p>\n<h3>Executive Summary<\/h3>\n<p>This post describes and demonstrates the best practices for implementing a consistent naming convention, Resource Group management strategy, and creating architectural designs for your Azure IaaS deployments. Your actual conventions and strategies will differ depending on your existing methodology, but this sample describes some of the key concepts for you to properly plan for your cloud assets. A video walkthrough guide of these principles in practice, is also available for a deeper understanding of the concepts presented here.<\/p>\n<p>This article builds upon the following blog post that was released previously, and describes similar concepts utilizing Azure Service Management (ASM or Classic) resources: <a href=\"https:\/\/devblogs.microsoft.com\/azuregov\/essential-considerations-for-azure-architectural-planning\/\">Essential Considerations for Azure Architectural Planning<\/a><\/p>\n<h3><u>Azure Subscriptions<\/u><\/h3>\n<p>The very top level container within an Azure enrollment is the subscription. An enrollment can contain many subscriptions\u2014each with their own administrative boundaries. This works well for separation of departments and agencies, as well as for separation of specific workloads such as production, staging, testing, and development. While this is great for establishing clean administrative boundaries, centrally managing many subscriptions can create additional overhead. For instance, a virtual network (VNET) cannot cross a subscription boundary, so if you are utilizing Site-to-Site VPNs for your hybrid connectivity, you will need to create multiple VPNs\u2014one for each VNET. If you are utilizing ExpressRoute (E\/R) for your connectivity, this makes it much easier to connect multiple VNETs to your on-premises network. It is also possible to utilize <a href=\"https:\/\/devblogs.microsoft.com\/azuregov\/vnet-peering-generally-available-for-azure-government\/\">VNET peering<\/a> to share a single VPN connection as long your VPN edge device supports route-based (or dynamic) routing.<\/p>\n<p>Azure in Education has posted a great article about enterprise and subscription management. For more information, check out this article: <a href=\"https:\/\/blogs.msdn.microsoft.com\/azureedu\/2016\/10\/29\/introduction-to-azure-enterprise-and-subscription-management\/\">Introduction to Azure Enterprise and Subscription Management<\/a>.<\/p>\n<h3><u>Naming Conventions<\/u><\/h3>\n<p>Consistent naming conventions are critical to any government agency or commercial enterprise with numerous different departments, services, networks, and applications. If consistent naming is not applied from the very beginning, resources can quickly become hard to find or rapidly identify. As such, it is important to establish a standard convention that will be used throughout these various services. <em>[Note: these are typical examples and will likely vary from your current established naming convention. Just keep in mind that you should have some mechanism in place to distinguish Azure based assets from on-premises based assets when you determine your actual naming convention.]<\/em><\/p>\n<p>Additional guidance on naming convention best practices is located here: <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/architecture\/best-practices\/naming-conventions\">Naming Conventions<\/a><\/p>\n<h3><u>Resource Groups<\/u><\/h3>\n<p>Within a subscription, the Resource Group (RG) is the top-level container to keep similar workloads or items grouped together. Typically, these RGs are utilized to separate things like virtual machine workloads, network components, storage accounts, and other such items. That makes it easy to go directly to the desired area or workload to find or manage components within it.<\/p>\n<p>A typical resource group naming convention is like the following:\n<strong>RG-Region-Type-SubType\/Workload<\/strong><\/p>\n<p>Example: <strong>RG-West-VM-Identity<\/strong> where\n<strong>RG<\/strong> indicates it as a Resource Group\n<strong>West<\/strong> indicates the WestUS region\n<strong>VM<\/strong> indicates that it contains virtual machines\n<strong>Identity<\/strong> indicates the \u201cidentity\u201d workload<\/p>\n<p>Example: <strong>RG-West-Network<\/strong> where\n<strong>RG<\/strong> indicates it as a Resource Group\n<strong>West<\/strong> indicates the WestUS region\n<strong>Network<\/strong> indicates that it contains the Vnet components<\/p>\n<h3><u>Networking Components<\/u><\/h3>\n<p>A typical resource group naming convention is like the following:\n<strong>Vnet-Region-Type-SubType\/Workload<\/strong><\/p>\n<p>Example: <strong>VNET-West<\/strong> where\n<strong>VNET<\/strong> indicates it as a virtual network component\n<strong>West<\/strong> indicates the WestUS region<\/p>\n<p>Example: <strong>VNET-West-GW<\/strong> where\n<strong>VNET<\/strong> indicates it as a virtual network component\n<strong>West<\/strong> indicates the WestUS region\n<strong>GW<\/strong> indicates that it is the gateway component<\/p>\n<p>Example: <strong>VNET-West-GW-IP<\/strong> where\n<strong>VNET<\/strong> indicates it as a virtual network component\n<strong>West<\/strong> indicates the WestUS region\n<strong>GW<\/strong> indicates that it is the gateway component\n<strong>IP<\/strong> indicates that it is the IP address of the gateway<\/p>\n<h3><u>Storage Accounts<\/u><\/h3>\n<p>Storage accounts use publicly accessible URLs, so they require a globally unique DNS name.<\/p>\n<p>A typical storage account naming convention is like the following:\n<strong>[Entity][Region][Type][Workload].*.core.windows.net (or for Azure Government [Entity][Region][Type][Workload].*.core.usgovcloudapi.net)<\/strong><\/p>\n<p>Example: <strong>spnwwusvmid<\/strong> (https:\/\/spnwwusvmid.blob.core.windows.net) where:\n<strong>spnw<\/strong> indicates the enterprise name\n<strong>wus<\/strong> indicates it is located in the WestUS region\n<strong>vm<\/strong> indicates it is for virtual machine disks\n<strong>id<\/strong> indicates that is for the identity workload<\/p>\n<p>Example: <strong>spnweussql<\/strong> (https:\/\/spnweussql.blob.core.windows.net) where:\n<strong>spnw<\/strong> indicates the enterprise name\n<strong>eus<\/strong> indicates it is located in the EastUS region\n<strong>sql<\/strong> indicates it is for SQL data storage<\/p>\n<h3><u>Virtual Machines<\/u><\/h3>\n<p>A typical storage account naming convention is like the following:\n<strong>[Region][Role][Number]<\/strong><\/p>\n<p>Example: <strong>wusdc01<\/strong> where:\n<strong>wus<\/strong> indicates the WestUS region\n<strong>dc<\/strong> indicates it is a domain controller\n<strong>01<\/strong> indicates it is the first domain controller<\/p>\n<p>Example: <strong>wusadfs02<\/strong> where:\n<strong>wus<\/strong> indicates the WestUS region\n<strong>adfs<\/strong> indicates it is an ADFS server\n<strong>02<\/strong> indicates it is the second server for this workload<\/p>\n<h3><u>Workload Scenario<\/u><\/h3>\n<p>Let\u2019s build a sample scenario of an enterprise SharePoint farm in Azure. This scenario will include a highly available SharePoint farm that is deployed in the WestUS region, with a disaster recovery farm deployed in the EastUS region. They are connected via two on-premises Site-to-Site (S2S) VPNs (one to each region) as well as a VNET-to-VNET VPN that connects WestUS to EastUS. This last link is utilized for Domain Controller and SQL Always-on replication.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/43\/2019\/03\/AzureIaaSARMScenario.png\"><img decoding=\"async\" width=\"300\" height=\"225\" class=\"alignnone size-medium wp-image-5655\" alt=\"azureiaasarmscenario\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/43\/2019\/03\/AzureIaaSARMScenario-300x225.png\" \/><\/a><\/p>\n<p><strong><u>Identity Workload:<\/u><\/strong> 6 servers in West Region\n(2) Domain Controllers\n(2) Load balanced ADFS servers\n(2) Load balanced Web Proxy servers<\/p>\n<p><strong><u>SharePoint Workload:<\/u><\/strong> 6 servers in West Region\n(2) Load balanced SharePoint WFE servers\n(2) SharePoint APP servers\n(2) Load balanced SQL servers w\/always-on<\/p>\n<p><strong><u>Disaster Recovery Workload:<\/u><\/strong> 4 servers in East Region\n(1) Domain Controller\n(1) SharePoint WFE server\n(1) SharePoint APP server\n(1) SQL Server w\/always-on<\/p>\n<h3><u>Resource Groups<\/u><\/h3>\n<p>The RGs that we have defined for this scenario are as follows:<\/p>\n<table class=\"table table-bordered table-condensed\" style=\"width: 583.59px\">\n<tbody>\n<tr>\n<td width=\"150\">RG-West-VM-Identity<\/td>\n<td width=\"474\">Contains identity VMs and their storage (DCs, ADFS, Proxy)<\/td>\n<\/tr>\n<tr>\n<td width=\"150\">RG-West-VM-SharePoint<\/td>\n<td width=\"474\">Contains SharePoint VMs (WFE, APP)<\/td>\n<\/tr>\n<tr>\n<td width=\"150\">RG-West-VM-Database<\/td>\n<td width=\"474\">Contains SQL database VMs (SQL)<\/td>\n<\/tr>\n<tr>\n<td width=\"150\">RG-West-Network<\/td>\n<td width=\"474\">Contains network related components (Vnet, S2S VPNs, public IPs, load balancers)<\/td>\n<\/tr>\n<tr>\n<td width=\"150\">RG-East-VM-Identity<\/td>\n<td width=\"474\">Contains identity VMs and their storage (DC)<\/td>\n<\/tr>\n<tr>\n<td width=\"150\">RG-East-VM-SharePoint<\/td>\n<td width=\"474\">Contains SharePoint VMs (WFE, APP)<\/td>\n<\/tr>\n<tr>\n<td width=\"150\">RG-East-VM-Database<\/td>\n<td width=\"474\">Contains SQL database VMs (SQL)<\/td>\n<\/tr>\n<tr>\n<td width=\"150\">RG-East-Network<\/td>\n<td width=\"474\">Contains network related components (Vnet, public IP, etc.)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><u>Networking Components<\/u><\/h3>\n<p>The networking components defined for this scenario are as follows:<\/p>\n<table class=\"table table-bordered table-condensed\" style=\"width: 583.59px\">\n<tbody>\n<tr>\n<td width=\"188\">Vnet-West<\/td>\n<td width=\"579\">The virtual network configuration (IP ranges, subnets, etc.)<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">Vnet-West-GW<\/td>\n<td width=\"579\">The virtual network gateway<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">Vnet-West-GW-IP<\/td>\n<td width=\"579\">The public IP address of the gateway<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">Vnet-West-GW-Local<\/td>\n<td width=\"579\">The local (on-premises) gateway configuration (IP address, connection type, etc.)<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">Vnet-West-Vnet-East-Connection<\/td>\n<td width=\"579\">The S2S VPN connecting WestUS to EastUS<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">Vnet-West-Local-Connection<\/td>\n<td width=\"579\">The S2S VPN connecting WestUS to on-premises<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">PLB-West-ADFSProxy<\/td>\n<td width=\"579\">The public load balancer for the ADFS proxy servers<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">PLB-West-ADFSProxy-IP<\/td>\n<td width=\"579\">The public IP address of the load balancer<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">ILB-West-ADFS<\/td>\n<td width=\"579\">The internal load balancer for the ADFS servers<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">PLB-West-SP<\/td>\n<td width=\"579\">The public load balancer for the SharePoint WFEs<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">PLB-West-SP-IP<\/td>\n<td width=\"579\">The public IP address of the load balancer<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">Vnet-East<\/td>\n<td width=\"579\">The virtual network configuration (IP ranges, subnets, etc.)<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">Vnet- East -GW<\/td>\n<td width=\"579\">The virtual network gateway<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">Vnet- East -GW-IP<\/td>\n<td width=\"579\">The public IP address of the gateway<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">Vnet- East -GW-Local<\/td>\n<td width=\"579\">The local (on-premises) gateway configuration (IP address, connection type, etc.)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><u>Storage Accounts<\/u><\/h3>\n<p>Storage accounts (S\/A) are publicly available locations where your virtual hard drives (and other data types) are stored. They are IOPS limited depending on the type of storage that is required. A standard S\/A has a limit of 20K IOPS and utilizes typical HDDs with a maximum IOPS limit of 500 per disk. A premium S\/A is limited to 100K IOPS and utilizes typical SSDs with a maximum IOPS limit of 5000 per disk. As such, it is recommended to split your VHDs into several S\/As so that your VMs can use their maximum potential data transfer speeds.<\/p>\n<table class=\"table table-bordered table-condensed\" style=\"width: 583.59px\">\n<tbody>\n<tr>\n<td width=\"188\">spnwwusvmid<\/td>\n<td width=\"579\">West Identity VM S\/A<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">spnwwusvmsp<\/td>\n<td width=\"579\">West SharePoint VM S\/A<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">spnwwusvmdb<\/td>\n<td width=\"579\">West SQL data VM S\/A<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">spnwwusvmdiag<\/td>\n<td width=\"579\">West VM diagnostics S\/A<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">spnweusvmid<\/td>\n<td width=\"579\">East Identity VM S\/A<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">spnweusvmsp<\/td>\n<td width=\"579\">East SharePoint VM S\/A<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">spnweusvmdb<\/td>\n<td width=\"579\">East SQL data VM S\/A<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">spnweusvmdiag<\/td>\n<td width=\"579\">East VM diagnostics S\/A<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><u>Availability Sets<\/u><\/h3>\n<p>Availability sets group identical server workloads together to provide high availability in Azure. In order to provide a Service Level Agreement (SLA) for specific virtual machine workloads, each workload must contain at least two servers in an availability set, or single instance machines must utilize premium storage for their virtual hard disks. As such, the best practice is to include two servers running each critical workload. In addition, we will add load balancers to these workloads where required.<\/p>\n<p>For this scenario, the WestUS region is our primary location. The EastUS region will only be utilized if a disaster occurs in the WestUS region, so a few single instance VMs in the East would be fine in that scenario. If desired, a fully redundant and high performing infrastructure could be built in the East as well\u2014including the full ADFS resilient identity workload.<\/p>\n<p>The availability sets defined for this scenario are as follows:<\/p>\n<table class=\"table table-bordered table-condensed\" style=\"width: 583.59px\">\n<tbody>\n<tr>\n<td width=\"188\">AS-DC<\/td>\n<td width=\"579\">The A\/S for the domain controllers<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">AS-ADFS<\/td>\n<td width=\"579\">The A\/S for the ADFS servers<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">AS-ADFSPXY<\/td>\n<td width=\"579\">The A\/S for the ADFS proxy servers<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">AS-SPWFE<\/td>\n<td width=\"579\">The A\/S for the SharePoint web front end servers<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">AS-SPAPP<\/td>\n<td width=\"579\">The A\/S for the SharePoint app servers<\/td>\n<\/tr>\n<tr>\n<td width=\"188\">AS-SPSQL<\/td>\n<td width=\"579\">The A\/S for the SharePoint SQL servers<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><u>Virtual Machines<\/u><\/h3>\n<p>All of the virtual machine components are listed in the table following:<\/p>\n<table class=\"table table-bordered table-condensed\" style=\"width: 583.59px\">\n<tbody>\n<tr>\n<td width=\"107\" style=\"text-align: center\"><strong>VM<\/strong><\/td>\n<td width=\"68\" style=\"text-align: center\"><strong>IP<\/strong><\/td>\n<td width=\"56\" style=\"text-align: center\"><strong>Subnet<\/strong><\/td>\n<td width=\"127\" style=\"text-align: center\"><strong>L\/B<\/strong><\/td>\n<td width=\"83\" style=\"text-align: center\"><strong>Avail Set<\/strong><\/td>\n<td width=\"93\" style=\"text-align: center\"><strong>VM Size<\/strong><\/td>\n<td width=\"163\" style=\"text-align: center\"><strong>Resource Group<\/strong><\/td>\n<td width=\"123\" style=\"text-align: center\"><strong>Storage Account<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"819\" colspan=\"8\"><strong>West Region<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"107\">WUSDC01<\/td>\n<td width=\"68\">10.20.1.11<\/td>\n<td width=\"56\">Identity<\/td>\n<td width=\"127\" style=\"text-align: center\">n\/a<\/td>\n<td width=\"83\">AS-DC<\/td>\n<td width=\"93\">Standard_A2<\/td>\n<td width=\"163\">RG-West-VM-Identity<\/td>\n<td width=\"123\">spnwwusvmid<\/td>\n<\/tr>\n<tr>\n<td width=\"107\">WUSDC02<\/td>\n<td width=\"68\">10.20.1.12<\/td>\n<td width=\"56\">Identity<\/td>\n<td width=\"127\" style=\"text-align: center\">n\/a<\/td>\n<td width=\"83\">AS-DC<\/td>\n<td width=\"93\">Standard_A2<\/td>\n<td width=\"163\">RG-West-VM-Identity<\/td>\n<td width=\"123\">spnwwusvmid<\/td>\n<\/tr>\n<tr>\n<td width=\"107\">WUSADFS01<\/td>\n<td width=\"68\">10.20.1.21<\/td>\n<td width=\"56\">Identity<\/td>\n<td width=\"127\">ILB-West-ADFS<\/td>\n<td width=\"83\">AS-ADFS<\/td>\n<td width=\"93\">Standard_A2<\/td>\n<td width=\"163\">RG-West-VM-Identity<\/td>\n<td width=\"123\">spnwwusvmid<\/td>\n<\/tr>\n<tr>\n<td width=\"107\">WUSADFS02<\/td>\n<td width=\"68\">10.20.1.22<\/td>\n<td width=\"56\">Identity<\/td>\n<td width=\"127\">ILB-West-ADFS<\/td>\n<td width=\"83\">AS-ADFS<\/td>\n<td width=\"93\">Standard_A2<\/td>\n<td width=\"163\">RG-West-VM-Identity<\/td>\n<td width=\"123\">spnwwusvmid<\/td>\n<\/tr>\n<tr>\n<td width=\"107\">WUSADFSPXY01<\/td>\n<td width=\"68\">10.20.0.11<\/td>\n<td width=\"56\">DMZ<\/td>\n<td width=\"127\">PLB-West-ADFSPXY<\/td>\n<td width=\"83\">AS-ADFSPXY<\/td>\n<td width=\"93\">Standard_A2<\/td>\n<td width=\"163\">RG-West-VM-Identity<\/td>\n<td width=\"123\">spnwwusvmid<\/td>\n<\/tr>\n<tr>\n<td width=\"107\">WUSADFSPXY02<\/td>\n<td width=\"68\">10.20.0.12<\/td>\n<td width=\"56\">DMZ<\/td>\n<td width=\"127\">PLB-West-ADFSPXY<\/td>\n<td width=\"83\">AS-ADFSPXY<\/td>\n<td width=\"93\">Standard_A2<\/td>\n<td width=\"163\">RG-West-VM-Identity<\/td>\n<td width=\"123\">spnwwusvmid<\/td>\n<\/tr>\n<tr>\n<td width=\"107\">WUSSPWFE01<\/td>\n<td width=\"68\">10.20.0.21<\/td>\n<td width=\"56\">DMZ<\/td>\n<td width=\"127\">PLB-West-SPWFE<\/td>\n<td width=\"83\">AS-SPWFE<\/td>\n<td width=\"93\">Standard_A3<\/td>\n<td width=\"163\">RG-West-VM-SharePoint<\/td>\n<td width=\"123\">spnwwusvmsp<\/td>\n<\/tr>\n<tr>\n<td width=\"107\">WUSSPWFE02<\/td>\n<td width=\"68\">10.20.0.22<\/td>\n<td width=\"56\">DMZ<\/td>\n<td width=\"127\">PLB-West-SPWFE<\/td>\n<td width=\"83\">AS-SPWFE<\/td>\n<td width=\"93\">Standard_A3<\/td>\n<td width=\"163\">RG-West-VM-SharePoint<\/td>\n<td width=\"123\">spnwwusvmsp<\/td>\n<\/tr>\n<tr>\n<td width=\"107\">WUSSPAPP01<\/td>\n<td width=\"68\">10.20.2.11<\/td>\n<td width=\"56\">Apps<\/td>\n<td width=\"127\" style=\"text-align: center\">n\/a<\/td>\n<td width=\"83\">AS-SPAPP<\/td>\n<td width=\"93\">Standard_A3<\/td>\n<td width=\"163\">RG-West-VM-SharePoint<\/td>\n<td width=\"123\">spnwwusvmsp<\/td>\n<\/tr>\n<tr>\n<td width=\"107\">WUSSPAPP02<\/td>\n<td width=\"68\">10.20.2.12<\/td>\n<td width=\"56\">Apps<\/td>\n<td width=\"127\" style=\"text-align: center\">n\/a<\/td>\n<td width=\"83\">AS-SPAPP<\/td>\n<td width=\"93\">Standard_A3<\/td>\n<td width=\"163\">RG-West-VM-SharePoint<\/td>\n<td width=\"123\">spnwwusvmsp<\/td>\n<\/tr>\n<tr>\n<td width=\"107\">WUSSPSQL01<\/td>\n<td width=\"68\">10.20.3.11<\/td>\n<td width=\"56\">Servers<\/td>\n<td width=\"127\">ILB-West-SPSQL<\/td>\n<td width=\"83\">AS-SPSQL<\/td>\n<td width=\"93\">Standard_DS3<\/td>\n<td width=\"163\">RG-West-VM-Database<\/td>\n<td width=\"123\">spnwwusvmdb<\/td>\n<\/tr>\n<tr>\n<td width=\"107\">WUSSPSQL02<\/td>\n<td width=\"68\">10.20.3.12<\/td>\n<td width=\"56\">Servers<\/td>\n<td width=\"127\">ILB-West-SPSQL<\/td>\n<td width=\"83\">AS-SPSQL<\/td>\n<td width=\"93\">Standard_DS3<\/td>\n<td width=\"163\">RG-West-VM-Database<\/td>\n<td width=\"123\">spnwwusvmdb<\/td>\n<\/tr>\n<tr>\n<td width=\"819\" colspan=\"8\"><strong>East Region<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"107\">EUSDC03<\/td>\n<td width=\"68\">10.30.1.13<\/td>\n<td width=\"56\">Identity<\/td>\n<td width=\"127\" style=\"text-align: center\">n\/a<\/td>\n<td width=\"83\" style=\"text-align: center\">n\/a<\/td>\n<td width=\"93\">Standard_A2<\/td>\n<td width=\"163\">RG-East-VM-Identity<\/td>\n<td width=\"123\">spnweusvmid<\/td>\n<\/tr>\n<tr>\n<td width=\"107\">EUSSPWFE03<\/td>\n<td width=\"68\">10.30.0.13<\/td>\n<td width=\"56\">DMZ<\/td>\n<td width=\"127\" style=\"text-align: center\">n\/a<\/td>\n<td width=\"83\" style=\"text-align: center\">n\/a<\/td>\n<td width=\"93\">Standard_A3<\/td>\n<td width=\"163\">RG-East-VM-SharePoint<\/td>\n<td width=\"123\">spnweusvmsp<\/td>\n<\/tr>\n<tr>\n<td width=\"107\">EUSSPAPP03<\/td>\n<td width=\"68\">10.30.2.13<\/td>\n<td width=\"56\">Apps<\/td>\n<td width=\"127\" style=\"text-align: center\">n\/a<\/td>\n<td width=\"83\" style=\"text-align: center\">n\/a<\/td>\n<td width=\"93\">Standard_A3<\/td>\n<td width=\"163\">RG-East-VM-SharePoint<\/td>\n<td width=\"123\">spnweusvmsp<\/td>\n<\/tr>\n<tr>\n<td width=\"107\">EUSSPSQL03<\/td>\n<td width=\"68\">10.30.3.13<\/td>\n<td width=\"56\">Servers<\/td>\n<td width=\"127\" style=\"text-align: center\">n\/a<\/td>\n<td width=\"83\" style=\"text-align: center\">n\/a<\/td>\n<td width=\"93\">Standard_DS3<\/td>\n<td width=\"163\">RG-East-VM-Database<\/td>\n<td width=\"123\">spnweusvmdb<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><a href=\"https:\/\/channel9.msdn.com\/Series\/Microsoft-Azure-IaaS-Architecture-Best-Practices-for-ARM\">Video Learning Series<\/a><\/h3>\n<p>The build out of this scenario workload is fully recorded for your review. These videos highlight all the key components of this document so that you can understand how it all comes together in Azure.<\/p>\n<p>1)\u00a0\u00a0\u00a0\u00a0\u00a0 <a href=\"https:\/\/channel9.msdn.com\/Series\/Microsoft-Azure-IaaS-Architecture-Best-Practices-for-ARM\/Using-Consistent-Naming-Conventions-to-Create-Resource-Groups-and-Storage-Accounts\">Using Consistent Naming Conventions to Create Resource Groups and Storage Accounts <\/a>(20 minutes)<\/p>\n<p>2)\u00a0\u00a0\u00a0\u00a0\u00a0 <a href=\"https:\/\/channel9.msdn.com\/Series\/Microsoft-Azure-IaaS-Architecture-Best-Practices-for-ARM\/Creating-Virtual-Networks-and-VPN-Connections-in-ARM\">Creating Virtual Network and VPN Connections in ARM <\/a>(30 minutes)<\/p>\n<p>3)\u00a0\u00a0\u00a0\u00a0\u00a0 <a href=\"https:\/\/channel9.msdn.com\/Series\/Microsoft-Azure-IaaS-Architecture-Best-Practices-for-ARM\/Creating-Basic-Virtual-Machines-in-the-Azure-Portal\">Creating Basic Virtual Machines in the Azure Portal <\/a>(23 minutes)<\/p>\n<p>4)\u00a0\u00a0\u00a0\u00a0\u00a0 <a href=\"https:\/\/channel9.msdn.com\/Series\/Microsoft-Azure-IaaS-Architecture-Best-Practices-for-ARM\/Creating-Advanced-Virtual-Machines-in-the-Azure-Portal\">Creating Advanced Virtual Machines in the Azure Portal <\/a>(16 minutes)<\/p>\n<p>5)\u00a0\u00a0\u00a0\u00a0\u00a0 <a href=\"https:\/\/channel9.msdn.com\/Series\/Microsoft-Azure-IaaS-Architecture-Best-Practices-for-ARM\/Creating-Load-Balancers-and-Network-Security-Groups-in-the-Azure-Portal\">Creating Load Balancers and Network Security Groups in the Azure Portal <\/a>(24 minutes)<\/p>\n<p>We welcome your comments and suggestions to help us continually improve your Azure Government experience. To stay up to date on all things Azure Government, be sure to subscribe to our <a href=\"https:\/\/blogs.msdn.microsoft.com\/azuregov\/feed\/\">RSS feed<\/a> and to receive emails, click \u201cSubscribe by Email!\u201d on the <a href=\"https:\/\/blogs.msdn.microsoft.com\/azuregov\/\">Azure Government Blog<\/a>. To experience the power of Azure Government for your organization, sign up for an <a href=\"https:\/\/azuregov.microsoft.com\/trial\/azuregovtrial\">Azure Government Trial<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>How to design and build an enterprise infrastructure in Azure using the Azure Resource Manager portal Getting started in Azure is easy to do, and you can have production workloads running in the cloud in very little time. However, there are some essential aspects of the Azure platform that require some forethought and planning. While [&hellip;]<\/p>\n","protected":false},"author":1765,"featured_media":20423,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[36,5,21,25,34],"tags":[59,75,95,343],"class_list":["post-5645","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-strategy","category-compute","category-onboarding","category-portalpreview","category-virtual-machines","tag-arm","tag-azure","tag-azure-government","tag-iaas"],"acf":[],"blog_post_summary":"<p>How to design and build an enterprise infrastructure in Azure using the Azure Resource Manager portal Getting started in Azure is easy to do, and you can have production workloads running in the cloud in very little time. However, there are some essential aspects of the Azure platform that require some forethought and planning. While [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/azuregov\/wp-json\/wp\/v2\/posts\/5645","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/azuregov\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/azuregov\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azuregov\/wp-json\/wp\/v2\/users\/1765"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azuregov\/wp-json\/wp\/v2\/comments?post=5645"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/azuregov\/wp-json\/wp\/v2\/posts\/5645\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azuregov\/wp-json\/wp\/v2\/media\/20423"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/azuregov\/wp-json\/wp\/v2\/media?parent=5645"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azuregov\/wp-json\/wp\/v2\/categories?post=5645"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azuregov\/wp-json\/wp\/v2\/tags?post=5645"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}