{"id":10737,"date":"2019-08-23T16:24:31","date_gmt":"2019-08-23T23:24:31","guid":{"rendered":"https:\/\/www.microsoft.com\/insidetrack\/blog\/?p=10737"},"modified":"2023-06-15T13:50:27","modified_gmt":"2023-06-15T20:50:27","slug":"enabling-enterprise-governance-in-azure","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/insidetrack\/blog\/enabling-enterprise-governance-in-azure\/","title":{"rendered":"Enabling enterprise governance in Azure"},"content":{"rendered":"
This content has been archived, and while it was correct at time of publication, it may no longer be accurate or reflect the current situation at Microsoft.<\/p>\n<\/div>\n<\/div>\n
We\u2019ve used Azure governance to create a solution that enables enterprise-scale governance design and compliance enforcement for our entire Azure environment inside Microsoft Digital. By using Azure management groups and policy, we enable governance across multiple subscriptions, and create management and enforcement policies that fit our enterprise model. As a result, our Azure environment is more robust, secure, efficient, and effective.<\/p>\n
At Microsoft Digital, we\u2019ve used\u00a0Azure governance<\/a>\u00a0to create a solution that enables enterprise-scale governance and compliance enforcement for our entire Azure environment. By using Azure governance, we can enable governance across multiple subscriptions, and also create management and enforcement policies that fit our enterprise model, to make our Azure environment more robust, secure, efficient, and effective.<\/p>\n Over the past few years, Microsoft has been undergoing a mass migration. We\u2019ve moved more than 95 percent of our technology workloads from on-premises servers in datacenters to Microsoft Azure and cloud-based solutions. Migration to the cloud has changed the way Microsoft Digital operates, and it\u2019s helping Microsoft to enable a larger digital transformation that affects the entire organization.<\/p>\n Azure is now the single largest host of our IT infrastructure. The rhythm of our business relies on the Azure platform and the large variety of Azure services that we use to enable our enterprise. The Microsoft Digital landscape at Microsoft looks something like this:<\/p>\n Our cloud-centric architecture is one of the primary Microsoft Digital investments supporting digital transformation at Microsoft. Our transformation is at the core of our growth as a business, and it\u2019s affecting our entire organization. Cloud-centric architecture in Azure supports our continued growth in several ways, by:<\/p>\n By embracing digital transformation and the adoption of a cloud-centric architecture, our business is now deeply rooted in the cloud, and we depend on Azure to handle almost all our business platforms and tools.<\/p>\n As part of our digital transformation, we have fundamentally changed the way that we deliver our products and services and how we develop our internal solutions. We\u2019ve fully embraced modern engineering principles, including the Agile methodology and a DevOps approach to develop and operate our solutions and services.<\/p>\n DevOps redefines the development and operations cycles for solution development, combining them both into a more flexible and solution-focused approach. The adoption of DevOps within Microsoft Digital directly affects how we manage and build our Azure environment. DevOps thrives with increased autonomy, and it is designed to empower teams to measure, deliver, fail, learn, and improve internally to generate business-driven outcomes. With increased autonomy, however, comes reduced control for centralized infrastructure management. This centralized management that was core to the on-premises security model no longer meets the requirements of a more autonomous, agile, and fluid cloud-based environment built and operated in the DevOps model.<\/p>\n Our distributed and DevOps-focused Azure environment requires a two-tiered approach to everything that we develop and operate. Our DevOps teams are given autonomy over the main areas of their solution, including implementation, core monitoring, and alerting. If an issue arises in the operations of any application at Microsoft Digital, the application\u2019s developers\u2014who are also the operations team\u2014are responsible for resolving the issue. In practice, our DevOps approach divides responsibilities into two team categories:<\/p>\n This model drives the functionality of our Azure infrastructure and directly informs the way that we monitor and govern that infrastructure.<\/p>\n With the majority of our corporate data and infrastructure hosted in the cloud and our practices becoming more and more decentralized, we recognized the need to assess our security models\u2014initially developed for the traditional, on-premises datacenter\u2014and examine the changes necessary to provide a robust and trustworthy environment in the cloud-based DevOps environment. The cloud environment presents several key differences from the traditional datacenter:<\/p>\n At Microsoft Digital, we wanted to apply the Microsoft enterprise context to our entire cloud-hosted environment to enable our engineers to leverage Azure services in a secure environment by using a model that enabled a DevOps approach to our infrastructure. To apply the enterprise context, we wanted to design, develop, and implement an engineering solution in this new model that enabled Microsoft Digital to efficiently and automatically deploy enterprise-scale cloud configuration standards.<\/p>\n The Azure governance model and the differences it brought led us to establish a set of goals that would guide us in applying a new security model to our new cloud-based enterprise. The goals included:<\/p>\n We adopted Azure governance as the foundation of our compliant cloud solution. Azure governance is a collection of concepts and services that are designed to enable management of Azure resources at scale. These services provide the ability to organize and structure subscriptions in a logical way, to create and deploy reusable packages of resources, and to define, audit, and remediate resources.<\/p>\n Azure governance provided the key components that we needed to apply our corporate context and create an enterprise scale governance solution for our Microsoft Digital Azure environment. These include management groups, policies, initiatives, and telemetry.<\/p>\n Azure Management Groups provide a level of scope above subscriptions. With the Management Groups feature, we can organize subscriptions and apply governance conditions to the management groups and the subscriptions contained within those groups. All subscriptions within a management group automatically inherit the conditions applied to the management group. Management groups give us enterprise-level management across all our subscriptions.<\/p>\n Azure Policy helps us manage and maintain compliance with policy definitions that enforce rules and effects for our Azure resources. Azure Policy provides the majority of compliance functionality within our Azure governance solution by handling tasks such as:<\/p>\n Policies consist of a definition that contains the enforcement rule and an assignment that determines the scope of Azure resources that the policy affects.<\/p>\n An initiative is a collection of policy definitions that are targeted toward a singular overarching goal. Initiative definitions simplify managing and assigning policy definitions by grouping a set of policies as one single item. For example, we’re using initiatives to create two focus areas within our Azure governance implementation: one initiative for enforcing a desired state for security across the enterprise, and another initiative for examining infrastructure and platform state across all our Azure infrastructure.<\/p>\n Azure governance gave us a toolset that would enable us to create a solution that met our primary goals and satisfied our needs for enterprise-scale compliance. We set several high-level implementation goals for our Azure governance solution to guide our development:<\/p>\n In continuing with our DevOps approach to Azure, we planned our Azure governance implementation around our decentralized business model. In that model, accountability for the Azure environment is bifurcated, and Microsoft Digital provides frameworks that enabled autonomy, enforced enterprise-level standards, and provided guidance and support. Our model was structured as follows:<\/p>\n We allowed our engineering teams autonomy in implementing their Azure solutions. At the same time, it was important to ensure that our engineering teams had established guidelines within that autonomy to prevent mistakes and misconfigurations that put Microsoft Digital at risk in areas such as security or regulatory compliance. Azure governance enabled us to create a set of boundaries for our engineering teams that ensure that they adhere to the best practices for our Azure environment. Before Azure governance, the manual deployment of resources, manual enforcement of policies, and manual remediation of issues increased risk for human error or misconfiguration.<\/p>\n Azure governance gives us a way to implement policies that provide automated \u201cguardrails\u201d that keep our engineers within our Azure standards. This assures both Microsoft Digital and the engineering teams that they are always developing to the appropriate standard. We\u2019ve used Azure governance to establish:<\/p>\n We use Azure Management Groups to create a logical hierarchy within the Azure governance environment. Azure Management groups can be nested, so we use the nesting behavior to replicate the relevant business and engineering structure for the groups and organizations that support each subscription.<\/p>\n We maintain a Cloud Steering Committee to oversee primary cloud operations, and the committee serves a vital role in making decisions on the deployment of policies across Microsoft Digital. The Cloud Steering Committee includes representatives from various organizations within Microsoft such as Security, LOB Engineering, Azure subject-matter experts (SMEs) by service or technology stack, and business leaders. These individuals have a broad range of expertise and are expected to review technical, security, and business implications associated with deploying mandatory policies across Microsoft Digital.<\/p>\n We manage an automated service that replicates our organizational structure from our service management tool into a hierarchy of Azure management groups. Our organizational groups have significantly different needs and requirements for policy application, and replicating our organizational structure allows us to provide each group with autonomy over their portion of the environment. Logical structure differs from organization to organization. For more information, consult the governance section of the\u00a0Microsoft Cloud Adoption Framework for Azure<\/a>. Our hierarchy includes multiple levels, and contains three primary level definitions:<\/p>\nAdopting a cloud-centric architecture at Microsoft<\/h2>\n
Examining the Azure environment<\/h3>\n
\n
Enabling digital transformation<\/h3>\n
\n
Aligning with a DevOps culture<\/h4>\n
Operationalizing the cloud<\/h3>\n
\n
Adapting to a changing security model<\/h3>\n
\n
Enabling the compliant cloud with Azure governance<\/h2>\n
Setting goals for the compliant cloud<\/h3>\n
\n
Examining Azure governance<\/h3>\n
Azure Management Groups<\/h4>\n
Azure Policy<\/h4>\n
\n
Initiatives<\/h4>\n
Adopting Azure governance<\/h2>\n
\n
Democratizing our governance approach<\/h3>\n
\n
\n
\n
Enabling automated guidance with policy enforcement<\/h3>\n
\n
Building an effective framework in Azure governance<\/h3>\n
Creating a logical structure and hierarchy<\/h4>\n
\n