1st Edition

Zen of Cloud
Learning Cloud Computing by Examples on Microsoft Azure




ISBN 9781482215809
Published August 12, 2014 by CRC Press
507 Pages - 457 B/W Illustrations

USD $78.95

Prices & shipping based on shipping country


Preview

Book 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.

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

...
View More

Author(s)

Biography

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.

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