SlideShare a Scribd company logo
1 of 14
Azure and DevOps: ARM & ARM
Boston Azure User Group – Nov. 14, 2017
Jim O’Neil
Senior Architect, BlueMetal
Azure MVP
DEFINITIONS
Azure
1. the blue color of the clear sky1
2. the unclouded sky1
3. Microsoft’s public cloud
1 Merriam-Webster.com
DEFINITIONS
DevOps
1. a portmanteau
2. a type of agile relationship between
development and IT Operations 2
3. a practice that everyone thinks everyone else
is doing
2 https://www.webopedia.com/TERM/D/devops_development_operations.html
DEFINITIONS
ARM
1. Azure Resource Management
2. Attract, Retain, and Motivate3
3. Anxiety Reaction, Mild3
3 http://www.abbreviations.com
IF JOHN DONNE WERE ALIVE TODAY
“No service is an island,
entire of itself”
WHY ARE DEVOPS IMPORTANT FOR THE CLOUD?
Modern applications are:
• Agile
• Composed vs. Monolithic
• Dynamically scalable
• Available 24x7
LIKE THIS…
Deployment (“Infrastructure as Code”)
Templates
Parameter File
Organization
Resource Provider
Resource Group
Governance
RBAC
Policies
Tags
Key ARM Components
{
"$schema":
"https://schema.management.azure.com/schemas/2015-01-
01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters" : {},
"variables" : {},
"resources" : [],
"outputs" : {}
}
ARM Template Structure
{
"apiVersion": “2015-08-01",
"name": "[variables('webSiteName')]",
"type": "Microsoft.Web/sites",
"location": "[resourceGroup().location]",
“comments": “This is the primary website”,
"tags": { },
"dependsOn": [
"[resourceId('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]"
],
"properties": {
"name": "[variables('webSiteName')]",
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]"
}
}
ARM Resource Sample
LET’S TINKER
Nested resources
Linked templates
Incremental vs. Complete
Condition element
Copy element
SecureString/SecureObject
Service Principal Account
STUFF WE MIGHT NOT HAVE TALKED ABOUT
• Not everything is template-able or consistent
• Use JSONLint
• Use objects as parameters for services (vs. scalars)
• Use outputs to pass on value for additional processing
• Pay attention to API Version in samples
• Be cognizant of dependencies (“dependsOn”)
• For debugging
• Test-AzureRMResourceGroupDeployment cmdlet
• Set $VerbosePreference = “continue”
• Add resources created to output section
Tips and Tricks
• REST API: https://docs.microsoft.com/en-us/rest/api/resources/
• Resource Manager Schemas: https://github.com/Azure/azure-
resource-manager-schemas
• Quickstart Templates: https://azure.microsoft.com/en-
us/resources/templates/
• Quickstart Templates (GitHub): https://github.com/Azure/azure-
quickstart-templates
• Template Functions: https://docs.microsoft.com/en-us/azure/azure-
resource-manager/resource-group-template-functions
• Resource Explorer: https://resources.azure.com
• Template Building Blocks (P&P): https://github.com/mspnp/template-
building-blocks/wiki
Key Resources

More Related Content

Similar to Azure and DevOps: ARM & ARM

Similar to Azure and DevOps: ARM & ARM (20)

Containerizing couchbase with microservice architecture on mesosphere.pptx
Containerizing couchbase with microservice architecture on mesosphere.pptxContainerizing couchbase with microservice architecture on mesosphere.pptx
Containerizing couchbase with microservice architecture on mesosphere.pptx
 
Towards CloudML, a Model-Based Approach to Provision Resources in the Clouds
Towards CloudML, a Model-Based Approach  to Provision Resources in the CloudsTowards CloudML, a Model-Based Approach  to Provision Resources in the Clouds
Towards CloudML, a Model-Based Approach to Provision Resources in the Clouds
 
apidays LIVE LONDON - A Decentralized Reference Architecture for Cloud-native...
apidays LIVE LONDON - A Decentralized Reference Architecture for Cloud-native...apidays LIVE LONDON - A Decentralized Reference Architecture for Cloud-native...
apidays LIVE LONDON - A Decentralized Reference Architecture for Cloud-native...
 
MicroServices on Azure
MicroServices on AzureMicroServices on Azure
MicroServices on Azure
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdf
 
Intro to Cloud Native _ v1.0en (2021/01)
Intro to Cloud Native _ v1.0en (2021/01)Intro to Cloud Native _ v1.0en (2021/01)
Intro to Cloud Native _ v1.0en (2021/01)
 
Future of Open Source in a Cloudy World
Future of Open Source in a Cloudy WorldFuture of Open Source in a Cloudy World
Future of Open Source in a Cloudy World
 
Microservice pitfalls
Microservice pitfalls Microservice pitfalls
Microservice pitfalls
 
Java EE Modernization with Mesosphere DCOS
Java EE Modernization with Mesosphere DCOSJava EE Modernization with Mesosphere DCOS
Java EE Modernization with Mesosphere DCOS
 
Distributed computation
Distributed computationDistributed computation
Distributed computation
 
Explaining The Cloud
Explaining The CloudExplaining The Cloud
Explaining The Cloud
 
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
 
Refreshing Domain Driven Design
Refreshing Domain Driven DesignRefreshing Domain Driven Design
Refreshing Domain Driven Design
 
Software Defined Networking: The OpenDaylight Project
Software Defined Networking: The OpenDaylight ProjectSoftware Defined Networking: The OpenDaylight Project
Software Defined Networking: The OpenDaylight Project
 
Webinar: What's New in DC/OS 1.11
Webinar: What's New in DC/OS 1.11Webinar: What's New in DC/OS 1.11
Webinar: What's New in DC/OS 1.11
 
Doing Dropbox the Native Cloud Native Way
Doing Dropbox the Native Cloud Native WayDoing Dropbox the Native Cloud Native Way
Doing Dropbox the Native Cloud Native Way
 
HOW TO CHOOSE THE BEST FRAMEWORK FOR YOUR WEB DEVELOPMENT
HOW TO CHOOSE THE BEST FRAMEWORK FOR YOUR WEB DEVELOPMENTHOW TO CHOOSE THE BEST FRAMEWORK FOR YOUR WEB DEVELOPMENT
HOW TO CHOOSE THE BEST FRAMEWORK FOR YOUR WEB DEVELOPMENT
 
apidays LIVE New York_A Decentralized Reference Architecture for Cloud-native...
apidays LIVE New York_A Decentralized Reference Architecture for Cloud-native...apidays LIVE New York_A Decentralized Reference Architecture for Cloud-native...
apidays LIVE New York_A Decentralized Reference Architecture for Cloud-native...
 
A Decentralized Reference Architecture for Cloud-native Applications
A Decentralized Reference Architecture for Cloud-native Applications A Decentralized Reference Architecture for Cloud-native Applications
A Decentralized Reference Architecture for Cloud-native Applications
 

More from Jim O'Neil

More from Jim O'Neil (12)

Weka Health Vaccine Smart Fridge
Weka Health Vaccine Smart FridgeWeka Health Vaccine Smart Fridge
Weka Health Vaccine Smart Fridge
 
Go Serverless with Azure Functions
Go Serverless with Azure FunctionsGo Serverless with Azure Functions
Go Serverless with Azure Functions
 
Windows 8.1 Themes
Windows 8.1 ThemesWindows 8.1 Themes
Windows 8.1 Themes
 
Windows Azure Cloud Services
Windows Azure Cloud ServicesWindows Azure Cloud Services
Windows Azure Cloud Services
 
Windows Azure Overview
Windows Azure OverviewWindows Azure Overview
Windows Azure Overview
 
Windows 8 App and Game Development Landscape
Windows 8 App and Game Development LandscapeWindows 8 App and Game Development Landscape
Windows 8 App and Game Development Landscape
 
MongoDB and Windows Azure
MongoDB and Windows AzureMongoDB and Windows Azure
MongoDB and Windows Azure
 
Azure overview
Azure overviewAzure overview
Azure overview
 
Hadoop in the Cloud
Hadoop in the CloudHadoop in the Cloud
Hadoop in the Cloud
 
The PaaS Landscape
The PaaS LandscapeThe PaaS Landscape
The PaaS Landscape
 
Sampling from the Cloud Smorgasbord
Sampling from the Cloud SmorgasbordSampling from the Cloud Smorgasbord
Sampling from the Cloud Smorgasbord
 
Drupal and Microsoft
Drupal and MicrosoftDrupal and Microsoft
Drupal and Microsoft
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
🐬 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]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

Azure and DevOps: ARM & ARM

  • 1. Azure and DevOps: ARM & ARM Boston Azure User Group – Nov. 14, 2017 Jim O’Neil Senior Architect, BlueMetal Azure MVP
  • 2. DEFINITIONS Azure 1. the blue color of the clear sky1 2. the unclouded sky1 3. Microsoft’s public cloud 1 Merriam-Webster.com
  • 3. DEFINITIONS DevOps 1. a portmanteau 2. a type of agile relationship between development and IT Operations 2 3. a practice that everyone thinks everyone else is doing 2 https://www.webopedia.com/TERM/D/devops_development_operations.html
  • 4. DEFINITIONS ARM 1. Azure Resource Management 2. Attract, Retain, and Motivate3 3. Anxiety Reaction, Mild3 3 http://www.abbreviations.com
  • 5. IF JOHN DONNE WERE ALIVE TODAY “No service is an island, entire of itself”
  • 6. WHY ARE DEVOPS IMPORTANT FOR THE CLOUD? Modern applications are: • Agile • Composed vs. Monolithic • Dynamically scalable • Available 24x7
  • 8. Deployment (“Infrastructure as Code”) Templates Parameter File Organization Resource Provider Resource Group Governance RBAC Policies Tags Key ARM Components
  • 10. { "apiVersion": “2015-08-01", "name": "[variables('webSiteName')]", "type": "Microsoft.Web/sites", "location": "[resourceGroup().location]", “comments": “This is the primary website”, "tags": { }, "dependsOn": [ "[resourceId('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]" ], "properties": { "name": "[variables('webSiteName')]", "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]" } } ARM Resource Sample
  • 12. Nested resources Linked templates Incremental vs. Complete Condition element Copy element SecureString/SecureObject Service Principal Account STUFF WE MIGHT NOT HAVE TALKED ABOUT
  • 13. • Not everything is template-able or consistent • Use JSONLint • Use objects as parameters for services (vs. scalars) • Use outputs to pass on value for additional processing • Pay attention to API Version in samples • Be cognizant of dependencies (“dependsOn”) • For debugging • Test-AzureRMResourceGroupDeployment cmdlet • Set $VerbosePreference = “continue” • Add resources created to output section Tips and Tricks
  • 14. • REST API: https://docs.microsoft.com/en-us/rest/api/resources/ • Resource Manager Schemas: https://github.com/Azure/azure- resource-manager-schemas • Quickstart Templates: https://azure.microsoft.com/en- us/resources/templates/ • Quickstart Templates (GitHub): https://github.com/Azure/azure- quickstart-templates • Template Functions: https://docs.microsoft.com/en-us/azure/azure- resource-manager/resource-group-template-functions • Resource Explorer: https://resources.azure.com • Template Building Blocks (P&P): https://github.com/mspnp/template- building-blocks/wiki Key Resources