About the Authors |
|
xvii | |
About the Technical Reviewers |
|
xix | |
Acknowledgments |
|
xxi | |
Introduction |
|
xxiii | |
|
Part I Introducing Microsoft Azure |
|
|
1 | (2) |
|
Chapter 1 Microsoft Azure and Cloud Computing |
|
|
3 | (1) |
|
Where Is Microsoft Azure Today? |
|
|
4 | (1) |
|
|
5 | (3) |
|
|
7 | (1) |
|
Microsoft Azure Subscriptions |
|
|
8 | (2) |
|
|
10 | (2) |
|
|
12 | (1) |
|
|
13 | (2) |
|
|
15 | (3) |
|
|
17 | (1) |
|
Previewing New Security Features |
|
|
18 | (1) |
|
|
18 | (2) |
|
|
20 | (1) |
|
Chapter 2 Overview of Azure Infrastructure as a Service (laaS) Services |
|
|
21 | (22) |
|
|
22 | (6) |
|
|
26 | (1) |
|
|
26 | (1) |
|
|
27 | (1) |
|
|
27 | (1) |
|
|
28 | (6) |
|
|
30 | (1) |
|
|
30 | (1) |
|
|
30 | (1) |
|
|
30 | (1) |
|
|
31 | (1) |
|
|
31 | (1) |
|
|
32 | (1) |
|
|
32 | (1) |
|
|
33 | (1) |
|
|
33 | (1) |
|
|
34 | (1) |
|
Azure Networking Services |
|
|
34 | (6) |
|
|
35 | (1) |
|
Azure Application Gateway and Web Application Firewall |
|
|
35 | (1) |
|
|
36 | (1) |
|
|
37 | (1) |
|
|
37 | (1) |
|
|
38 | (1) |
|
|
38 | (1) |
|
|
38 | (1) |
|
|
39 | (1) |
|
|
40 | (1) |
|
|
40 | (1) |
|
|
40 | (3) |
|
Chapter 3 Overview of Azure Platform as a Service |
|
|
43 | (14) |
|
|
43 | (2) |
|
|
45 | (1) |
|
|
46 | (1) |
|
|
47 | (2) |
|
|
49 | (3) |
|
|
52 | (1) |
|
|
52 | (2) |
|
|
54 | (3) |
|
Chapter 4 Azure AppDev Services Overview |
|
|
57 | (10) |
|
Azure Development and GitHub |
|
|
58 | (2) |
|
Azure Infrastructure as Code |
|
|
60 | (6) |
|
|
62 | (4) |
|
|
66 | (1) |
|
Chapter 5 Ethical Al, Azure Al, and Machine Learning |
|
|
67 | (18) |
|
|
68 | (3) |
|
Science Fiction and Reality: A Social Convergence |
|
|
68 | (1) |
|
|
69 | (1) |
|
|
70 | (1) |
|
Microsoft Cognitive Services |
|
|
71 | (9) |
|
|
71 | (1) |
|
|
72 | (3) |
|
|
75 | (2) |
|
Machine Reading Comprehension |
|
|
77 | (1) |
|
|
77 | (1) |
|
Text Analytics: Sentiment |
|
|
78 | (1) |
|
|
79 | (1) |
|
|
80 | (2) |
|
|
81 | (1) |
|
Machine Learning Studio (Classic) |
|
|
82 | (1) |
|
|
82 | (1) |
|
Use Cases for Azure Databricks |
|
|
83 | (1) |
|
Azure Data Science Virtual Machines |
|
|
83 | (1) |
|
|
84 | (1) |
|
Part II Planning and Adopting Azure |
|
|
85 | (2) |
|
Chapter 6 Budgeting and Cloud Economics |
|
|
87 | (1) |
|
Understanding Cloud Economics: CapEx vs. OpEx |
|
|
87 | (1) |
|
|
88 | (2) |
|
Forecasting and Other Cost-Saving Features |
|
|
90 | (8) |
|
|
93 | (1) |
|
|
94 | (3) |
|
|
97 | (1) |
|
Azure Cost Management + Billing |
|
|
98 | (2) |
|
|
100 | (1) |
|
Chapter 7 Designing a Hybrid Datacenter |
|
|
101 | (14) |
|
Networking Considerations |
|
|
102 | (2) |
|
|
104 | (2) |
|
|
104 | (1) |
|
Azure Virtual Network Service Endpoints |
|
|
105 | (1) |
|
Identity and Access Management |
|
|
106 | (3) |
|
|
109 | (4) |
|
|
113 | (2) |
|
Chapter 8 Tools and Training to Up-Skill Existing IT Teams |
|
|
115 | (20) |
|
|
115 | (5) |
|
|
120 | (7) |
|
|
127 | (1) |
|
Azure Resource Manager (ARM) and HashiCorp Terraform |
|
|
128 | (2) |
|
|
130 | (3) |
|
|
133 | (2) |
|
Part III Using Azure for Infrastructure as a Service (laaS) |
|
|
135 | (2) |
|
Chapter 9 Implementing Azure Networking |
|
|
137 | (1) |
|
|
138 | (2) |
|
|
140 | (2) |
|
|
142 | (2) |
|
|
146 | (1) |
|
|
147 | (2) |
|
|
149 | (1) |
|
|
149 | (1) |
|
ExpressRoute Global Reach |
|
|
150 | (1) |
|
Implementing ExpressRoute |
|
|
151 | (2) |
|
|
153 | (3) |
|
Implementing Network Security Groups |
|
|
156 | (2) |
|
Implementing Security and Monitoring for networks |
|
|
158 | (1) |
|
|
159 | (4) |
|
Network Performance Monitor |
|
|
160 | (3) |
|
|
163 | (2) |
|
Chapter 10 Virtual Machines |
|
|
165 | (36) |
|
Creating and Managing Virtual Machines |
|
|
165 | (23) |
|
Operating Systems (Windows, Linux) |
|
|
167 | (1) |
|
|
168 | (2) |
|
|
170 | (6) |
|
|
176 | (1) |
|
|
177 | (1) |
|
Monitoring the Health of Virtual Machines |
|
|
178 | (5) |
|
Securing Virtual Machines |
|
|
183 | (4) |
|
|
187 | (1) |
|
Improving VM Availability |
|
|
188 | (11) |
|
|
188 | (1) |
|
|
189 | (1) |
|
|
190 | (1) |
|
|
191 | (8) |
|
|
199 | (2) |
|
Chapter 11 Infrastructure as Code (laC) |
|
|
201 | (30) |
|
Overview of laC in Microsoft Azure |
|
|
202 | (1) |
|
Infrastructure as Code Example |
|
|
203 | (16) |
|
|
205 | (5) |
|
HashiCorp Terraform on Azure |
|
|
210 | (9) |
|
|
219 | (1) |
|
|
220 | (2) |
|
Lac Enhancement Considerations |
|
|
222 | (5) |
|
|
227 | (2) |
|
|
227 | (2) |
|
|
229 | (2) |
|
Part IV Adopting Platform as a Service (PaaS) |
|
|
231 | (1) |
|
Chapter 12 Azure Web Apps |
|
|
233 | (1) |
|
|
233 | (5) |
|
Hands-on: Deploying a Web App |
|
|
234 | (4) |
|
|
238 | (1) |
|
Content Management Systems on Web Apps |
|
|
238 | (3) |
|
|
241 | (7) |
|
Hands-on: Publishing to a Web App |
|
|
242 | (1) |
|
Hands-on: Adding a Custom Domain to a Web App |
|
|
242 | (3) |
|
Hands-on: Monitoring a Web App |
|
|
245 | (2) |
|
Hands-on: Self-Guided Exercises |
|
|
247 | (1) |
|
|
248 | (1) |
|
Chapter 13 Network Platform as a Service |
|
|
249 | (22) |
|
|
252 | (2) |
|
|
254 | (3) |
|
|
257 | (1) |
|
|
258 | (2) |
|
|
260 | (7) |
|
|
267 | (2) |
|
|
269 | (2) |
|
|
271 | (22) |
|
The Difference Between Azure Storage and Azure Databases |
|
|
271 | (1) |
|
Cloud Storage and Storage Accounts |
|
|
271 | (1) |
|
|
272 | (9) |
|
Hands-on: Deploying Azure Blob Storage |
|
|
274 | (4) |
|
Hands-on: Using Azure Blob Storage |
|
|
278 | (3) |
|
Next Steps: Azure Blob Storage |
|
|
281 | (1) |
|
Azure Data Lake Store (ADLS) |
|
|
281 | (1) |
|
|
282 | (6) |
|
|
283 | (3) |
|
Hands-on: Using Azure Tables |
|
|
286 | (1) |
|
|
287 | (1) |
|
|
288 | (1) |
|
Hands-on: Using Azure Files |
|
|
288 | (1) |
|
|
289 | (1) |
|
|
289 | (2) |
|
Hands-on: Using Azure Queues |
|
|
290 | (1) |
|
|
290 | (1) |
|
|
291 | (2) |
|
Part V Azure Data Services and Big Data |
|
|
293 | (2) |
|
Chapter 15 Azure Cognitive (COG) Services |
|
|
295 | (1) |
|
|
295 | (3) |
|
Quick Hands-on Introduction |
|
|
298 | (2) |
|
|
300 | (8) |
|
|
300 | (1) |
|
|
301 | (1) |
|
|
302 | (6) |
|
|
308 | (1) |
|
|
308 | (1) |
|
|
309 | (1) |
|
Hands-on Exercise Part 1: QnA Maker |
|
|
310 | (4) |
|
Hands-on Exercise Part 2: Deploying Bots to a Website |
|
|
314 | (9) |
|
|
323 | (2) |
|
Chapter 16 Machine Learning and Deep Learning |
|
|
325 | (44) |
|
Introduction to Machine Learning and Deep Learning |
|
|
325 | (10) |
|
|
329 | (2) |
|
|
331 | (2) |
|
|
333 | (2) |
|
|
335 | (1) |
|
|
335 | (10) |
|
Prerequisites for Becoming a Successful Data Scientist |
|
|
337 | (1) |
|
Overview of the Data Science Virtual Machine |
|
|
338 | (1) |
|
A Jupyter Notebook Overview |
|
|
339 | (1) |
|
Hands-on with the Data Science Virtual Machine |
|
|
340 | (5) |
|
Overview of Azure Machine Learning |
|
|
345 | (13) |
|
Hands-on with Azure Machine Learning: Training a Model |
|
|
347 | (7) |
|
Hands-on with Azure Machine Learning: Deploying a Model |
|
|
354 | (2) |
|
Use Case: Image Classification with a Deep Neural Network and Azure Machine Learning |
|
|
356 | (1) |
|
Hands-on with Azure Machine Learning and PyTorch |
|
|
357 | (1) |
|
Lot Devices and the Intelligent Edge |
|
|
358 | (3) |
|
Overview of Spark and Databricks |
|
|
361 | (7) |
|
Auto ML with Azure Databricks and Azure Machine Learning |
|
|
362 | (1) |
|
Hands-on with Azure Databricks and Auto ML |
|
|
363 | (5) |
|
Use Case: Azure Databricks for Data Scientists |
|
|
368 | (1) |
|
|
368 | (1) |
|
Chapter 17 Azure Data Services |
|
|
369 | (42) |
|
|
370 | (4) |
|
|
370 | (1) |
|
|
371 | (1) |
|
|
372 | (1) |
|
Data Platform as a Service |
|
|
373 | (1) |
|
|
374 | (1) |
|
|
375 | (24) |
|
Hands-on with Azure SQL Database |
|
|
376 | (8) |
|
Azure SQL Managed Instance |
|
|
384 | (1) |
|
|
385 | (1) |
|
Hands-on with Elastic Pools |
|
|
386 | (2) |
|
Hands-on Tuning and Monitoring Azure SQL Databases |
|
|
388 | (10) |
|
Next Steps: Self-Guided Assignment |
|
|
398 | (1) |
|
|
399 | (10) |
|
Use Cases for Azure Cosmos DB |
|
|
399 | (1) |
|
Hands-on: Deploying Azure Cosmos DB |
|
|
400 | (3) |
|
Hands-on: Using Azure Cosmos DB to Store Bot Conversation History |
|
|
403 | (6) |
|
|
409 | (2) |
|
Part VI Azure Services for Application Developers |
|
|
411 | (1) |
|
Chapter 18 Migrating On-Premises Databases to Azure |
|
|
413 | (1) |
|
Data Migration Assistant (DMA) |
|
|
414 | (1) |
|
Hands-on: Setting up a Lab |
|
|
414 | (1) |
|
Hands-on: Using the Data Migration Assistant for Assessment |
|
|
415 | (3) |
|
Hands-on: Reading the Assessment Reports from the Data Migration Assistant |
|
|
418 | (1) |
|
|
418 | (3) |
|
Hands-on: Uploading an Assessment Report to Azure Migrate |
|
|
421 | (1) |
|
Hands-on: Migrate Database Using Data Migration Assistant |
|
|
421 | (5) |
|
Azure Database Migration Service (DMS) |
|
|
426 | (6) |
|
Hands-on: Deploying Azure Database Migration Service |
|
|
427 | (1) |
|
Hands-on: Using Azure Database Migration Service |
|
|
428 | (4) |
|
|
432 | (1) |
|
Chapter 19 Data Engineering and the Modern Data Estate |
|
|
433 | (28) |
|
|
433 | (2) |
|
|
434 | (1) |
|
Modern Data Warehouse: ELT vs. ETL |
|
|
434 | (1) |
|
Modern Storage and Big Data |
|
|
435 | (1) |
|
Modern Data Platform Strategies |
|
|
435 | (1) |
|
|
436 | (20) |
|
Hands-on: Installing Azure Data Factory |
|
|
436 | (1) |
|
Hands-on: Exploring Azure Data Factory |
|
|
437 | (11) |
|
Hands-on: Creating a Copy Data Pipeline |
|
|
448 | (2) |
|
|
450 | (1) |
|
Hands-on: Multiple Activities in a Pipeline |
|
|
451 | (5) |
|
Accessing On-Premises Data Sources |
|
|
456 | (3) |
|
The Architecture of the Self-Hosted Integration Runtime |
|
|
456 | (1) |
|
Installing and Configuring the Self-Hosted Integration Runtime |
|
|
457 | (2) |
|
|
459 | (2) |
|
Part VII Intelligent Cloud, Machine Learning, and Artificial Intelligence |
|
|
461 | (2) |
|
Chapter 20 Developing and Deploying Azure-based Applications |
|
|
463 | (1) |
|
|
463 | (1) |
|
Trends in Cloud-based Application Development |
|
|
464 | (1) |
|
Platform as a Service (PaaS) |
|
|
464 | (8) |
|
|
465 | (1) |
|
Hands-on with Slots on Azure Web Apps |
|
|
465 | (7) |
|
|
472 | (15) |
|
|
474 | (1) |
|
Hands-on with Docker Images and the Azure Container Registry |
|
|
474 | (4) |
|
Hands-on with Azure Kubernetes Service (AKS) |
|
|
478 | (9) |
|
Troubleshooting and Monitoring AKS |
|
|
487 | (5) |
|
Hands-on Monitoring and Troubleshooting AKS |
|
|
487 | (5) |
|
|
492 | (1) |
|
Chapter 21 Continuous Integration/Continuous Delivery with Azure DevOps |
|
|
493 | (28) |
|
|
494 | (1) |
|
|
494 | (2) |
|
Predictability and Repeatability |
|
|
495 | (1) |
|
Agile Deployment and Continuous Improvement |
|
|
495 | (1) |
|
Planning, Collaboration, and Workflow |
|
|
495 | (1) |
|
Provisioning Azure DevOps |
|
|
496 | (1) |
|
|
497 | (14) |
|
Hands-on with Azure Repos |
|
|
498 | (4) |
|
|
502 | (7) |
|
Hands-on with Azure Repos: Adding an Existing Project to Azure Repos |
|
|
509 | (2) |
|
|
511 | (7) |
|
|
512 | (1) |
|
Hands-on with Azure Pipelines: CI/CD |
|
|
513 | (5) |
|
|
518 | (3) |
Index |
|
521 | |