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 ~$11.39
$75.95
$64.56
x
Hardback: 9781138455528
pub: 2017-08-02
SAVE ~$30.75
$205.00
$174.25
x
eBook (VitalSource) : 9780429161681
pub: 2014-08-12
from $36.48


FREE Standard Shipping!

Description

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.

Reviews

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

CLOUD COMPUTING FUNDAMENTALS

Overview of Cloud Computing

History

Essence of Cloud Computing

Elasticity

On and Off Mode

Rapid-Growth Mode

Availability

Fault Domain

Update Domain

Scalability

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

Summary

Building Websites on the Cloud

Microsoft Azure Websites

Website Deployment and Upgrade

Integration with Source Control Systems

Scaling of Websites

Vertical Scaling

Horizontal Scaling

Autoscaling

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

Summary

Cloud Service Fundamentals

Microsoft Azure Cloud Services

Cloud Services and Roles

Role

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

Instances

Load Balancing

Configuration File and Definition File

Cloud Service Definition File (.csdef)

Cloud Service Configuration File (.cscfg)

Summary

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

IntelliTrace

Monitoring Cloud Service

Developer Community

Summary

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

Summary

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

REST API

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

Summary

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

ExpressRoute

Summary

CLOUD SOLUTIONS

Cloud Solution Architecture

Client/Server

Characteristics of Client/Server Architecture

Benefits

Shortcomings

Client/Server Architecture on Cloud

Multitenant System Design

Migrating Client/Server Systems to Cloud

Client/Server Systems on Microsoft Azure

Mobile Clients

Browser/Server

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

Summary

High-Availability Design

Availability

High-Availability Techniques

Redundancy

Load Balancing

Failover

Load Balancing and Health Probe

Competing Consumers

Loose Coupling

Dynamic Load Balancing

Dynamic Scaling

Failover

Case Study: High-Availability Service Bus Entities

Background

Segmented Message Pipelines

Paired Namespaces

Conclusion

Summary

High-Reliability Design

Reliability, Availability, and Maintainability

Reliability

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

Summary

High-Performance Design

Microsoft Azure In-Role Cache

Overview

Deployment Options

Cache Features

Concurrency Modes

Local Cache

Session State

Microsoft Azure Cache Service

Overview

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

Summary

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

Summary

DEVICES AND CLOUD

Mobile Service

Mobile Service Overview

Push Notifications

Push Notification Overview

Scheduler and API

Summary

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

Summary

SYSTEM INTEGRATION AND PROJECT MANAGEMENT

Message-Based System Integration

System Integration

Integration by Data

Shared Business Functions

Enterprise Service Bus

Message-Based System Integration

Content-Based Routing

Priority Queue

Request/Response

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

Summary

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

Summary

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

Summary

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

Bibliography

Index

About the Author

Haishi Bai is a Windows Azure Technical Evangelist at Microsoft. He wrote his first program when he was 12 and ever since, the world has been all about software and services. In his 16 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 runs a technical blog at http://blog.haishibai.com that focus on cloud technologies. The site attracts over 60,000 views monthly. His Twitter handle is @HaishiBai2010.

Subject Categories

BISAC Subject Codes/Headings:
BUS087000
BUSINESS & ECONOMICS / Production & Operations Management
COM032000
COMPUTERS / Information Technology
COM043000
COMPUTERS / Networking / General