Introduction 1
About This Book 1
Foolish Assumptions 2
Icons Used in This Book 3
Beyond the Book 4
Where to Go from Here 4
Part 1: Getting Started with Microsoft Azure 5
Chapter 1: Introducing Microsoft Azure 7
What Is Cloud Computing? 7
NIST definition 9
Cloud computing benefits 10
Economies of scale 11
Understanding Cloud Computing Models 11
Deployment models 12
Service delivery models 14
Introducing Microsoft Azure Services 17
Azure history 17
PaaS products 19
Starting Your First Azure Subscription 20
Understanding subscription types 20
Creating a free Azure account 22
Viewing subscription details 24
Chapter 2: Exploring Azure Resource Manager 27
Introducing Azure Resource Manager 27
REST APIs 28
Resource providers 28
JSON 30
ARM management scopes 31
Getting Familiar with Azure Regions 33
Availability zones 33
Geographies 34
Special regions 34
Paired regions 35
Feature availability 36
Introducing the Azure Management Tools 36
Azure portal 36
Azure PowerShell 38
Azure CLI/Azure Cloud Shell 39
Azure SDKs 41
ARM REST API 42
Part 2: Deploying Compute Resources to Microsoft Azure 45
Chapter 3: Managing Storage in Azure 47
Understanding Azure Storage Data Types 47
Unstructured data 48
Semistructured data 48
Structured data 48
Working with a Storage Account 49
Creating a storage account 49
Using the blob service 54
Understanding the file, table, and queue services 59
Introducing Azure Disk Storage 61
Chapter 4: Planning Your Virtual Network Topology 65
Understanding Virtual Network Components 66
Address space 66
Subnets 66
Creating a Virtual Network 68
Deploying with the Azure portal 68
Deploying with PowerShell 71
Configuring Virtual Networks 73
Deciding on a name resolution strategy 73
Configuring network security groups 74
Understanding service endpoints 78
Connecting Virtual Networks 81
Configuring VNet peering 81
Understanding service chaining 82
Chapter 5: Deploying and Configuring Azure Virtual Machines 87
Planning Your VM Deployment 88
Understanding VMs 88
Starting your VM deployment from the Azure Marketplace 89
Starting your VM deployment from your on-premises environment 89
Recognizing Azure VM Components 91
Compute 92
Storage 93
Network 93
Architectural Considerations 94
High availability 94
Scalability 95
Deploying Azure VMs from the Azure Marketplace 96
Deploying a Linux VM 96
Deploying a Windows Server VM 99
Configuring Your VMs 106
Starting, Stopping, and Resizing VMs 108
Extending your VM’s capabilities 111
Chapter 6: Shipping Docker Containers in Azure 115
Understanding Docker 116
Using Docker containers 117
Setting up Docker on your workstation 117
Running containers in Azure 120
Implementing Azure Container Instances 122
Deploying an Azure container instance 123
Verifying and disposing of the container instance 124
Storing Images in Azure Container Registry 126
Deploying a container registry 126
Pushing an image to a new container registry 127
Pulling the repository image via ACI 128
Introducing Azure Kubernetes Service 131
AKS architecture 131
AKS administration notes 132
Using Containers with Azure App Service 133
Part 3: Deploying Platform Resources to Microsoft Azure 137
Chapter 7: Deploying and Configuring Azure App Service Apps 139
Introducing Azure App Service 140
Web apps 141
API apps 141
Mobile apps 141
Logic apps 141
Function apps 141
App Service logical components 142
Deploying Your First Web App 144
Deploying from the Azure portal 144
Configuring Git 145
Connecting to a web app from Visual Studio 147
Deploying from Visual Studio 153
Understanding deployment slots 155
Configuring a Web App 157
Customizing app settings 158
Adding a custom domain 158
Binding a TLS/SSL certificate 160
Configuring autoscaling 161
Monitoring a Web App 163
Adding the Application Insights resource 164
Enabling instrumentation in a web app 165
Viewing Application Insights telemetry data 165
Chapter 8: Running Serverless Apps in Azure 167
Defining Serverless 167
Getting to know Azure Functions apps 168
Getting to know Azure Logic Apps 168
Understanding triggers, events, and actions 170
Working with Azure Functions 171
Creating an Azure Function 171
Configuring Function App settings 177
Building Workflows with Azure Logic Apps 179
Creating an Azure Logic App 179
Deploying the resource in the Azure portal 180
Defining the workflow 180
Testing the trigger and action 183
Chapter 9: Managing Databases in Microsoft Azure 185
Revisiting the IaaS versus PaaS Question 185
Controlling the environment 186
Running any version of any database 186
Using preinstalled VMs from Azure Marketplace 186
Comparing Relational and Nonrelational Databases in Azure 187
SQL Database 188
SQL Database for MySQL Servers 189
Azure Database for MariaDB Servers 189
Azure Database for PostgreSQL Servers 189
Implementing SQL Database 190
Understanding service tiers 190
Deploying an SQL Database virtual server 191
Deploying SQL Database 192
Table of Contents ix
Configuring the database 194
Inspecting the virtual server 198
Connecting to the database 199
Implementing Azure Cosmos DB 200
Understanding Cosmos DB 201
Creating a Cosmos DB account 202
Running and debugging a sample Cosmos DB application 203
Interacting with Cosmos DB 204
Part 4: Providing High Availability, Scalability, and Security for Your Azure Resources 209
Chapter 10: Backing Up and Restoring Your Azure Data 211
Protecting Your Storage Account’s Blob Data 212
Backing up and restoring individual storage blobs 212
Backing up storage blobs in bulk 216
Protecting Your Virtual Machines 217
Getting to know the Recovery Services vault 217
Backing up VMs 219
Restoring VMs 221
Protecting Your App Services 223
Backing up App Service apps 223
Restoring App Service apps 224
Protecting Your Databases 225
Backing up and restoring SQL Database 225
Backing up and restoring Cosmos DB 227
Chapter 11: Managing Identity and Access with Azure Active Directory 229
Understanding Active Directory 230
AD versus AD DS 231
Relationship between subscriptions and AD tenants 231
Creating Users and Groups 234
Adding a domain to your directory 234
Understanding AD user and group types 235
Creating an AD group 237
Creating an Azure AD user 238
Working with Azure AD user accounts 238
Configuring Role-Based Access Control (RBAC) 242
Implementing built-in RBAC roles 243
Adding an account to an Azure AD role 245
Touring Azure Advisor 247
Chapter 12: Implementing Azure Governance 251
Implementing Taxonomic Tags 251
Applying tags to resource groups and resources 252
Reporting via tags 257
Implementing Azure Policy 259
Policy definition structure 259
Policy life cycle 261
Part 5: Migrating to Microsoft Azure and Monitoring Your Infrastructure 267
Chapter 13: Extending Your On-Premises Environment to Azure 269
Data Migration Options 269
Blob copy 270
Azure Data Box 271
Azure Migrate: Database Assessment 272
Server Migration Options 277
VHD upload 277
Azure Migrate: Server Assessment 279
Azure Migrate: Server Migration 281
Hybrid Cloud Options 281
S2S VPN 282
ExpressRoute 286
Introducing Azure Arc 288
The Arc use case 288
Arc family members 289
Preparing your environment 289
Adding a Windows Server system to Arc 290
Adding a Linux system to Arc 294
Managing local systems with Arc 295
Chapter 14: Monitoring Your Azure Environment 301
Azure Monitor 302
Enabling diagnostic logging 302
Plotting resource metrics and raising alerts 310
Azure Log Analytics 316
Creating a Log Analytics workspace 316
Connecting data sources to the workspace 317
Writing KQL queries 319
Part 6: The Part Of Tens 323
Chapter 15: Top Ten Azure News Resources 325
Azure Status 325
Azure Blog 326
Azure Updates 326
Azure.Source 327
Build5Nines Weekly 327
Azure Weekly (Endjin) 327
Azure Official YouTube Channel 328
Channel 9: Azure Friday 328
Azure Feedback 328
Tim’s Twitter Feed 329
Chapter 16: Top Ten Azure Educational Resources 331
Azure Documentation 331
Azure Architecture Center 332
Azure REST API Browser 333
Microsoft @ edX 333
Microsoft Learn 334
Azure Certification 334
MeasureUp 335
Meetup 336
CloudSkills 337
Pluralsight 337
Index 339