Learn Azure in a Month of Lunches
Iain Foulds
  • August 2018
  • ISBN 9781617295171
  • 384 pages
  • printed in black & white

A great way to understand the breadth of Azure offerings by following a concise, activity-focused approach.

Dave Corun, Avanade

You don't need to learn everything about Azure to do some incredible stuff. Learn Azure in a Month of Lunches gets you started by breaking down the most important concepts and tasks into 21 bite-sized lessons, complete with examples, exercises, and labs. You'll be productive immediately, and when you finish you'll be well on the way to Azure mastery!

Table of Contents detailed table of contents

Part 1: Azure core services

1 Before you begin

1.1 Is this book for you?

1.2 How to use this book

1.2.1 The main chapters

1.2.2 Try it now

1.2.3 Hands-on labs

1.2.4 Source code and supplementary materials

1.3 Creating your lab environment

1.3.1 Creating a free Azure account

1.3.2 Bonus lab exercise: Create a free GitHub account

1.4 A little helping hand

1.5 Understanding the Azure platform

1.5.1 Virtualization in Azure

1.5.2 Management tools

2 Creating a virtual machine

2.1 Creating a VM from your web browser

2.1.1 Azure storage

2.1.2 Basic settings, continued

2.1.3 VM sizes

2.1.4 Settings

2.2 Connecting to the VM, and installing the web server

2.2.1 Connecting to the VM with SSH

2.2.2 Installing the web server

2.3 Allowing web traffic to reach the VM

2.3.1 Creating a rule to allow web traffic

2.3.2 Viewing the web server in action

2.4 Lab: Creating a Windows VM

2.5 Cleaning up resources

2.6 Houston, we have a problem

3 Azure Web Apps

3.1 Azure Web Apps overview and concepts

3.1.1 Supported languages and environments

3.1.2 Staging different versions with deployment slots

3.2 Creating a web app

3.2.1 Creating a basic web app

3.2.2 Deploying a sample HTML site

3.3 Managing web apps

3.3.1 Viewing diagnostic logs

3.4 Lab: Creating and using a deployment slot

4 Introduction to Azure Storage

4.1 What’s so special about storage?

4.1.1 Table storage

4.1.2 Queue storage

4.1.3 Storage availability and redundancy

4.2 VM storage

4.2.1 Standard vs. premium storage

4.2.2 Temporary disks and data disks

4.2.3 Disk-caching options

4.3 Adding disks to a VM

4.4 Lab: Exploring Azure Storage

4.4.1 Developer-focused

4.4.2 VM-focused

5 Azure Networking basics

5.1 Virtual network components

5.1.1 Creating and using virtual networks and subnets

5.1.2 Virtual network interface cards

5.1.3 Public IP address and DNS resolution

5.2 Securing and controlling traffic with network security groups

5.2.1 Creating a network security group

5.2.2 Associating a network security group with a subnet

5.2.3 Creating network security group filtering rules

5.3 Building a sample web application with secure traffic

5.3.1 Creating remote access network connections

5.3.2 Creating VMs

5.3.3 Using the SSH agent to connect to your VMs

5.4 Lab: Installing and testing the LAMP web server

Part 2: High availability and scale

6 Azure Resource Manager

6.1 The Azure Resource Manager approach

6.1.1 Designing around the application lifecycle

6.1.2 Securing and controlling resources

6.1.3 Protecting resources with locks

6.1.4 Managing and grouping resources with tags

6.2 Azure Resource Manager templates

6.2.1 Creating and using templates

6.2.2 Creating multiples of a resource type

6.2.3 Tools to build your own templates

6.2.4 Storing and using templates

6.3 Lab: Deploying Azure resources from a template

7 High availability and redundancy

7.1 The need for redundancy

7.2 VM redundancy with availability sets

7.2.1 Fault domains

7.2.2 Update domains

7.2.3 Distributing VMs across an availability set

7.2.4 View distribution of VMs across an availability set

7.3 Infrastructure redundancy with availability zones

7.3.1 Creating network resources across an availability zone

7.3.2 Creating VMs in an availability zone

7.4 Lab: Deploying highly available VMs from a template

8 Load-balancing applications

8.1 Azure load-balancer components

8.1.1 Creating a frontend IP pool

8.1.2 Creating and configuring health probes

8.1.3 Defining traffic distribution with load-balancer rules

8.1.4 Routing direct traffic with Network Address Translation rules

8.1.5 Assigning groups of VMs to backend pools

8.2 Creating and configuring VMs with the load balancer

8.2.1 Connecting to VMs and seeing the load balancer in action

8.3 Lab: Viewing templates of existing deployments

9 Applications that scale

9.1 Why build scalable, reliable applications?

9.1.1 Scaling VMs vertically

9.1.2 Scaling web apps vertically

9.1.3 Scaling resources horizontally

9.2 Virtual machine scale sets

9.2.1 Creating a virtual machine scale set

9.2.2 Creating autoscale rules

9.3 Scaling a web app

9.4 Lab: Installing applications on your scale set or web app

9.4.1 Virtual machine scale sets

9.4.2 Web apps

10 Global databases with Cosmos DB

10.1 What is Cosmos DB?

10.1.1 Structured (SQL) databases

10.1.2 Unstructured (NoSQL) databases

10.1.3 Scaling databases

10.1.4 Bringing it all together with Cosmos DB

10.2 Creating a Cosmos DB account and database

10.2.1 Creating and populating a Cosmos DB database

10.2.2 Adding global redundancy to a Cosmos DB database

10.3 Accessing globally distributed data

10.4 Lab: Deploying a web app that uses Cosmos DB

11 Managing network traffic and routing

11.1 What is Azure DNS?

11.1.1 Delegating a real domain to Azure DNS

11.2 Global routing and resolution with Traffic Manager

11.2.1 Creating Traffic Manager profiles

11.2.2 Globally distributing traffic to the closest instance

11.3 Lab: Deploying web apps to see Traffic Manager in action

12 Monitoring and troubleshooting

12.1 VM boot diagnostics

12.2 Performance metrics and alerts

12.2.1 Viewing performance metrics with the VM diagnostics extension

12.2.2 Creating alerts for performance conditions

12.3 Azure Network Watcher

12.3.1 Verifying IP flows

12.3.2 Viewing effective NSG rules

12.3.3 Capturing network packets

12.4 Lab: Creating performance alerts

Part 3: Secure by default

13 Backup, recovery, and replication

13.1 Azure Backup

13.1.1 Policies and retention

13.1.2 Backup schedules

13.1.3 Restoring a VM

13.2 Azure Site Recovery

13.3 Lab: Configuring a VM for Site Recovery

14 Data encryption

14.1 What is data encryption?

14.2 Encryption at rest

14.3 Storage Service Encryption

14.4 VM encryption

14.4.1 Storing encryption keys in Azure Key Vault

14.4.2 Controlling access to vaults and keys with Azure Active Directory

14.4.3 Encrypting an Azure VM

14.5 Lab: Encrypting a VM

15 Securing information with Azure Key Vault

15.1 Securing information in the cloud

15.1.1 Software vaults and hardware security modules

15.1.2 Creating a key vault and secret

15.2 Managed service identities

15.2.1 Obtaining a secret from within a VM with managed service identity

15.3 Creating and injecting certificates

15.4 Lab: Configuring a secure web server

16 Azure Security Center and updates

16.1 Azure Security Center

16.2 Just-in-time access

16.3 Azure Update Management

16.3.1 Operations Management Suite

16.3.2 Reviewing and applying updates

16.4 Lab: Enabling JIT for a Windows VM

Part 4: The cool stuff

17 Machine learning and artificial intelligence

17.1 Overview and relationship of AI and ML

17.1.1 Artificial intelligence

17.1.2 Machine learning

17.1.3 Bringing AI and ML together

17.1.4 Azure ML tools for data scientists

17.2 Azure Cognitive Services

17.3 Building an intelligent bot to help with pizza orders

17.3.1 Creating an Azure web app bot

17.3.2 Language and understanding intent with LUIS

17.3.3 Building and running a web app bot with LUIS

17.4 Lab: Adding channels for bot communication

18 Azure Automation

18.1 What is Azure Automation?

18.1.1 Creating an Azure Automation account

18.1.2 Azure Automation assets and runbooks

18.2 Azure Automation sample runbook

18.2.1 Running and viewing output from a sample runbook

18.3 PowerShell Desired State Configuration (DSC)

18.3.1 Defining and using PowerShell DSC and an Azure Automation pull server

18.4 Lab: Using DSC with Linux

19 Azure containers

19.1 What are containers?

19.1.1 The microservices approach to applications

19.2 Azure Container Instances

19.2.1 Creating a single container instance

19.3 Azure Kubernetes Service

19.3.1 Creating a cluster with Azure Kubernetes Services

19.3.2 Running a basic website in Kubernetes

19.4 Lab: Scaling your Kubernetes deployments

20 Azure and the Internet of Things

20.1 What is the Internet of Things?

20.2 Centrally managing devices with Azure IoT Hub

20.2.1 Creating a simulated Raspberry Pi device

20.3 Streaming Azure IoT hub data into Azure web apps

20.3.1 Azure IoT component review

20.4 Lab: Exploring use cases for IoT

21 Serverless computing

21.1 What is serverless computing?

21.2 Azure messaging platforms

21.2.1 Azure Event Grid

21.2.2 Azure Event Hubs and Service Bus

21.2.3 Creating a service bus and integrating it with an IoT hub

21.3 Creating an Azure logic app

21.4 Creating an Azure function app to analyze IoT device data

21.5 Don’t stop learning

21.5.1 Additional learning materials

21.5.2 GitHub resources

21.5.3 One final thought

About the Technology

With hundreds of features and prebuilt services, the Microsoft Azure cloud platform is vast and powerful. To master it, you need a trustworthy guide. In this hands-on book, Microsoft engineer and Azure trainer Iain Foulds focuses on the core skills you need to create and maintain cloud-based applications.

About the book

Learn Azure in a Month of Lunches teaches you the foundational techniques for writing, deploying, and running cloud-based applications in Azure. In it, you’ll master the basics, including setting up cloud-based virtual machines, deploying web servers, and using hosted data stores. As you work through the book’s 21 carefully planned lessons, you’ll explore big-picture concerns like security, scaling, and automation.You’ll even dabble in Azure’s prebuilt services for machine containers, and serverless computing!

What's inside

  • Getting started, from your first login
  • Writing and deploying web servers
  • Securing your applications and data
  • Automating your environment
  • Azure services for machine learning, serverless computing, and more

About the reader

Readers should be able to write and deploy simple web or client/server applications.

About the author

Iain Foulds is an engineer and senior content developer with Microsoft. .

FREE domestic shipping on three or more pBooks

Excellent introduction to Azure with many hands-on examples. Covers a broad range of current topics.

Sven Stumpf, ING-DiBa

An incredible, information- packed book for learning both core and advanced Azure concepts in a month!

Sushil Sharma, Galvanize

Azure is like an ocean. This book keeps you afloat by providing a month of lessons rich in practice and examples.

Roman Levchenko, Microsoft MVP