TechEd North America 2014, Houston
Microsoft Azure Resource Manager – Kevin Lam
Day 4, 15 May 2014, 2:45PM-4:00PM (DEV-B224)
Disclaimer: This post contains my own thoughts and notes based on attending TechEd North America 2014 presentations. Some content maps directly to what was originally presented. Other content is paraphrased or represents my own thoughts and opinions and should not be construed as reflecting the opinion of either Microsoft, the presenters or the speakers.
Executive Summary—Sean’s takeaways
- Now group all resources in Azure portal into resource groups
- Resource group should be based on whatever grouping makes sense to you
- Can use Powershell and REST-based API to create/destroy resources
-
Resource templates can be used or modified
- Start with templates used to create resources listed in gallery
Kevin Lam, Principal Program Manager, Azure, Microsoft
Today’s Challenge
-
Tough to
- Deploy or update group of resources
- Manage permissions on group of resources
- Visualize group of resources in logical view
We have various Singletons
- E.g. SQL Database, web site, etc.
- Deploy is harder
- Proper use of resources is more abstract
- Isolation makes communication a challenge
Resource Centric Views
- (old portal)
- Big flat list, long list at left
Introducing Resource Manager
- Application Lifecycle Container
- Declarative solution for Deployment and Configuration
- Consistent Management Layer
Resource Groups
- Tightly coupled containers of a collection of resources
- Can be same type or different
- Every resource lives in exactly one resource group
-
Resource groups can span regions
- E.g. web site located in multiple regions
Coupling for Resources
-
Resource Group is a unit of management
- Lifecycle – deployment, update, delete, status
- Grouping: metering, billing, quota – applied, rolled up to entire resource group
Q: Link resource groups together?
- Not yet. But soon. Will be different ways to view resources
Resource Group Lifecycle
- How do you decide where to put resources?
- Hint – do they have common lifecycle and management?
- Answer – up to you
Power of Repeatability
-
Azure templates can
- Ensure idempotency –
- Simplify orchestration
- Provide cross-resource configuration and update support
-
Azure templates are:
- Source file, checked-in
- JSON file
- Specifies resources and dependencies and connections
- Parameterized input/output
- Template drives execution list, based on dependencies
Add Your Own Power
-
Some resources can be extended by allowing more code or data inside resource
- E.g. AV agent inside VM
- WordPress web-deploy package on a Website
- Allow for Scripting or Imperative configuration of resources
-
Extensible solution (Windows/Linux)
- Chef, Puppet, etc.
Consistent Management Layer
-
Service Management API
- Portal uses same API that is available to devs
-
Routing to appropriate resource provider
- Resource providers adhere to resource provider contract
What Does This All Mean?
-
Application Lifecycle Container
- Deploy/manage application as you see fit
-
Declarative solution for Deployment and Configuration
- Single-click deployment of multiple instantiations of your application
-
Consistent Management Layer
- Same experience of deployment and management, from wherever
Demo – Implementation
- Postman hooked up to REST API
- Hit API, get JSON data back
-
Examples
- Get resource groups
- PUT SQL Server (create)
- Creating SQL Server node takes a bit of time
- Then PUT SQL Database on that server
- Anything that you PUT, you can also GET
-
Can get list of resources
- Then index by number
Demo – New Portal
-
Gallery – curated list of resources that you can create
- Microsoft and 3rd party
- All creation is done by templates
- You can get these templates and pull them down (PowerShell)
- Can modify and use these default templates
New JSON editor in Visual Studio
- With intellisense