Zen of Cloud: Learning Cloud Computing by Examples on Microsoft Azure, 1st Edition (Paperback) book cover

Zen of Cloud

Learning Cloud Computing by Examples on Microsoft Azure, 1st Edition

By Haishi Bai

CRC Press

507 pages | 457 B/W Illus.

Purchasing Options:$ = USD
Paperback: 9781482215809
pub: 2014-08-12
SAVE ~$15.19
Hardback: 9781138455528
pub: 2017-08-02
SAVE ~$41.00
eBook (VitalSource) : 9780429161681
pub: 2014-08-12
from $36.48

FREE Standard Shipping!


Zen of Cloud: Learning Cloud Computing by Examples on Microsoft Azure provides comprehensive coverage of the essential theories behind cloud computing and the Windows Azure cloud platform. Sharing the author’s insights gained while working at Microsoft’s headquarters, it presents nearly 70 end-to-end examples with step-by-step guidance on implementing typical cloud-based scenarios.

The book is organized into four sections: cloud service fundamentals, cloud solutions, devices and cloud, and system integration and project management. Each chapter contains detailed exercises that provide readers with the opportunity to develop valuable hands-on skills in cloud service development.

  • Explains how to prepare for Microsoft Azure development and how to use Microsoft Azure Management Portal
  • Provides best practices for designing cloud-based applications
  • Includes online access to updated examples and answers to the exercises

Beginners can use this book as a guide in their journey through cloud computing. Experienced cloud developers will benefit from the specific examples and detailed guidance on implementing typical cloud-based scenarios. The examples cover a range of application types and technologies with varying levels of difficulties.

Supplying comprehensive coverage of the Windows Azure cloud platform, the book provides a practical understanding and powerful tips that readers can immediately apply to their own work—making it ideal for cloud system developers, architects, and IT professionals. Organized into easily digestible sessions, it is also ideal for use in instructional settings.


This book by Haishi Bai provides a detailed introduction to cloud computing, in general, and to Microsoft Azure, in particular. Haishi Bai has had an extensive and successful career in information systems, which brought him from the Northeast of China to Beijing and then finally to Silicon Valley and to the Microsoft Head Office in Redmond as a Microsoft Azure evangelist. His experience in the rise and fall of e-business, boom of social networks, and rise of cloud computing provides him a deep understanding of the pros and cons in cloud computing.

This book explains the various concepts of Azure in a logical and clear manner. … The book consists of 69 complete end-to-end examples that provide step-by-step guidance on implementing typical cloud-based scenarios. The examples cover a wide range of application types and technologies with different levels of difficulties. … The book also provides practical tips and tricks that you can apply to your own work.

—Pierre Masai, CIO of Toyota Motor Europe

Table of Contents


Overview of Cloud Computing


Essence of Cloud Computing


On and Off Mode

Rapid-Growth Mode


Fault Domain

Update Domain


Microsoft Azure Overview

IaaS (Infrastructure as a Service)

PaaS (Platform as a Service)

SaaS (Software as a Service)

Cost Calculation

Preparing the Development Environment for Microsoft Azure

Subscribe to Microsoft Azure

Install Software Development Kit

Introduction of Microsoft Azure Management Portal

Sign In

Page Layout


Building Websites on the Cloud

Microsoft Azure Websites

Website Deployment and Upgrade

Integration with Source Control Systems

Scaling of Websites

Vertical Scaling

Horizontal Scaling


Migrating Existing ASP.NET Website

Azure Websites Runtime Environment

Data Storage

Session States

Website Gallery

Website Configuration

Website Diagnostics and Monitoring

Website Diagnostics

Website Monitoring

Custom Domain Names


Cloud Service Fundamentals

Microsoft Azure Cloud Services

Cloud Services and Roles


Cloud Service

Basic Steps of Cloud Service Deployment

Cloud Service Deployments and Upgrades

Incremental Updates (Update Domain Walk)

Simultaneous Updates

Multiple Deployment Environments

Instances and Load Balancing


Load Balancing

Configuration File and Definition File

Cloud Service Definition File (.csdef)

Cloud Service Configuration File (.cscfg)


Advanced Cloud Service

Endpoint Types

Input Endpoint

Internal Endpoint

InstanceInput Endpoint

Worker Role

Worker Role Application Scenarios

Inter-Role Communications

Options for Inter-Role Communication

Role Lifecycle

Process of Deploying and Launching a Role Instance

Role Instance Statuses

Startup Tasks

Defining Startup Tasks

Startup Task Properties

Diagnostics and Debug

Debugging Locally

Microsoft Azure Diagnostics


Monitoring Cloud Service

Developer Community


Data Storage: Relational Database

Microsoft Azure Data Storage Solutions

SQL Database Overview

Differences between an SQL Database and an SQL Server

SQL Database Management and Optimization

SQL Server Management Studio

Microsoft SQL Server Data Tools

Dynamic Management Views

Query Optimization

Data Sync and Migration

Data-Tier Application

Data Sync

Periodically Backup Your SQL Databases

Use MySQL Database

Microsoft Azure Store

Purchasing MySQL Service

Other Means to Run MySQL


Data Storage: Storage Services

Local Storage

Overview of Microsoft Azure Storage Services

Microsoft Azure Storage Account

Provisioning a Windows Storage Account

Storage Account Access Keys

Using BLOB Storage

Blob Storage Overview

Block BLOB and Page BLOB

ETag and Snapshots


Shared Access Signature and Stored Access Policies

BLOB Update, Copy, and Lease

Error Handling

Using Table Storage

Table Storage Overview

Optimizing Data Partition

Query Table Data

Other Operations

Batch Operations

Dynamic Table Entities

Shared Access Signatures

Use Queue Storage

Queue Storage Overview

Programmatically Operate Queues

Monitor Storage Accounts

Configure Storage Service Monitoring

Cost of Service Monitoring


Virtual Machines and Virtual Networks

Microsoft Azure IaaS

Disk Images and Virtual Disks

Virtual Machine Communications

Virtual Machine Endpoints

Virtual Machines under the Same Cloud Service

Virtual Networks

Virtual Networks Overview

Point-to-Site Virtual Network

Site-to-Site Virtual Network




Cloud Solution Architecture


Characteristics of Client/Server Architecture



Client/Server Architecture on Cloud

Multitenant System Design

Migrating Client/Server Systems to Cloud

Client/Server Systems on Microsoft Azure

Mobile Clients


Characteristics of Browser/Server Architecture

Browser/Server Architecture on Cloud

Difficulties of Adapting an Existing Single-Tenant Browser/Server Application for Multitenancy

Host Single-Tenant Systems on Microsoft Azure for Multiple Tenants

n-Tiered Architecture

Characteristics of n-Tiered Architecture

n-Tier, MVC, and MVVM

Microsoft Azure Service Bus Queue

Implementing n-Tiered Services on Microsoft Azure

Distributed System

Message-Based Connections

Relayed Connections


High-Availability Design


High-Availability Techniques


Load Balancing


Load Balancing and Health Probe

Competing Consumers

Loose Coupling

Dynamic Load Balancing

Dynamic Scaling


Case Study: High-Availability Service Bus Entities


Segmented Message Pipelines

Paired Namespaces



High-Reliability Design

Reliability, Availability, and Maintainability



Relationships between Availability, Reliability, and Maintainability

Embracing Failures

Failures in Operation

Failures in State Management

Failures in System Design and Implementation

Transient Errors

Transient Fault Handling Application Block

Design for Reliability

Single Point of Failure

Writing Reliable Code


High-Performance Design

Microsoft Azure In-Role Cache


Deployment Options

Cache Features

Concurrency Modes

Local Cache

Session State

Microsoft Azure Cache Service


Cache Service versus In-Role Cache

Managing Cache Clusters on Microsoft Azure Management Portal

Memcache Support

Future of Azure Cache

Microsoft Azure CDN

Asynchronous Operations and Parallel Operations


Claim-Based Architecture

Claim-Based Authentication and Authorization

Basic Authentication and Authorization Process

Authentication and WIF

Authentication Broker

Introduction to Microsoft Azure AD

Managing Microsoft Azure Tenants and Users

Graph API

Microsoft Azure AD New Features

Azure Authentication Library

Microsoft Azure Active Directory Premium



Mobile Service

Mobile Service Overview

Push Notifications

Push Notification Overview

Scheduler and API


Internet of Things

IoT Overview

Radio Frequency Identification

Artificial Intelligence Equipment

Wearable Devices

Wireless Sensor Network

Devices and Cloud

Importance of Devices for Cloud

Importance of Cloud for Devices

Challenges of IoT.NET Micro Framework

.NET Micro Framework Overview

.NET Gadgeteer Overview

Device Integration Sample Scenario



Message-Based System Integration

System Integration

Integration by Data

Shared Business Functions

Enterprise Service Bus

Message-Based System Integration

Content-Based Routing

Priority Queue


Dead Letter Queue

Event-Driven Consumer

Advanced Message Queuing Protocol

AMQP Overview

AMQP Adoption

Advantages of Message-Based Integration

Loose Coupling

Dynamic Extension

Asynchronous Communication

Centralized Management


Source Control and Tests with Visual Studio Online

Create a Visual Studio Online Account

Source Control with Visual Studio Online

Create and Use Unit Tests

Create and Use Load Tests


Scripting and Automation

Microsoft Azure PowerShell Cmdlets

Preparing a Microsoft Azure PowerShell Cmdlets Environment

Managing Virtual Machines

Managing Cloud Services

Managing Microsoft Azure Websites

Other Cmdlets

Microsoft Azure Cross-Platform Command Line Tools

Installing the Command Line Tools

Getting Started with the Command Line Tools

Microsoft Azure Management API


Azure and DevOps

DevOps Overview

Everything Is Code

Everyone Is a Developer

Every Day Is Release Day

VM Agent and VM Extensions

VM Agent

VM Extensions

Custom Script Extension

DSC, Puppet, and Chef

New Portal

Zen of Cloud



About the Author

Haishi Bai is a Principal Software Engineer at Microsoft Azure. He wrote his first program when he was 12, and ever since, the world has been all about software and services. In his 20 years of professional life, he’s been engaged in various areas ranging from finance to public safety, and he’s taken on different roles such as architect, development lead, and project manager. He’s also a passionate educator who loves to share his knowledge. He’s the author of 8 cloud computing books (including this one). He runs a technical blog at http://blog.haishibai.com that focuses on cloud technologies. He’s also a volunteer teacher teaching Java in high schools.

Subject Categories

BISAC Subject Codes/Headings:
BUSINESS & ECONOMICS / Production & Operations Management
COMPUTERS / Information Technology
COMPUTERS / Networking / General
REFERENCE / Yearbooks & Annuals