Book Image

Hands-On Cloud Solutions with Azure

By : Greg Leonardo
Book Image

Hands-On Cloud Solutions with Azure

By: Greg Leonardo

Overview of this book

Azure provides cloud-based solutions to support your business demands. Building and running solutions on Azure will help your business maximize the return on investment and minimize the total cost of ownership. Hands-On Cloud Solutions with Azure focuses on addressing the architectural decisions that usually arise when you design or migrate a solution to Microsoft Azure. You will start by designing the building blocks of infrastructure solution on Azure, such as Azure compute, storage, and networking, followed by exploring the database options it offers. You will get to grips with designing scalable web and mobile solutions and understand where to host your Active Directory and Identity Solution. Moving on, you’ll learn how to extend DevOps to Azure. You will also beneft from some exciting services that enable extremely smooth operations and streamlined DevOps between on-premises and cloud. The book will help you to design a secure environment for your solution, on both the Cloud and hybrid. Toward the end, you’ll see how to manage and monitor cloud and hybrid solutions. By the end of this book, you will be armed with all the tools and knowledge you need to properly plan and design your solutions on Azure, whether it’s for a brand new project or migration project.
Table of Contents (16 chapters)
Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
Index

Infrastructure as Code


Now let's review what we have learned. An ARM template has a simple structure like the following:

{
  "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "",
  "parameters": {  },
  "variables": {  },
  "functions": {  },
  "resources": [  ],
  "outputs": {  }
}

Expressions are written in JSON strings with brackets to start and end, and these expressions are evaluated when deployed.  These are basically like JavaScript functions and are formatted like functionname (arg1,arg2,etc); let’s look at an example. You can develop a deeper understanding at https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-templates-variables:

"variables": {
    "appServiceName": "[concat(toLower(parameters('appServiceNamePrefix')), uniqueString(resourceGroup().id))]"
}

What we are doing here is setting a variable name, appServiceName, which is a concatenation of a parameter name and the resource group ID to...