Exemplos de implementação do Azure Enterprise ScaffoldExamples of implementing Azure enterprise scaffold

Nota

O Azure Enterprise scaffolding foi integrado à estrutura de adoção Microsoft Cloud.Azure enterprise scaffolding has been integrated into the Microsoft Cloud Adoption Framework. O conteúdo deste artigo agora está representado na seção pronta da nova estrutura.The content in this article is now represented in the Ready section of the new framework. Este artigo será preterido no início de 2020.This article will be deprecated in early 2020. Para começar a usar o novo processo, consulte a visão geral pronta, criando sua primeira zonade aterrissagem e/ou Considerações sobre a zonade aterrissagem.To begin using the new process, see the Ready overview, creating your first landing zone, and/or landing zone considerations.

Este artigo fornece exemplos de como uma empresa pode implementar as recomendações para um Scaffold corporativo do Azure.This article provides examples of how an enterprise can implement the recommendations for an Azure enterprise scaffold. Ele usa uma empresa fictícia chamada contoso para ilustrar as práticas recomendadas para cenários comuns.It uses a fictional company named Contoso to illustrate best practices for common scenarios.

Segundo planoBackground

A contoso é uma empresa mundial que fornece soluções de cadeia de fornecedores para os clientes.Contoso is a worldwide company that provides supply chain solutions for customers. Eles fornecem tudo de um modelo de software como serviço para um modelo de pacote implantado localmente.They provide everything from a software as a service model to a packaged model deployed on-premises. Eles desenvolvem software em todo o mundo com centros de desenvolvimento significativos na Índia, na Estados Unidos e no Canadá.They develop software across the globe with significant development centers in India, the United States, and Canada.

A parte ISV da empresa é dividida em várias unidades de negócios independentes que gerenciam produtos em um negócio significativo.The ISV portion of the company is divided into several independent business units that manage products in a significant business. Cada unidade de negócios tem seus próprios desenvolvedores, gerentes de produtos e arquitetos.Each business unit has its own developers, product managers, and architects.

A unidade de negócios do ETS (Enterprise Technology Services) fornece recursos de ti centralizados e gerencia vários data centers em que as unidades de negócios hospedam seus aplicativos.The Enterprise Technology Services (ETS) business unit provides centralized IT capability and manages several datacenters where business units host their applications. Juntamente com o gerenciamento de data centers, a organização ETS fornece e gerencia a colaboração centralizada (como emails e sites) e serviços de rede/telefonia.Along with managing the datacenters, the ETS organization provides and manages centralized collaboration (such as email and websites) and network/telephony services. Eles também gerenciam cargas de trabalho voltadas para o cliente para unidades de negócios menores que não têm a equipe operacional.They also manage customer-facing workloads for smaller business units who don't have operational staff.

As seguintes pessoas são usadas neste artigo:The following personas are used in this article:

  • Dave é o administrador do Azure no ETS.Dave is the ETS Azure administrator.
  • Alice é diretor de desenvolvimento da Contoso na unidade de negócios da cadeia de fornecedores.Alice is Contoso's Director of Development in the supply chain business unit.

A contoso precisa criar um aplicativo de linha de negócios e um aplicativo voltado para o cliente.Contoso needs to build a line-of-business app and a customer-facing app. Ele decidiu executar os aplicativos no Azure.It has decided to run the apps on Azure. Dave lê o artigo de governança de assinatura prescritiva e está pronto para implementar as recomendações.Dave reads the prescriptive subscription governance article and is ready to implement the recommendations.

Cenário 1: aplicativo de linha de negóciosScenario 1: line-of-business application

A Contoso está criando um BitBucket (sistema de gerenciamento de código-fonte) para ser usado por desenvolvedores em todo o mundo.Contoso is building a source code management system (BitBucket) to be used by developers across the world. O aplicativo usa IaaS (infraestrutura como serviço) para hospedagem e consiste em servidores Web e um servidor de banco de dados.The application uses infrastructure as a service (IaaS) for hosting and consists of web servers and a database server. Os desenvolvedores acessam servidores em seus ambientes de desenvolvimento, mas não precisam acessar os servidores no Azure.Developers access servers in their development environments, but they don't need access to the servers in Azure. O contoso ETS deseja permitir que o proprietário e a equipe do aplicativo gerenciem o aplicativo.Contoso ETS wants to allow the application owner and team to manage the application. O aplicativo só está disponível enquanto estiver na rede corporativa da contoso.The application is only available while on Contoso's corporate network. Dave precisa configurar a assinatura para este aplicativo.Dave needs to set up the subscription for this application. A assinatura também hospedará outros softwares relacionados ao desenvolvedor no futuro.The subscription will also host other developer-related software in the future.

Padrões de nomenclatura e grupos de recursosNaming standards and resource groups

Dave cria uma assinatura para oferecer suporte a ferramentas de desenvolvedor que são comuns em todas as unidades de negócios.Dave creates a subscription to support developer tools that are common across all the business units. Dave precisa criar nomes significativos para a assinatura e os grupos de recursos (para o aplicativo e as redes).Dave needs to create meaningful names for the subscription and resource groups (for the application and the networks). Ele cria a assinatura e os grupos de recursos a seguir:He creates the following subscription and resource groups:

ItemItem NomeName DescriçãoDescription
SubscriptionSubscription Produção do contoso ETS DeveloperToolsContoso ETS DeveloperTools Production Dá suporte a ferramentas de desenvolvedor comunsSupports common developer tools
Grupo de RecursosResource Group bitbucket-prod-rgbitbucket-prod-rg Contém o servidor Web do aplicativo e o servidor de banco de dadosContains the application web server and database server
Grupo de RecursosResource Group corenetworks-prod-RGcorenetworks-prod-rg Contém as redes virtuais e a conexão de gateway site a siteContains the virtual networks and site-to-site gateway connection

Controlo de acesso baseado em funçõesRole-based access control

Depois de criar sua assinatura, Dave deseja garantir que as equipes apropriadas e os proprietários do aplicativo possam acessar seus recursos.After creating his subscription, Dave wants to ensure that the appropriate teams and application owners can access their resources. Dave reconhece que cada equipe tem requisitos diferentes.Dave recognizes that each team has different requirements. Ele usa os grupos que foram sincronizados da Active Directory local da Contoso para Azure Active Directory e fornece o nível certo de acesso às equipes.He uses the groups that have been synchronized from Contoso's on-premises Active Directory to Azure Active Directory and provides the right level of access to the teams.

Dave atribui as seguintes funções para a assinatura:Dave assigns the following roles for the subscription:

RoleRole Atribuído aAssigned to DescriçãoDescription
ProprietárioOwner ID gerenciada da Active Directory local da contosoManaged ID from Contoso's on-premises Active Directory Essa ID é controlada com acesso JIT (just-in-time) por meio da ferramenta de gerenciamento de identidades da Contoso e garante que o acesso do proprietário da assinatura seja totalmente auditadoThis ID is controlled with just-in-time (JIT) access through Contoso's Identity Management tool and ensures that subscription owner access is fully audited
Leitor de segurançaSecurity Reader Departamento de gerenciamento de segurança e riscosSecurity and risk management department Essa função permite que os usuários examinem a central de segurança do Azure e o status dos recursosThis role allows users to look at the Azure Security Center and the status of the resources
Contribuidor de RedeNetwork Contributor Equipe de redeNetwork team Essa função permite que a equipe de rede da Contoso gerencie a VPN site a site e as redes virtuaisThis role allows Contoso's network team to manage the Site to Site VPN and the Virtual Networks
Função personalizadaCustom role Proprietário do aplicativoApplication owner Dave cria uma função que concede a capacidade de modificar recursos dentro do grupo de recursos.Dave creates a role that grants the ability to modify resources within the resource group. Para obter mais informações, consulte funções personalizadas no RBAC do AzureFor more information, see Custom roles in Azure RBAC

PolíticasPolicies

Dave tem os seguintes requisitos para gerenciar recursos na assinatura:Dave has the following requirements for managing resources in the subscription:

  • Como as ferramentas de desenvolvimento dão suporte a desenvolvedores em todo o mundo, ele não quer impedir que os usuários criem recursos em qualquer região.Because the development tools support developers across the world, he doesn't want to block users from creating resources in any region. No entanto, ele precisa saber onde os recursos são criados.However, he needs to know where resources are created.
  • Ele se preocupa com os custos.He is concerned with costs. Portanto, ele deseja impedir que os proprietários do aplicativo criem máquinas virtuais desnecessariamente caras.Therefore, he wants to prevent application owners from creating unnecessarily expensive virtual machines.
  • Como esse aplicativo atende aos desenvolvedores em muitas unidades de negócios, ele deseja marcar cada recurso com a unidade de negócios e o proprietário do aplicativo.Because this application serves developers in many business units, he wants to tag each resource with the business unit and application owner. Usando essas marcas, o ETS pode cobrar as equipes apropriadas.By using these tags, ETS can bill the appropriate teams.

Ele cria as seguintes políticas por meio de Azure Policy:He creates the following policies via Azure Policy:

CampoField EfeitoEffect DescriçãoDescription
locationlocation submetiaudit Auditar a criação dos recursos em qualquer regiãoAudit the creation of the resources in any region
typetype negardeny Negar a criação de máquinas virtuais da série GDeny creation of G-Series virtual machines
tagstags negardeny Exigir marca de proprietário do aplicativoRequire application owner tag
tagstags negardeny Exigir marca do centro de custoRequire cost center tag
tagstags anexarappend Acrescentar nome da marca BusinessUnit e valor da marca ETS a todos os recursosAppend tag name BusinessUnit and tag value ETS to all resources

Etiquetas de recursosResource tags

Dave entende que ele precisa ter informações específicas sobre a cobrança para identificar o centro de custo da implementação do BitBucket.Dave understands that he needs to have specific information on the bill to identify the cost center for the BitBucket implementation. Além disso, Dave quer saber todos os recursos que o ETS possui.Additionally, Dave wants to know all the resources that ETS owns.

Ele adiciona as seguintes marcas aos grupos de recursos e recursos.He adds the following tags to the resource groups and resources.

Nome da marcaTag name Valor da marcaTag value
ApplicationOwnerApplicationOwner O nome da pessoa que gerencia este aplicativoThe name of the person who manages this application
CostCenterCostCenter O centro de custo do grupo que está pagando pelo consumo do AzureThe cost center of the group that is paying for the Azure consumption
BusinessUnitBusinessUnit ETS (a unidade de negócios associada à assinatura)ETS (the business unit associated with the subscription)

Rede principalCore network

A equipe de gerenciamento de riscos e segurança de informações do contoso ETS revisa o plano proposto do Dave para mover o aplicativo para o Azure.The Contoso ETS information security and risk management team reviews Dave's proposed plan to move the application to Azure. Eles querem garantir que o aplicativo não seja exposto à Internet.They want to ensure that the application isn't exposed to the internet. Dave também tem aplicativos de desenvolvedor que, no futuro, serão movidos para o Azure.Dave also has developer apps that in the future will be moved to Azure. Esses aplicativos exigem interfaces públicas.These apps require public interfaces. Para atender a esses requisitos, ele fornece redes virtuais internas e externas e um grupo de segurança de rede para restringir o acesso.To meet these requirements, he provides both internal and external virtual networks, and a network security group to restrict access.

Ele cria os seguintes recursos:He creates the following resources:

Tipo de recursoResource type NomeName DescriçãoDescription
Rede virtualVirtual Network interno-vnetinternal-vnet Usado com o aplicativo BitBucket e conectado por meio do ExpressRoute à rede corporativa da contoso.Used with the BitBucket application and is connected via ExpressRoute to Contoso's corporate network. Uma sub-rede (bitbucket) fornece ao aplicativo um espaço de endereço IP específicoA subnet (bitbucket) provides the application with a specific IP address space
Rede virtualVirtual Network rede virtual externaexternal-vnet Disponível para aplicativos futuros que exigem pontos de extremidade voltados para o públicoAvailable for future applications that require public-facing endpoints
Grupo de segurança de redeNetwork Security Group bitbucket-nsgbitbucket-nsg Garante que a superfície de ataque dessa carga de trabalho seja minimizada, permitindo conexões somente na porta 443 para a sub-rede onde reside obitbucketaplicativo ()Ensures that the attack surface of this workload is minimized by allowing connections only on port 443 for the subnet where the application lives (bitbucket)

Bloqueios de recursoResource locks

Dave reconhece que a conectividade da rede corporativa da contoso com a rede virtual interna deve ser protegida de qualquer script errático ou exclusão acidental.Dave recognizes that the connectivity from Contoso's corporate network to the internal virtual network must be protected from any wayward script or accidental deletion.

Ele cria o seguinte bloqueio de recurso:He creates the following resource lock:

Tipo de bloqueioLock type ResourceResource DescriçãoDescription
CanNotDeleteCanNotDelete interno-vnetinternal-vnet Impede que os usuários excluam a rede virtual ou sub-redes, mas não impede a adição de novas sub-redesPrevents users from deleting the virtual network or subnets, but does not prevent the addition of new subnets

Automatização do AzureAzure Automation

Dave não tem nada a ser automatizado para este aplicativo.Dave has nothing to automate for this application. Embora ele tenha criado uma conta de automação do Azure, ele não a usará inicialmente.Although he created an Azure Automation account, he won't initially use it.

Centro de Segurança do AzureAzure Security Center

A contoso gerenciamento de serviços de TI precisa identificar e lidar rapidamente com ameaças.Contoso IT service management needs to quickly identify and handle threats. Eles também querem entender quais problemas podem existir.They also want to understand what problems may exist.

Para atender a esses requisitos, Dave habilita a central de segurança do Azure e fornece acesso à função de leitor de segurança.To fulfill these requirements, Dave enables the Azure Security Center and provides access to the Security Reader role.

Cenário 2: aplicativo voltado para o clienteScenario 2: customer-facing app

A liderança de negócios na unidade de negócios da cadeia de fornecedores identificou várias oportunidades para aumentar o envolvimento com os clientes da contoso usando um cartão de fidelidade.The business leadership in the supply chain business unit has identified various opportunities to increase engagement with Contoso's customers by using a loyalty card. A equipe de Alice deve criar esse aplicativo e decide que o Azure aumenta sua capacidade de atender às necessidades dos negócios.Alice's team must create this application and decides that Azure increases their ability to meet the business need. Alice trabalha com Dave do ETS para configurar duas assinaturas para desenvolver e operar este aplicativo.Alice works with Dave from ETS to configure two subscriptions for developing and operating this application.

Subscrições do AzureAzure subscriptions

Dave faz logon no Enterprise Portal do Azure e percebe que o departamento de cadeia de fornecedores já existe.Dave logs into the Azure Enterprise Portal and sees that the supply chain department already exists. No entanto, como este projeto é o primeiro projeto de desenvolvimento para a equipe de cadeia de fornecedores no Azure, Dave reconhece a necessidade de uma nova conta para a equipe de desenvolvimento de Alice.However, as this project is the first development project for the supply chain team in Azure, Dave recognizes the need for a new account for Alice's development team. Ele cria a conta "R & D" para sua equipe e atribui acesso a Alice.He creates the "R&D" account for her team and assigns access to Alice. Alice faz logon por meio do portal do Azure e cria duas assinaturas: uma para manter os servidores de desenvolvimento e outra para manter os servidores de produção.Alice logs in via the Azure portal and creates two subscriptions: one to hold the development servers and one to hold the production servers. Ela segue os padrões de nomenclatura estabelecidos anteriormente ao criar as seguintes assinaturas:She follows the previously established naming standards when creating the following subscriptions:

Uso da assinaturaSubscription use NomeName
DesenvolvimentoDevelopment Contoso SupplyChain ResearchDevelopment LoyaltyCard DevelopmentContoso SupplyChain ResearchDevelopment LoyaltyCard Development
ProduçãoProduction Contoso SupplyChain Operations LoyaltyCard ProductionContoso SupplyChain Operations LoyaltyCard Production

PolíticasPolicies

Dave e Alice discutem o aplicativo e identificam que esse aplicativo atende apenas aos clientes na região da América do Norte.Dave and Alice discuss the application and identify that this application only serves customers in the North American region. Alice e sua equipe planejam usar o ambiente de serviço de aplicativo do Azure e o SQL do Azure para criar o aplicativo.Alice and her team plan to use Azure's Application Service Environment and Azure SQL to create the application. Talvez seja necessário criar máquinas virtuais durante o desenvolvimento.They may need to create virtual machines during development. Alice quer garantir que seus desenvolvedores tenham os recursos de que precisam para explorar e examinar problemas sem puxar o ETS.Alice wants to ensure that her developers have the resources they need to explore and examine problems without pulling in ETS.

Para a assinatura de desenvolvimento, eles criam a seguinte política:For the development subscription, they create the following policy:

CampoField EfeitoEffect DescriçãoDescription
locationlocation submetiaudit Auditar a criação dos recursos em qualquer regiãoAudit the creation of the resources in any region

Eles não limitam o tipo de SKU que um usuário pode criar em desenvolvimento e não exigem marcas para nenhum grupo de recursos ou recurso.They don't limit the type of SKU a user can create in development, and they don't require tags for any resource groups or resources.

Para a assinatura de produção, eles criam as seguintes políticas:For the production subscription, they create the following policies:

CampoField EfeitoEffect DescriçãoDescription
locationlocation negardeny Negar a criação de qualquer recurso fora dos data centers dos EUADeny the creation of any resources outside of the US datacenters
tagstags negardeny Exigir marca de proprietário do aplicativoRequire application owner tag
tagstags negardeny Exigir marca de departamentoRequire department tag
tagstags anexarappend Acrescentar marca a cada grupo de recursos que indica o ambiente de produçãoAppend tag to each resource group that indicates production environment

Eles não limitam o tipo de SKU que um usuário pode criar na produção.They don't limit the type of SKU a user can create in production.

Etiquetas de recursosResource tags

Dave entende que ele precisa ter informações específicas para identificar os grupos de negócios corretos para cobrança e propriedade.Dave understands that he needs to have specific information to identify the correct business groups for billing and ownership. Ele define marcas de recurso para grupos de recursos e recursos.He defines resource tags for resource groups and resources.

Nome da marcaTag name Valor da marcaTag value
ApplicationOwnerApplicationOwner O nome da pessoa que gerencia este aplicativoThe name of the person who manages this application
DepartamentoDepartment O centro de custo do grupo que está pagando pelo consumo do AzureThe cost center of the group that is paying for the Azure consumption
EnvironmentTypeEnvironmentType Produção (Mesmo que a assinatura inclua a produção no nome, incluindo essa marca permite uma fácil identificação ao examinar os recursos no portal ou na fatura)Production (Even though the subscription includes Production in the name, including this tag enables easy identification when looking at resources in the portal or on the bill)

Redes principaisCore networks

A equipe de gerenciamento de riscos e segurança de informações do contoso ETS revisa o plano proposto do Dave para mover o aplicativo para o Azure.The Contoso ETS information security and risk management team reviews Dave's proposed plan to move the application to Azure. Eles querem garantir que o aplicativo do cartão de fidelidade esteja isolado e protegido corretamente em uma rede DMZ.They want to ensure that the Loyalty Card application is properly isolated and protected in a DMZ network. Para atender a esse requisito, Dave e Alice criam uma rede virtual externa e um grupo de segurança de rede para isolar o aplicativo de cartão de fidelidade da rede corporativa contoso.To fulfill this requirement, Dave and Alice create an external virtual network and a network security group to isolate the Loyalty Card application from the Contoso corporate network.

Para a assinatura de desenvolvimento, eles criam:For the development subscription, they create:

Tipo de recursoResource type NomeName DescriçãoDescription
Rede virtualVirtual Network interno-vnetinternal-vnet Serve o ambiente de desenvolvimento do cartão de fidelidade da Contoso e está conectado por meio do ExpressRoute à rede corporativa da contosoServes the Contoso Loyalty Card development environment and is connected via ExpressRoute to Contoso's corporate network

Para a assinatura de produção, eles criam:For the production subscription, they create:

Tipo de recursoResource type NomeName DescriçãoDescription
Rede virtualVirtual Network rede virtual externaexternal-vnet Hospeda o aplicativo de cartão de fidelidade e não está conectado diretamente ao ExpressRoute da contoso.Hosts the Loyalty Card application and is not connected directly to Contoso's ExpressRoute. O código é enviado por Push por meio de seu sistema de código-fonte diretamente para os serviços de PaaS.Code is pushed via their Source Code system directly to the PaaS services.
Grupo de segurança de redeNetwork Security Group loyaltycard-NSGloyaltycard-nsg Garante que a superfície de ataque dessa carga de trabalho seja minimizada permitindo apenas a comunicação de entrada no TCP 443.Ensures that the attack surface of this workload is minimized by only allowing in-bound communication on TCP 443. A contoso também está investigando o uso de um firewall do aplicativo Web para proteção adicional.Contoso is also investigating using a web application firewall for additional protection.

Bloqueios de recursoResource locks

Conferência Dave e Alice e decide adicionar bloqueios de recursos em alguns dos principais recursos do ambiente para evitar a exclusão acidental durante um envio por push de código errônea.Dave and Alice confer and decide to add resource locks on some of the key resources in the environment to prevent accidental deletion during an errant code push.

Eles criam o seguinte bloqueio:They create the following lock:

Tipo de bloqueioLock type ResourceResource DescriçãoDescription
CanNotDeleteCanNotDelete rede virtual externaexternal-vnet Para impedir que as pessoas excluam a rede virtual ou sub-redes.To prevent people from deleting the virtual network or subnets. O bloqueio não impede a adição de novas sub-redesThe lock does not prevent the addition of new subnets

Automatização do AzureAzure Automation

Alice e sua equipe de desenvolvimento têm runbooks extensivos para gerenciar o ambiente para esse aplicativo.Alice and her development team have extensive runbooks to manage the environment for this application. Os runbooks permitem a adição/exclusão de nós para o aplicativo e outras tarefas de DevOps.The runbooks allow for the addition/deletion of nodes for the application and other DevOps tasks.

Para usar esses runbooks, eles habilitam a automação.To use these runbooks, they enable Automation.

Centro de Segurança do AzureAzure Security Center

A contoso gerenciamento de serviços de TI precisa identificar e lidar rapidamente com ameaças.Contoso IT service management needs to quickly identify and handle threats. Eles também querem entender quais problemas podem existir.They also want to understand what problems may exist.

Para atender a esses requisitos, Dave habilita a central de segurança do Azure.To fulfill these requirements, Dave enables Azure Security Center. Ele garante que a central de segurança do Azure esteja monitorando os recursos e fornece acesso às equipes de DevOps e segurança.He ensures that the Azure Security Center is monitoring the resources and provides access to the DevOps and security teams.

Passos SeguintesNext steps