SlideShare une entreprise Scribd logo
1  sur  60
Inside Azure Resource Manager
Michael S. Collier
Cloud Solution Architect,
Microsoft
Level: Intermediate
Michael S. Collier
Cloud Solution Architect
Microsoft
michael.collier@microsoft.com
@MichaelCollier
www.MichaelSCollier.com
http://aka.ms/csablog
http://aka.ms/fundamentalsofazure
Today’s Agenda
1. Current Challenges
2. Basics of Azure Resource Groups & Azure
Resource Manager
3. Role Based Access Control
4. ARM Template Details
Managing Azure Deployments
Azure Service Manager (ASM)
Traditional way to deploy and manage applications hosted in Azure
Production Portal
PowerShell / CLI (default mode)
REST API
Azure Resource Manager (ARM)
Modern way to deploy and manage applications hosted in Azure
Preview “Ibiza” Portal
PowerShell / CLI (ARM mode)
REST API
Azure Resource Management Library for .NET
The Challenge
Deploy/Update logical group
of resources
Visualize related resources:
Provision/Deprovision
Costs
Security/Permissions
????
Single Resource Point-of-View
Deployment – complex.
Coordinated deployment?
Communication/configuration between resources?
Single Resource Point-of-View
AZURE RESOURCE GROUPS
The Foundation
Azure Resource Groups
Lifecycle of application and
resources
Declarative
Consistent Management API
Azure Resource Manager
What is Azure Resource Manager?
Unit of Management
• Lifecycle
• Identity
• Grouping
One Resource -> One Resource Group
Resource Groups
One or Many?
How are the resources managed?
Consistent Management Layer
Resource
Provider
https://management.azure.com/subscriptions/{{subscriptionId}}/provide
rs?api-version={{apiVersion}}
?
REST API
Benefits
Desired-state deployment
Faster deployment
Role-based access control (RBAC)
Resource-provider model
Orchestration
Resource configuration
SQL - A Website Virtual
Machines
SQL-A
Website
[SQL CONFIG] VM (2x)
DEPENDS ON SQLDEPENDS ON SQL
SQLCONFIG
Image source - http://channel9.msdn.com/Events/Build/2014/2-607
Why
• Internal software development teams
– Quickly deploy technologies
– Rapidly create training environments
– Consistent deployment with enforced constraints
• Corporate IT
– Predefined environments for dev, QA, or production
– Provide LOB solutions
• ISV/CSV
– Hosting a solution for customers
– Inject solution into customer’s subscription
– Sell via Azure Marketplace
• Community / OSS
– Host on GitHub to allow community to share and improve.
?
DEMO
Browse the Azure Preview Portal
Browse the Azure Preview Portal
ARM Definitions
Resource: Atomic unit of deployment
Resource Group: Collection of resources
Resource Provider: Manages specific kinds of
resources
Resource Type: Specifies the type of resource
Resource Providers
Deploy specific types of resources
Identified by provider namespace
e.g., Microsoft.Compute, Microsoft.Storage, Microsoft.Web (~ 25 Microsoft or customer
namespaces)
Resource types
Each provider namespace manages one or more resource types
Microsoft.Compute/availabiltySets
Microsoft.Compute/virtualMachines
Microsoft.Compute/locations
Different regional availability and apiVersion
Resource Providers - PowerShell
Get-AzureLocation indicates which resourceTypes
are available in each region
Get-AzureProvider indicates which resource
providers and apiVersions are available in each region.
22
(Get-AzureProvider -ProviderNamespace Microsoft.Storage).ResourceTypes | Where {
$_.ResourceTypeName -eq 'storageAccounts' } | Select –ExpandProperty ApiVersions
(Get-AzureProvider -ProviderNamespace Microsoft.Storage).ResourceTypes | Where {
$_.ResourceTypeName -eq 'storageAccounts' } | Select -ExpandProperty Locations
Resource Group Definition
Name
Unique inside a subscription
Id
Unique across Azure
Location
Resources
Set of resources in the resource group
Tags
Resource group can be tagged to provide (billing) metadata
Resource Group Definition
PS C:> New-AzureResourceGroup -Name VSLiveNYC -Location "East US" -Tag @{Name=“Event"; Value=“VSLIVE"},
@{Name="Admin";Value="mcollier"}
VERBOSE: 9:52:35 PM - Created resource group ‘VSLiveNYC' in location 'eastus'
ResourceGroupName : VSLiveNYC
Location : eastus
ProvisioningState : Succeeded
Tags :
Name Value
========= ========
Event VSLIVE
Admin mcollier
Permissions :
Actions NotActions
======= ==========
*
ResourceId : /subscriptions/xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/VSLiveNYC
Resource Group Definition
C:UsersMCOLLIER>azure
info: _ _____ _ ___ ___
info: /_ |_ / | | | _  __|
info: _ ___/ _ __/ /| |_| | / _|___ _ _
info: (___ /_/ _/___|___/|_|____| _____)
info: (_______ _ _) _ ______ _)_ _
info: (______________ _ ) (___ _ _)
info:
info: Microsoft Azure: Microsoft's Cloud Platform
info:
info: Tool version 0.9.9
help:
help: Display help for a given command
help: help [options] [command]
help:
help: Log in to an Azure subscription using Active Directory. Currently, the user can login only via Microsoft organizational account
help: login [options] [username]
help:
help: Log out from Azure subscription using Active Directory. Currently, the user can log out only via Microsoft organizational account
help: logout [options] [username]
help:
help: Open the portal in a browser
help: portal [options]
help:
help: Commands:
help: account Commands to manage your account information and publish settings
help: config Commands to manage your local settings
help: hdinsight Commands to manage HDInsight clusters and jobs
help: mobile Commands to manage your Mobile Services
help: network Commands to manage your networks
help: sb Commands to manage your Service Bus configuration
help: service Commands to manage your Cloud Services
help: site Commands to manage your Web Sites
help: sql Commands to manage your SQL Server accounts
help: storage Commands to manage your Storage objects
help: vm Commands to manage your Virtual Machines
help:
help: Options:
help: -h, --help output usage information
help: -v, --version output the application version
help:
help: Current Mode: asm (Azure Service Management)
Resource Group Definition
C:UsersMCOLLIER>C:UsersMCOLLIER>azure login admin@mcollier.onmicrosoft.com
info: Executing command login
Password: ********
/info: Added subscription Visual Studio Ultimate with MSDN (Microsoft FTE)
info: Setting subscription "Visual Studio Ultimate with MSDN (Microsoft FTE)" as default
+
info: login command OK
C:UsersMCOLLIER>azure config mode arm
info: New mode is arm
C:C:UsersMCOLLIER>azure group create -n "vslivenyc2015-cli" -l "East US" -t event=vslive;admin=mcollier
info: Executing command group create
+ Getting resource group vslivenyc2015-cli
+ Creating resource group vslivenyc2015-cli
info: Created resource group vslivenyc2015-cli
data: Id: /subscriptions/0bbbc191-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/vslivenyc2015-cli
data: Name: vslivenyc2015-cli
data: Location: eastus
data: Provisioning State: Succeeded
data: Tags: event=vslive;admin=mcollier
data:
info: group create command OK
C:UsersMCOLLIER>
Resource Characteristics
Resource group
Resource exists in precisely one resource group at any time
Resource can be moved from one resource group to another
Location
Resource can be created in any region where there is an a
appropriate resource provider
Locks
Resource can be locked to prevent deletion
Tags
Resource can be tagged to provide (billing) metadata
Resource Group Characteristics
Two types of resource groups
Lifecycle
Shared
Lifecyle
Contains resources with common lifecycle and management
e.g., virtual machines and storage accounts for an application
Shared
Contains resources shared among several resource groups
e.g., VNETs used to host VMs from many applications
Resource Definition
Name
Unique for resource group and resource type (e.g.,
Microsoft.Compute/virtualMachines)
Id
Unique across Azure
/subscriptions/GUID/resourceGroups/myRG/providers/Microsoft.Compute/virtua
lMachines/vmName
Location
ResourceType
ResourceGroup
Properties
Additional properties specific to the resource provider
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Storage/storageAccounts",
"name": "[parameters('newStorageAccountName')]",
"location": "[resourceGroup().location]",
"tags": {
"displayName": "StorageAccount"
},
"properties": {
"accountType": "[variables('storageAccountType')]"
}
}
Resource Tags
Tag
Name/value pair
Provides metadata to classify resources and resource
groups
Resources and resource groups
An array of tags can be associated with a resource or a
resource group
Billing
Tags are surfaced to Azure bills so they can be used in
allocating resource costs
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Compute/availabilitySets",
"name": "[variables('availabilitySetName')]",
"location": "[resourceGroup().location]",
"tags": {
"displayName": "AvailabilitySet"
}
}
> New-AzureResourceGroup -Name VSLiveNYC -Location "East
US" -Tag @{Name=“Event"; Value=“VSLive"},
@{Name="Admin";Value="mcollier"}
Resource Locks
Prevents deletion of a resource or
resource group
Associate a resource lock with the resource or
resource group
Only the Owner or User Access Administrator
roles can create or modify locks
Resource Locks
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"name": "[parameters('newStorageAccountName')]",
"apiVersion": "2015-05-01-preview",
"location": "[parameters('location')]",
"properties": {
"accountType": "[parameters('storageAccountType')]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts/providers/locks",
"name": "[concat(parameters('newStorageAccountName'), '/Microsoft.Authorization/collierLock')]",
"apiVersion": "2015-01-01",
"dependsOn": [ "[concat('Microsoft.Storage/storageAccounts/', parameters('newStorageAccountName'))]" ],
"properties": {
"level": "CannotDelete",
"notes": "Mike's important files - do not delete!"
}
} ]
} ]
Options: CannotDelete and ReadOnly*
Name of the lock
Resource Locks
# Apply a resource lock to the storage account.
New-AzureResourceLock -LockLevel CanNotDelete `
-LockNotes 'No deleting!' `
-LockName 'CollierLock' `
-ResourceName $storageAccountName `
-ResourceType 'Microsoft.Storage/storageAccounts' `
-ResourceGroup $resourceGroup –Verbose
# Apply a resource lock to an entire resource group
New-AzureResourceLock -LockLevel CanNotDelete `
-LockNotes 'No deleting!' `
-LockName 'CollierGroupLock' `
-ResourceGroup 'CollierMedia' -Verbose
Resource Locks
More information:
https://michaelscollier.com/2015/06/21/lock-
down-your-azure-resources/
ROLE BASED ACCESS CONTROL
Azure Resource Groups
Motivation
ASM
Admins, co-admins and X.509 certs
No RBAC
Pushback from enterprises
Azure Active Directory
Cloud-scale directory service
ARM
AAD
RBAC
RBAC
Assign an AAD identity to a role at some scope
ARM mode
Role
Specifies a set of Actions and NotActions
Contains zero or more AAD identities
37
RBAC Scope
Know Your Role
Core system roles
Owner
Contributor
Reader
Security Manager
User Access Administrator
Resource-based roles
Virtual Machine Contributor
SQL Server Contributor
… (currently 20)
Custom roles
Announced at Ignite 2015
Know Your Role
Assign via PowerShell
New-AzureRoleAssignment
Remove-AzureRoleAssignment
Get-AzureRoleAssignment
Get-AzureRoleDefinition
New-AzureRoleAssignment `
-UserPrincipalName user@somedomain.com `
-RoleDefinitionName Reader `
-Scope
/subscriptions/GUID/resourceGroups/SomeResourceGroupName
Know Your Role
Assign via Azure Preview Portal
Know Your Role
Assign via Azure Preview Portal
Know Your Role
Assign via Azure Preview Portal
Know Your Role
Assign via Azure Preview Portal
Role Actions
Switch-AzureMode -Name AzureResourceManager
$roles = Get-AzureRoleDefinition #| where { $_.Name -like "SQL*"}
foreach ($def in $roles) {
Write-Host 'Role: '$def.Name
Write-Host 'Actions'
(Get-AzureRoleDefinition -Name $def.Name).Actions
Write-Host 'NotActions'
(Get-AzureRoleDefinition -Name $def.Name).NotActions
Write-Host ([Environment]::NewLine)
}
ARM TEMPLATES
Features and Deployment
ARM Deployment Options
ARM Templates
Desired-state deployment for a single resource group
Parameterized JSON template
Resources deployed in parallel
Resource dependency constraints enforced
Template language provides some built-in functions
ARM Deployment Options
> Switch-AzureMode
AzureResourceManager
* https://github.com/Azure/azure-
powershell/wiki/Deprecation-of-
Switch-AzureMode-in-Azure-
PowerShell
Azure PowerShell
azure config mode arm
Azure XPlat CLI
Azure Marketplace
Resource Manager stack
Azure Preview Portal
https://github.com/Azure/azure-quickstart-
templates
http://deploy.azure.com
Deploy To Azure
ARM mode
Resource-specific cmdlets
Template-deployment cmdlets
ARM Templates
Template file comprises several sections
parameters – parameterizes the deployment of a template
variables – provides variables used in the definition of resources
resources – specifies a goal state for a set of resources in a resource group
outputs – provides values to be returned from the template
Parameter file provides actual values for parameters
Goal state
Parameterized template provides the goal state for a resource group
Resource group specified at runtime
ARM Functions
ARM Templates supports small set of built-in functions
parameters, variables
reference, resourceGroup, resourceId
base64, concat, padLeft, padLeft, replace, toLower, toUpper
deployment, provider, subscription
listKeys
Not supported
User-defined functions
Control constructs – if, while, etc.
Loops and Nested Templates
Loops
Provide basic copy capability
Useful in cloning resource configuration
For example, deploying multiple VMs
Nested Templates
One template can invoke another
Simplifies creation of sophisticated templates
Supports parameters
Supports output variables
ARM Deployment Logs
Logs
Provider
Resource group
Resource
Availability
Kept for 15 days
Default is last hour (PowerShell)
Filter by Status e.g., Failed
PowerShell
Get-AzureResourceProviderLog
Get-AzureResourceGroupLog
Get-AzureResourceLog
DEMO
Explore and Deploy an ARM template
Inside vs. Outside the box
ARM Template
State Configuration /
Extensions
Inside vs. Outside the box
• Outside – part of the template
– VM, network topology, tags, RBAC, references to
certs/secrets, etc.
• Inside – executed by template only
– Configure server roles, configure software, deploy a
website, manage services, manage local users, etc.
– Extensions for PowerShell DSC, Chef, and Puppet.
Free Form . . . Ideal?
User selects arbitrary configuration
Number of nodes, VM sizes, disks, storage accounts, etc.
Maintenance overhead
Support for an undetermined number of configs
Subscription management
Resource limits per subscription
Density challenge – set aside capacity for potential use
Subscription creation cannot be automated
Known Configuration
T-Shirt Sizing
Size: Small, Medium, Large
Product/Audience: Community, Enterprise
Feature: Basic, High Availability
Flexibility within size to select number of resources (to
max)
Known sizing – known resources
Template Decomposition
59
Parameters
adminUserName
adminPassword
storageAccountName
region
virtualNetworkName
addressPrefix
subnetName
subnetPrefix
jumpbox
tshirtSize
osFamily
Template Metadata
Main Template
Known Configuration
Resources Template
Shared Resources Template
Widely Reusable Script(s)
Custom ScriptsMember Resources
Template(s)
Optional Resource
Template(s)
Image: https://azure.microsoft.com/en-us/documentation/articles/best-practices-resource-manager-design-templates/#identifying-what-is-outside-and-inside-of-a-vm
DEMO
Advanced ARM template
Summary
Application Lifecycle Management
Provision & deprovision resources for an application as a logical unit
Declarative
Rapid, repeatable deployment
Save application topology
Consistent Management API
Uniform REST API
Portal, Command Line, PowerShell, Visual Studio or other tools
ARM is the future of resource management in Azure
Resources
ARM Template Examples
– https://github.com/azure/azure-quickstart-templates
Best Practices for Designing Azure Resource Manager Templates
https://azure.microsoft.com/en-us/documentation/articles/best-practices-resource-manager-design-templates/
Rest API Reference
http://msdn.microsoft.com/en-us/library/azure/dn790568.aspx
ARM Template Functions
https://azure.microsoft.com/en-us/documentation/articles/resource-group-template-functions/
Azure Resource Explorer
https://resources.azure.com/
Microsoft Cloud Solution Architect Blog
http://aka.ms/csablog/
Questions?
Thank You!
Michael S. Collier
@MichaelCollier | www.michaelscollier.com
michael.collier@microsoft.com

Contenu connexe

Tendances

More Cache for Less Cash
More Cache for Less CashMore Cache for Less Cash
More Cache for Less CashMichael Collier
 
Authoring Azure Resource Manager Templates - Future Unleashed 2015
Authoring Azure Resource Manager Templates - Future Unleashed 2015Authoring Azure Resource Manager Templates - Future Unleashed 2015
Authoring Azure Resource Manager Templates - Future Unleashed 2015Ravikanth Chaganti
 
Azure Resource Manager (ARM) Template - A Beginner Guide for Developers
Azure Resource Manager (ARM) Template - A Beginner Guide for DevelopersAzure Resource Manager (ARM) Template - A Beginner Guide for Developers
Azure Resource Manager (ARM) Template - A Beginner Guide for DevelopersJuv Chan
 
Advanced Azure deployments with Azure Resource Manager and templates
Advanced Azure deployments with Azure Resource Manager and templatesAdvanced Azure deployments with Azure Resource Manager and templates
Advanced Azure deployments with Azure Resource Manager and templatesStephane Lapointe
 
Using Windows Azure for Solving Identity Management Challenges (Visual Studio...
Using Windows Azure for Solving Identity Management Challenges (Visual Studio...Using Windows Azure for Solving Identity Management Challenges (Visual Studio...
Using Windows Azure for Solving Identity Management Challenges (Visual Studio...Michael Collier
 
Automating Your Microsoft Azure Environment (DevLink 2014)
Automating Your Microsoft Azure Environment (DevLink 2014)Automating Your Microsoft Azure Environment (DevLink 2014)
Automating Your Microsoft Azure Environment (DevLink 2014)Michael Collier
 
Programming Azure Active Directory (DevLink 2014)
Programming Azure Active Directory (DevLink 2014)Programming Azure Active Directory (DevLink 2014)
Programming Azure Active Directory (DevLink 2014)Michael Collier
 
Windows Azure: Lessons From the Field
Windows Azure: Lessons From the FieldWindows Azure: Lessons From the Field
Windows Azure: Lessons From the FieldMichael Collier
 
Using Windows Azure for Solving Identity Management Challenges
Using Windows Azure for Solving Identity Management ChallengesUsing Windows Azure for Solving Identity Management Challenges
Using Windows Azure for Solving Identity Management ChallengesMichael Collier
 
More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)Michael Collier
 
Top 10 AWS Identity and Access Management (IAM) Best Practices (SEC301) | AWS...
Top 10 AWS Identity and Access Management (IAM) Best Practices (SEC301) | AWS...Top 10 AWS Identity and Access Management (IAM) Best Practices (SEC301) | AWS...
Top 10 AWS Identity and Access Management (IAM) Best Practices (SEC301) | AWS...Amazon Web Services
 
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014Amazon Web Services
 
What's New for the Windows Azure Developer? Lots!!
What's New for the Windows Azure Developer?  Lots!!What's New for the Windows Azure Developer?  Lots!!
What's New for the Windows Azure Developer? Lots!!Michael Collier
 
Azure SQL Database
Azure SQL Database Azure SQL Database
Azure SQL Database nj-azure
 
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar SeriesImproving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar SeriesAmazon Web Services
 
(SEC303) Mastering Access Control Policies | AWS re:Invent 2014
(SEC303) Mastering Access Control Policies | AWS re:Invent 2014(SEC303) Mastering Access Control Policies | AWS re:Invent 2014
(SEC303) Mastering Access Control Policies | AWS re:Invent 2014Amazon Web Services
 
Programando sua infraestrutura com o AWS CloudFormation
Programando sua infraestrutura com o AWS CloudFormationProgramando sua infraestrutura com o AWS CloudFormation
Programando sua infraestrutura com o AWS CloudFormationAmazon Web Services LATAM
 
Building Scalable Windows and .NET Apps on AWS (TLS302) | AWS re:Invent 2013
Building Scalable Windows and .NET Apps on AWS (TLS302) | AWS re:Invent 2013Building Scalable Windows and .NET Apps on AWS (TLS302) | AWS re:Invent 2013
Building Scalable Windows and .NET Apps on AWS (TLS302) | AWS re:Invent 2013Amazon Web Services
 
(APP304) AWS CloudFormation Best Practices | AWS re:Invent 2014
(APP304) AWS CloudFormation Best Practices | AWS re:Invent 2014(APP304) AWS CloudFormation Best Practices | AWS re:Invent 2014
(APP304) AWS CloudFormation Best Practices | AWS re:Invent 2014Amazon Web Services
 

Tendances (20)

More Cache for Less Cash
More Cache for Less CashMore Cache for Less Cash
More Cache for Less Cash
 
Authoring Azure Resource Manager Templates - Future Unleashed 2015
Authoring Azure Resource Manager Templates - Future Unleashed 2015Authoring Azure Resource Manager Templates - Future Unleashed 2015
Authoring Azure Resource Manager Templates - Future Unleashed 2015
 
Azure Resource Manager (ARM) Template - A Beginner Guide for Developers
Azure Resource Manager (ARM) Template - A Beginner Guide for DevelopersAzure Resource Manager (ARM) Template - A Beginner Guide for Developers
Azure Resource Manager (ARM) Template - A Beginner Guide for Developers
 
Advanced Azure deployments with Azure Resource Manager and templates
Advanced Azure deployments with Azure Resource Manager and templatesAdvanced Azure deployments with Azure Resource Manager and templates
Advanced Azure deployments with Azure Resource Manager and templates
 
Using Windows Azure for Solving Identity Management Challenges (Visual Studio...
Using Windows Azure for Solving Identity Management Challenges (Visual Studio...Using Windows Azure for Solving Identity Management Challenges (Visual Studio...
Using Windows Azure for Solving Identity Management Challenges (Visual Studio...
 
Automating Your Microsoft Azure Environment (DevLink 2014)
Automating Your Microsoft Azure Environment (DevLink 2014)Automating Your Microsoft Azure Environment (DevLink 2014)
Automating Your Microsoft Azure Environment (DevLink 2014)
 
Programming Azure Active Directory (DevLink 2014)
Programming Azure Active Directory (DevLink 2014)Programming Azure Active Directory (DevLink 2014)
Programming Azure Active Directory (DevLink 2014)
 
Windows Azure: Lessons From the Field
Windows Azure: Lessons From the FieldWindows Azure: Lessons From the Field
Windows Azure: Lessons From the Field
 
Using Windows Azure for Solving Identity Management Challenges
Using Windows Azure for Solving Identity Management ChallengesUsing Windows Azure for Solving Identity Management Challenges
Using Windows Azure for Solving Identity Management Challenges
 
More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)
 
Top 10 AWS Identity and Access Management (IAM) Best Practices (SEC301) | AWS...
Top 10 AWS Identity and Access Management (IAM) Best Practices (SEC301) | AWS...Top 10 AWS Identity and Access Management (IAM) Best Practices (SEC301) | AWS...
Top 10 AWS Identity and Access Management (IAM) Best Practices (SEC301) | AWS...
 
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
 
What's New for the Windows Azure Developer? Lots!!
What's New for the Windows Azure Developer?  Lots!!What's New for the Windows Azure Developer?  Lots!!
What's New for the Windows Azure Developer? Lots!!
 
Azure ARM Templates 101
Azure ARM Templates 101Azure ARM Templates 101
Azure ARM Templates 101
 
Azure SQL Database
Azure SQL Database Azure SQL Database
Azure SQL Database
 
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar SeriesImproving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
 
(SEC303) Mastering Access Control Policies | AWS re:Invent 2014
(SEC303) Mastering Access Control Policies | AWS re:Invent 2014(SEC303) Mastering Access Control Policies | AWS re:Invent 2014
(SEC303) Mastering Access Control Policies | AWS re:Invent 2014
 
Programando sua infraestrutura com o AWS CloudFormation
Programando sua infraestrutura com o AWS CloudFormationProgramando sua infraestrutura com o AWS CloudFormation
Programando sua infraestrutura com o AWS CloudFormation
 
Building Scalable Windows and .NET Apps on AWS (TLS302) | AWS re:Invent 2013
Building Scalable Windows and .NET Apps on AWS (TLS302) | AWS re:Invent 2013Building Scalable Windows and .NET Apps on AWS (TLS302) | AWS re:Invent 2013
Building Scalable Windows and .NET Apps on AWS (TLS302) | AWS re:Invent 2013
 
(APP304) AWS CloudFormation Best Practices | AWS re:Invent 2014
(APP304) AWS CloudFormation Best Practices | AWS re:Invent 2014(APP304) AWS CloudFormation Best Practices | AWS re:Invent 2014
(APP304) AWS CloudFormation Best Practices | AWS re:Invent 2014
 

En vedette

Inside Azure Diagnostics (DevLink 2014)
Inside Azure Diagnostics (DevLink 2014)Inside Azure Diagnostics (DevLink 2014)
Inside Azure Diagnostics (DevLink 2014)Michael Collier
 
Infrastructure as a code
Infrastructure as a codeInfrastructure as a code
Infrastructure as a codeMichel HUBERT
 
Inside Azure Diagnostics
Inside Azure DiagnosticsInside Azure Diagnostics
Inside Azure DiagnosticsMichael Collier
 
Windows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerWindows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerMichael Collier
 
2016 Azure Bootcamp Taipei - Infrastructure as Code by Azure Resource Manager...
2016 Azure Bootcamp Taipei - Infrastructure as Code by Azure Resource Manager...2016 Azure Bootcamp Taipei - Infrastructure as Code by Azure Resource Manager...
2016 Azure Bootcamp Taipei - Infrastructure as Code by Azure Resource Manager...howie YU
 
From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)Bramus Van Damme
 
Introducing Azure SQL Database
Introducing Azure SQL DatabaseIntroducing Azure SQL Database
Introducing Azure SQL DatabaseJames Serra
 
nota lukisan persembahan senibina
nota lukisan persembahan senibinanota lukisan persembahan senibina
nota lukisan persembahan senibinaAishah Liman
 
Lukisan senibina
Lukisan senibinaLukisan senibina
Lukisan senibinastekkkt
 
Prinsip rekaan premis makanan
Prinsip rekaan premis makananPrinsip rekaan premis makanan
Prinsip rekaan premis makananAsif Yahya
 
Vital Trends in Digital Experience and Transformation in 2016 | Dreamforce 20...
Vital Trends in Digital Experience and Transformation in 2016 | Dreamforce 20...Vital Trends in Digital Experience and Transformation in 2016 | Dreamforce 20...
Vital Trends in Digital Experience and Transformation in 2016 | Dreamforce 20...Dion Hinchcliffe
 
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 Introduction
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 IntroductionArchitectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 Introduction
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 IntroductionGalala University
 
Architectural Professional Practice - Design
Architectural Professional Practice - DesignArchitectural Professional Practice - Design
Architectural Professional Practice - DesignGalala University
 
Accenture DevOps: Delivering applications at the pace of business
Accenture DevOps: Delivering applications at the pace of businessAccenture DevOps: Delivering applications at the pace of business
Accenture DevOps: Delivering applications at the pace of businessAccenture Technology
 

En vedette (17)

Inside Azure Diagnostics (DevLink 2014)
Inside Azure Diagnostics (DevLink 2014)Inside Azure Diagnostics (DevLink 2014)
Inside Azure Diagnostics (DevLink 2014)
 
Infrastructure as a code
Infrastructure as a codeInfrastructure as a code
Infrastructure as a code
 
Inside Azure Diagnostics
Inside Azure DiagnosticsInside Azure Diagnostics
Inside Azure Diagnostics
 
Windows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerWindows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect Partner
 
2016 Azure Bootcamp Taipei - Infrastructure as Code by Azure Resource Manager...
2016 Azure Bootcamp Taipei - Infrastructure as Code by Azure Resource Manager...2016 Azure Bootcamp Taipei - Infrastructure as Code by Azure Resource Manager...
2016 Azure Bootcamp Taipei - Infrastructure as Code by Azure Resource Manager...
 
From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)
 
Introducing Azure SQL Database
Introducing Azure SQL DatabaseIntroducing Azure SQL Database
Introducing Azure SQL Database
 
nota lukisan persembahan senibina
nota lukisan persembahan senibinanota lukisan persembahan senibina
nota lukisan persembahan senibina
 
01 intro(prehistoric)
01 intro(prehistoric)01 intro(prehistoric)
01 intro(prehistoric)
 
Lukisan senibina
Lukisan senibinaLukisan senibina
Lukisan senibina
 
The Architecture Profession
The Architecture ProfessionThe Architecture Profession
The Architecture Profession
 
Prinsip rekaan premis makanan
Prinsip rekaan premis makananPrinsip rekaan premis makanan
Prinsip rekaan premis makanan
 
Vital Trends in Digital Experience and Transformation in 2016 | Dreamforce 20...
Vital Trends in Digital Experience and Transformation in 2016 | Dreamforce 20...Vital Trends in Digital Experience and Transformation in 2016 | Dreamforce 20...
Vital Trends in Digital Experience and Transformation in 2016 | Dreamforce 20...
 
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 Introduction
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 IntroductionArchitectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 Introduction
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 Introduction
 
Architectural Professional Practice - Design
Architectural Professional Practice - DesignArchitectural Professional Practice - Design
Architectural Professional Practice - Design
 
Green building
Green buildingGreen building
Green building
 
Accenture DevOps: Delivering applications at the pace of business
Accenture DevOps: Delivering applications at the pace of businessAccenture DevOps: Delivering applications at the pace of business
Accenture DevOps: Delivering applications at the pace of business
 

Similaire à Inside Azure Resource Manager

Improving Infrastructure Governance on AWS
Improving Infrastructure Governance on AWSImproving Infrastructure Governance on AWS
Improving Infrastructure Governance on AWSAmazon Web Services
 
Improving Infrastructure Governance on AWS by Henrik Johansson, Solutions Ar...
 Improving Infrastructure Governance on AWS by Henrik Johansson, Solutions Ar... Improving Infrastructure Governance on AWS by Henrik Johansson, Solutions Ar...
Improving Infrastructure Governance on AWS by Henrik Johansson, Solutions Ar...Amazon Web Services
 
Azure Day 2.pptx
Azure Day 2.pptxAzure Day 2.pptx
Azure Day 2.pptxmasbulosoke
 
Azure Resource Manager - Technical Primer
Azure Resource Manager - Technical PrimerAzure Resource Manager - Technical Primer
Azure Resource Manager - Technical PrimerBen Coleman
 
Azure provisioning at your control
Azure provisioning at your controlAzure provisioning at your control
Azure provisioning at your controlGovind Kanshi
 
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Azure for SharePoint Developers - Workshop - Part 3: Web ServicesAzure for SharePoint Developers - Workshop - Part 3: Web Services
Azure for SharePoint Developers - Workshop - Part 3: Web ServicesBob German
 
DevOps in Azure :Azure Resource Manager
DevOps in Azure :Azure Resource ManagerDevOps in Azure :Azure Resource Manager
DevOps in Azure :Azure Resource ManagerUtkarsh Pandey
 
(DVO304) AWS CloudFormation Best Practices
(DVO304) AWS CloudFormation Best Practices(DVO304) AWS CloudFormation Best Practices
(DVO304) AWS CloudFormation Best PracticesAmazon Web Services
 
Microsoft Azure News - March 2017
Microsoft Azure News - March 2017Microsoft Azure News - March 2017
Microsoft Azure News - March 2017Daniel Toomey
 
CloudBrew 2018 - Azure Governance
CloudBrew 2018 - Azure GovernanceCloudBrew 2018 - Azure Governance
CloudBrew 2018 - Azure GovernanceTom Janetscheck
 
Claus_AZR210-Whats new in Iaas.pptx
Claus_AZR210-Whats new in Iaas.pptxClaus_AZR210-Whats new in Iaas.pptx
Claus_AZR210-Whats new in Iaas.pptxkevin273889
 
Yuriy Gerasimov. Drupal Services. Integration with third party applications. ...
Yuriy Gerasimov. Drupal Services. Integration with third party applications. ...Yuriy Gerasimov. Drupal Services. Integration with third party applications. ...
Yuriy Gerasimov. Drupal Services. Integration with third party applications. ...Vlad Savitsky
 
Microsoft azure infrastructure essentials course manual
Microsoft azure infrastructure essentials   course manualMicrosoft azure infrastructure essentials   course manual
Microsoft azure infrastructure essentials course manualmichaeldejene4
 
Microsoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptxMicrosoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptxsaidbilgen
 
Dallas Breakfast Seminar
Dallas Breakfast SeminarDallas Breakfast Seminar
Dallas Breakfast SeminarNuoDB
 
AWS re:Invent 2016: Managing and Supporting the Windows Platform on AWS (GPSS...
AWS re:Invent 2016: Managing and Supporting the Windows Platform on AWS (GPSS...AWS re:Invent 2016: Managing and Supporting the Windows Platform on AWS (GPSS...
AWS re:Invent 2016: Managing and Supporting the Windows Platform on AWS (GPSS...Amazon Web Services
 
Introduction to Azure Cloud Storage
Introduction to Azure Cloud StorageIntroduction to Azure Cloud Storage
Introduction to Azure Cloud StorageGanga R Jaiswal
 

Similaire à Inside Azure Resource Manager (20)

Improving Infrastructure Governance on AWS
Improving Infrastructure Governance on AWSImproving Infrastructure Governance on AWS
Improving Infrastructure Governance on AWS
 
Improving Infrastructure Governance on AWS by Henrik Johansson, Solutions Ar...
 Improving Infrastructure Governance on AWS by Henrik Johansson, Solutions Ar... Improving Infrastructure Governance on AWS by Henrik Johansson, Solutions Ar...
Improving Infrastructure Governance on AWS by Henrik Johansson, Solutions Ar...
 
Azure Day 2.pptx
Azure Day 2.pptxAzure Day 2.pptx
Azure Day 2.pptx
 
Azure Resource Manager - Technical Primer
Azure Resource Manager - Technical PrimerAzure Resource Manager - Technical Primer
Azure Resource Manager - Technical Primer
 
Azure provisioning at your control
Azure provisioning at your controlAzure provisioning at your control
Azure provisioning at your control
 
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Azure for SharePoint Developers - Workshop - Part 3: Web ServicesAzure for SharePoint Developers - Workshop - Part 3: Web Services
Azure for SharePoint Developers - Workshop - Part 3: Web Services
 
Sky High With Azure
Sky High With AzureSky High With Azure
Sky High With Azure
 
DevOps in Azure :Azure Resource Manager
DevOps in Azure :Azure Resource ManagerDevOps in Azure :Azure Resource Manager
DevOps in Azure :Azure Resource Manager
 
(DVO304) AWS CloudFormation Best Practices
(DVO304) AWS CloudFormation Best Practices(DVO304) AWS CloudFormation Best Practices
(DVO304) AWS CloudFormation Best Practices
 
Microsoft Azure News - March 2017
Microsoft Azure News - March 2017Microsoft Azure News - March 2017
Microsoft Azure News - March 2017
 
CloudBrew 2018 - Azure Governance
CloudBrew 2018 - Azure GovernanceCloudBrew 2018 - Azure Governance
CloudBrew 2018 - Azure Governance
 
Claus_AZR210-Whats new in Iaas.pptx
Claus_AZR210-Whats new in Iaas.pptxClaus_AZR210-Whats new in Iaas.pptx
Claus_AZR210-Whats new in Iaas.pptx
 
Azure diario de abordo
Azure diario de abordoAzure diario de abordo
Azure diario de abordo
 
Yuriy Gerasimov. Drupal Services. Integration with third party applications. ...
Yuriy Gerasimov. Drupal Services. Integration with third party applications. ...Yuriy Gerasimov. Drupal Services. Integration with third party applications. ...
Yuriy Gerasimov. Drupal Services. Integration with third party applications. ...
 
UK Azure Users Group
UK Azure Users Group UK Azure Users Group
UK Azure Users Group
 
Microsoft azure infrastructure essentials course manual
Microsoft azure infrastructure essentials   course manualMicrosoft azure infrastructure essentials   course manual
Microsoft azure infrastructure essentials course manual
 
Microsoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptxMicrosoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptx
 
Dallas Breakfast Seminar
Dallas Breakfast SeminarDallas Breakfast Seminar
Dallas Breakfast Seminar
 
AWS re:Invent 2016: Managing and Supporting the Windows Platform on AWS (GPSS...
AWS re:Invent 2016: Managing and Supporting the Windows Platform on AWS (GPSS...AWS re:Invent 2016: Managing and Supporting the Windows Platform on AWS (GPSS...
AWS re:Invent 2016: Managing and Supporting the Windows Platform on AWS (GPSS...
 
Introduction to Azure Cloud Storage
Introduction to Azure Cloud StorageIntroduction to Azure Cloud Storage
Introduction to Azure Cloud Storage
 

Plus de Michael Collier

What's New for the Windows Azure Developer? Lots! (July 2013)
What's New for the Windows Azure Developer?  Lots! (July 2013)What's New for the Windows Azure Developer?  Lots! (July 2013)
What's New for the Windows Azure Developer? Lots! (July 2013)Michael Collier
 
Windows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerWindows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerMichael Collier
 
Windows Azure for Developers - Service Management
Windows Azure for Developers - Service ManagementWindows Azure for Developers - Service Management
Windows Azure for Developers - Service ManagementMichael Collier
 
Windows Phone 7 and Windows Azure – A Match Made in the Cloud
Windows Phone 7 and Windows Azure – A Match Made in the CloudWindows Phone 7 and Windows Azure – A Match Made in the Cloud
Windows Phone 7 and Windows Azure – A Match Made in the CloudMichael Collier
 
The Hybrid Windows Azure Application
The Hybrid Windows Azure ApplicationThe Hybrid Windows Azure Application
The Hybrid Windows Azure ApplicationMichael Collier
 
Windows Azure for Developers - Building Block Services
Windows Azure for Developers - Building Block ServicesWindows Azure for Developers - Building Block Services
Windows Azure for Developers - Building Block ServicesMichael Collier
 

Plus de Michael Collier (6)

What's New for the Windows Azure Developer? Lots! (July 2013)
What's New for the Windows Azure Developer?  Lots! (July 2013)What's New for the Windows Azure Developer?  Lots! (July 2013)
What's New for the Windows Azure Developer? Lots! (July 2013)
 
Windows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerWindows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect Partner
 
Windows Azure for Developers - Service Management
Windows Azure for Developers - Service ManagementWindows Azure for Developers - Service Management
Windows Azure for Developers - Service Management
 
Windows Phone 7 and Windows Azure – A Match Made in the Cloud
Windows Phone 7 and Windows Azure – A Match Made in the CloudWindows Phone 7 and Windows Azure – A Match Made in the Cloud
Windows Phone 7 and Windows Azure – A Match Made in the Cloud
 
The Hybrid Windows Azure Application
The Hybrid Windows Azure ApplicationThe Hybrid Windows Azure Application
The Hybrid Windows Azure Application
 
Windows Azure for Developers - Building Block Services
Windows Azure for Developers - Building Block ServicesWindows Azure for Developers - Building Block Services
Windows Azure for Developers - Building Block Services
 

Dernier

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Dernier (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Inside Azure Resource Manager

  • 1. Inside Azure Resource Manager Michael S. Collier Cloud Solution Architect, Microsoft Level: Intermediate
  • 2. Michael S. Collier Cloud Solution Architect Microsoft michael.collier@microsoft.com @MichaelCollier www.MichaelSCollier.com http://aka.ms/csablog
  • 4. Today’s Agenda 1. Current Challenges 2. Basics of Azure Resource Groups & Azure Resource Manager 3. Role Based Access Control 4. ARM Template Details
  • 5. Managing Azure Deployments Azure Service Manager (ASM) Traditional way to deploy and manage applications hosted in Azure Production Portal PowerShell / CLI (default mode) REST API Azure Resource Manager (ARM) Modern way to deploy and manage applications hosted in Azure Preview “Ibiza” Portal PowerShell / CLI (ARM mode) REST API Azure Resource Management Library for .NET
  • 6. The Challenge Deploy/Update logical group of resources Visualize related resources: Provision/Deprovision Costs Security/Permissions ????
  • 7. Single Resource Point-of-View Deployment – complex. Coordinated deployment? Communication/configuration between resources?
  • 10. Azure Resource Groups Lifecycle of application and resources Declarative Consistent Management API
  • 11. Azure Resource Manager What is Azure Resource Manager? Unit of Management • Lifecycle • Identity • Grouping One Resource -> One Resource Group
  • 12. Resource Groups One or Many? How are the resources managed?
  • 14. Benefits Desired-state deployment Faster deployment Role-based access control (RBAC) Resource-provider model Orchestration Resource configuration SQL - A Website Virtual Machines SQL-A Website [SQL CONFIG] VM (2x) DEPENDS ON SQLDEPENDS ON SQL SQLCONFIG Image source - http://channel9.msdn.com/Events/Build/2014/2-607
  • 15. Why • Internal software development teams – Quickly deploy technologies – Rapidly create training environments – Consistent deployment with enforced constraints • Corporate IT – Predefined environments for dev, QA, or production – Provide LOB solutions • ISV/CSV – Hosting a solution for customers – Inject solution into customer’s subscription – Sell via Azure Marketplace • Community / OSS – Host on GitHub to allow community to share and improve. ?
  • 16. DEMO Browse the Azure Preview Portal Browse the Azure Preview Portal
  • 17. ARM Definitions Resource: Atomic unit of deployment Resource Group: Collection of resources Resource Provider: Manages specific kinds of resources Resource Type: Specifies the type of resource
  • 18. Resource Providers Deploy specific types of resources Identified by provider namespace e.g., Microsoft.Compute, Microsoft.Storage, Microsoft.Web (~ 25 Microsoft or customer namespaces) Resource types Each provider namespace manages one or more resource types Microsoft.Compute/availabiltySets Microsoft.Compute/virtualMachines Microsoft.Compute/locations Different regional availability and apiVersion
  • 19. Resource Providers - PowerShell Get-AzureLocation indicates which resourceTypes are available in each region Get-AzureProvider indicates which resource providers and apiVersions are available in each region. 22 (Get-AzureProvider -ProviderNamespace Microsoft.Storage).ResourceTypes | Where { $_.ResourceTypeName -eq 'storageAccounts' } | Select –ExpandProperty ApiVersions (Get-AzureProvider -ProviderNamespace Microsoft.Storage).ResourceTypes | Where { $_.ResourceTypeName -eq 'storageAccounts' } | Select -ExpandProperty Locations
  • 20. Resource Group Definition Name Unique inside a subscription Id Unique across Azure Location Resources Set of resources in the resource group Tags Resource group can be tagged to provide (billing) metadata
  • 21. Resource Group Definition PS C:> New-AzureResourceGroup -Name VSLiveNYC -Location "East US" -Tag @{Name=“Event"; Value=“VSLIVE"}, @{Name="Admin";Value="mcollier"} VERBOSE: 9:52:35 PM - Created resource group ‘VSLiveNYC' in location 'eastus' ResourceGroupName : VSLiveNYC Location : eastus ProvisioningState : Succeeded Tags : Name Value ========= ======== Event VSLIVE Admin mcollier Permissions : Actions NotActions ======= ========== * ResourceId : /subscriptions/xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/VSLiveNYC
  • 22. Resource Group Definition C:UsersMCOLLIER>azure info: _ _____ _ ___ ___ info: /_ |_ / | | | _ __| info: _ ___/ _ __/ /| |_| | / _|___ _ _ info: (___ /_/ _/___|___/|_|____| _____) info: (_______ _ _) _ ______ _)_ _ info: (______________ _ ) (___ _ _) info: info: Microsoft Azure: Microsoft's Cloud Platform info: info: Tool version 0.9.9 help: help: Display help for a given command help: help [options] [command] help: help: Log in to an Azure subscription using Active Directory. Currently, the user can login only via Microsoft organizational account help: login [options] [username] help: help: Log out from Azure subscription using Active Directory. Currently, the user can log out only via Microsoft organizational account help: logout [options] [username] help: help: Open the portal in a browser help: portal [options] help: help: Commands: help: account Commands to manage your account information and publish settings help: config Commands to manage your local settings help: hdinsight Commands to manage HDInsight clusters and jobs help: mobile Commands to manage your Mobile Services help: network Commands to manage your networks help: sb Commands to manage your Service Bus configuration help: service Commands to manage your Cloud Services help: site Commands to manage your Web Sites help: sql Commands to manage your SQL Server accounts help: storage Commands to manage your Storage objects help: vm Commands to manage your Virtual Machines help: help: Options: help: -h, --help output usage information help: -v, --version output the application version help: help: Current Mode: asm (Azure Service Management)
  • 23. Resource Group Definition C:UsersMCOLLIER>C:UsersMCOLLIER>azure login admin@mcollier.onmicrosoft.com info: Executing command login Password: ******** /info: Added subscription Visual Studio Ultimate with MSDN (Microsoft FTE) info: Setting subscription "Visual Studio Ultimate with MSDN (Microsoft FTE)" as default + info: login command OK C:UsersMCOLLIER>azure config mode arm info: New mode is arm C:C:UsersMCOLLIER>azure group create -n "vslivenyc2015-cli" -l "East US" -t event=vslive;admin=mcollier info: Executing command group create + Getting resource group vslivenyc2015-cli + Creating resource group vslivenyc2015-cli info: Created resource group vslivenyc2015-cli data: Id: /subscriptions/0bbbc191-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/vslivenyc2015-cli data: Name: vslivenyc2015-cli data: Location: eastus data: Provisioning State: Succeeded data: Tags: event=vslive;admin=mcollier data: info: group create command OK C:UsersMCOLLIER>
  • 24. Resource Characteristics Resource group Resource exists in precisely one resource group at any time Resource can be moved from one resource group to another Location Resource can be created in any region where there is an a appropriate resource provider Locks Resource can be locked to prevent deletion Tags Resource can be tagged to provide (billing) metadata
  • 25. Resource Group Characteristics Two types of resource groups Lifecycle Shared Lifecyle Contains resources with common lifecycle and management e.g., virtual machines and storage accounts for an application Shared Contains resources shared among several resource groups e.g., VNETs used to host VMs from many applications
  • 26. Resource Definition Name Unique for resource group and resource type (e.g., Microsoft.Compute/virtualMachines) Id Unique across Azure /subscriptions/GUID/resourceGroups/myRG/providers/Microsoft.Compute/virtua lMachines/vmName Location ResourceType ResourceGroup Properties Additional properties specific to the resource provider { "apiVersion": "2015-05-01-preview", "type": "Microsoft.Storage/storageAccounts", "name": "[parameters('newStorageAccountName')]", "location": "[resourceGroup().location]", "tags": { "displayName": "StorageAccount" }, "properties": { "accountType": "[variables('storageAccountType')]" } }
  • 27. Resource Tags Tag Name/value pair Provides metadata to classify resources and resource groups Resources and resource groups An array of tags can be associated with a resource or a resource group Billing Tags are surfaced to Azure bills so they can be used in allocating resource costs { "apiVersion": "2015-05-01-preview", "type": "Microsoft.Compute/availabilitySets", "name": "[variables('availabilitySetName')]", "location": "[resourceGroup().location]", "tags": { "displayName": "AvailabilitySet" } } > New-AzureResourceGroup -Name VSLiveNYC -Location "East US" -Tag @{Name=“Event"; Value=“VSLive"}, @{Name="Admin";Value="mcollier"}
  • 28. Resource Locks Prevents deletion of a resource or resource group Associate a resource lock with the resource or resource group Only the Owner or User Access Administrator roles can create or modify locks
  • 29. Resource Locks "resources": [ { "type": "Microsoft.Storage/storageAccounts", "name": "[parameters('newStorageAccountName')]", "apiVersion": "2015-05-01-preview", "location": "[parameters('location')]", "properties": { "accountType": "[parameters('storageAccountType')]" }, "resources": [ { "type": "Microsoft.Storage/storageAccounts/providers/locks", "name": "[concat(parameters('newStorageAccountName'), '/Microsoft.Authorization/collierLock')]", "apiVersion": "2015-01-01", "dependsOn": [ "[concat('Microsoft.Storage/storageAccounts/', parameters('newStorageAccountName'))]" ], "properties": { "level": "CannotDelete", "notes": "Mike's important files - do not delete!" } } ] } ] Options: CannotDelete and ReadOnly* Name of the lock
  • 30. Resource Locks # Apply a resource lock to the storage account. New-AzureResourceLock -LockLevel CanNotDelete ` -LockNotes 'No deleting!' ` -LockName 'CollierLock' ` -ResourceName $storageAccountName ` -ResourceType 'Microsoft.Storage/storageAccounts' ` -ResourceGroup $resourceGroup –Verbose # Apply a resource lock to an entire resource group New-AzureResourceLock -LockLevel CanNotDelete ` -LockNotes 'No deleting!' ` -LockName 'CollierGroupLock' ` -ResourceGroup 'CollierMedia' -Verbose
  • 32. ROLE BASED ACCESS CONTROL Azure Resource Groups
  • 33. Motivation ASM Admins, co-admins and X.509 certs No RBAC Pushback from enterprises Azure Active Directory Cloud-scale directory service ARM AAD RBAC
  • 34. RBAC Assign an AAD identity to a role at some scope ARM mode Role Specifies a set of Actions and NotActions Contains zero or more AAD identities 37
  • 36. Know Your Role Core system roles Owner Contributor Reader Security Manager User Access Administrator Resource-based roles Virtual Machine Contributor SQL Server Contributor … (currently 20) Custom roles Announced at Ignite 2015
  • 37. Know Your Role Assign via PowerShell New-AzureRoleAssignment Remove-AzureRoleAssignment Get-AzureRoleAssignment Get-AzureRoleDefinition New-AzureRoleAssignment ` -UserPrincipalName user@somedomain.com ` -RoleDefinitionName Reader ` -Scope /subscriptions/GUID/resourceGroups/SomeResourceGroupName
  • 38. Know Your Role Assign via Azure Preview Portal
  • 39. Know Your Role Assign via Azure Preview Portal
  • 40. Know Your Role Assign via Azure Preview Portal
  • 41. Know Your Role Assign via Azure Preview Portal
  • 42. Role Actions Switch-AzureMode -Name AzureResourceManager $roles = Get-AzureRoleDefinition #| where { $_.Name -like "SQL*"} foreach ($def in $roles) { Write-Host 'Role: '$def.Name Write-Host 'Actions' (Get-AzureRoleDefinition -Name $def.Name).Actions Write-Host 'NotActions' (Get-AzureRoleDefinition -Name $def.Name).NotActions Write-Host ([Environment]::NewLine) }
  • 44. ARM Deployment Options ARM Templates Desired-state deployment for a single resource group Parameterized JSON template Resources deployed in parallel Resource dependency constraints enforced Template language provides some built-in functions
  • 45. ARM Deployment Options > Switch-AzureMode AzureResourceManager * https://github.com/Azure/azure- powershell/wiki/Deprecation-of- Switch-AzureMode-in-Azure- PowerShell Azure PowerShell azure config mode arm Azure XPlat CLI Azure Marketplace Resource Manager stack Azure Preview Portal https://github.com/Azure/azure-quickstart- templates http://deploy.azure.com Deploy To Azure ARM mode Resource-specific cmdlets Template-deployment cmdlets
  • 46. ARM Templates Template file comprises several sections parameters – parameterizes the deployment of a template variables – provides variables used in the definition of resources resources – specifies a goal state for a set of resources in a resource group outputs – provides values to be returned from the template Parameter file provides actual values for parameters Goal state Parameterized template provides the goal state for a resource group Resource group specified at runtime
  • 47. ARM Functions ARM Templates supports small set of built-in functions parameters, variables reference, resourceGroup, resourceId base64, concat, padLeft, padLeft, replace, toLower, toUpper deployment, provider, subscription listKeys Not supported User-defined functions Control constructs – if, while, etc.
  • 48. Loops and Nested Templates Loops Provide basic copy capability Useful in cloning resource configuration For example, deploying multiple VMs Nested Templates One template can invoke another Simplifies creation of sophisticated templates Supports parameters Supports output variables
  • 49. ARM Deployment Logs Logs Provider Resource group Resource Availability Kept for 15 days Default is last hour (PowerShell) Filter by Status e.g., Failed PowerShell Get-AzureResourceProviderLog Get-AzureResourceGroupLog Get-AzureResourceLog
  • 50. DEMO Explore and Deploy an ARM template
  • 51. Inside vs. Outside the box ARM Template State Configuration / Extensions
  • 52. Inside vs. Outside the box • Outside – part of the template – VM, network topology, tags, RBAC, references to certs/secrets, etc. • Inside – executed by template only – Configure server roles, configure software, deploy a website, manage services, manage local users, etc. – Extensions for PowerShell DSC, Chef, and Puppet.
  • 53. Free Form . . . Ideal? User selects arbitrary configuration Number of nodes, VM sizes, disks, storage accounts, etc. Maintenance overhead Support for an undetermined number of configs Subscription management Resource limits per subscription Density challenge – set aside capacity for potential use Subscription creation cannot be automated
  • 54. Known Configuration T-Shirt Sizing Size: Small, Medium, Large Product/Audience: Community, Enterprise Feature: Basic, High Availability Flexibility within size to select number of resources (to max) Known sizing – known resources
  • 55. Template Decomposition 59 Parameters adminUserName adminPassword storageAccountName region virtualNetworkName addressPrefix subnetName subnetPrefix jumpbox tshirtSize osFamily Template Metadata Main Template Known Configuration Resources Template Shared Resources Template Widely Reusable Script(s) Custom ScriptsMember Resources Template(s) Optional Resource Template(s) Image: https://azure.microsoft.com/en-us/documentation/articles/best-practices-resource-manager-design-templates/#identifying-what-is-outside-and-inside-of-a-vm
  • 57. Summary Application Lifecycle Management Provision & deprovision resources for an application as a logical unit Declarative Rapid, repeatable deployment Save application topology Consistent Management API Uniform REST API Portal, Command Line, PowerShell, Visual Studio or other tools ARM is the future of resource management in Azure
  • 58. Resources ARM Template Examples – https://github.com/azure/azure-quickstart-templates Best Practices for Designing Azure Resource Manager Templates https://azure.microsoft.com/en-us/documentation/articles/best-practices-resource-manager-design-templates/ Rest API Reference http://msdn.microsoft.com/en-us/library/azure/dn790568.aspx ARM Template Functions https://azure.microsoft.com/en-us/documentation/articles/resource-group-template-functions/ Azure Resource Explorer https://resources.azure.com/ Microsoft Cloud Solution Architect Blog http://aka.ms/csablog/
  • 60. Thank You! Michael S. Collier @MichaelCollier | www.michaelscollier.com michael.collier@microsoft.com

Notes de l'éditeur

  1. Introduce the two ways to manage Azure services. ASM has been around since 2009 and is getting long in the tooth. ARM supports modern deployment practices. It is designed to be extensible to all current and future services.
  2. Let’s talk about the challenge we have when deploying Azure-based solutions . . . The multiple resources needed.
  3. Single resource – not so bad. Multiple resources – gets to be more of a challenge. Need to coordinate the deployment so that dependencies are handled (e.g. DB before web so that configuration string can be set).
  4. Lifecycle of application and related resources
  5. Resource - an Azure entity such as a VM, WebSite, Storage Account, SQL Database Resource Group Collection of Azure resources Every Resource must exist in one, and only one, Resource Group Unit of Management Lifecyle - deployment, update, delete, obtain status Grouping - Billing
  6. https://management.azure.com/subscriptions/{{subscriptionId}}/resourcegroups/{{resource-group}}/providers/Microsoft.Sql/servers/{{server}}/databases/{{database}}?api-version={{apiVersion}}
  7. Repeatedly provision resources
  8. Constraints – RBAC to prevent developer from changing solution to send data to personal storage account
  9. Show resource groups in the Azure Preview Portal (quick).
  10. (Get-AzureProvider -ProviderNamespace Microsoft.Compute).ResourceTypes
  11. Contributor is one of the few roles with NotActions. Note that Contributor cannot lock resources
  12. https://azure.microsoft.com/en-us/documentation/articles/resource-group-template-functions/
  13. Open a template in Visual Studio. Show various sections of the template (parameters, variables, resources, etc.). Deploy via PowerShell
  14. ARM templates are for control things outside the VM – the VM itself and resources related to the deployment. Inside – installed software and overall desired state. Scripts are executed by the ARM template but aren’t contained within the template itself. DSC extensions can help to control “drift”.
  15. Walkthrough the template at https://github.com/Azure/azure-quickstart-templates/blob/master/postgresql-on-ubuntu/azuredeploy.json