Book Image

Azure for Architects - Third Edition

By : Ritesh Modi, Jack Lee, Rithin Skaria
Book Image

Azure for Architects - Third Edition

By: Ritesh Modi, Jack Lee, Rithin Skaria

Overview of this book

Thanks to its support for high availability, scalability, security, performance, and disaster recovery, Azure has been widely adopted to create and deploy different types of application with ease. Updated for the latest developments, this third edition of Azure for Architects helps you get to grips with the core concepts of designing serverless architecture, including containers, Kubernetes deployments, and big data solutions. You'll learn how to architect solutions such as serverless functions, you'll discover deployment patterns for containers and Kubernetes, and you'll explore large-scale big data processing using Spark and Databricks. As you advance, you'll implement DevOps using Azure DevOps, work with intelligent solutions using Azure Cognitive Services, and integrate security, high availability, and scalability into each solution. Finally, you'll delve into Azure security concepts such as OAuth, OpenConnect, and managed identities. By the end of this book, you'll have gained the confidence to design intelligent Azure solutions based on containers and serverless functions.
Table of Contents (21 chapters)
20
Index

Understanding copy and copyIndex

There are many times when multiple instances of a particular resource or a group of resources are needed. For example, you may need to provision 10 virtual machines of the same type. In such cases, it is not prudent to deploy templates 10 times to create these instances. A better alternate approach is to use the copy and copyIndex features of ARM templates.

copy is an attribute of every resource definition. This means it can be used to create multiple instances of any resource type.

Let's understand this with the help of an example of creating multiple storage accounts within a single ARM template deployment.

The next code snippet creates 10 storage accounts serially. They could have been created in parallel by using Parallel instead of Serial for the mode property:

"resources": [
      {
          "apiVersion": "2019-06-01&quot...