xiv
About the Technical Reviewer
■Bing Long, Ph.D. in mathematics, lives in Seattle, WA. He is an IT consultant,
with extensive enterprise software design/development and system integration,
across platforms and languages. His e-mail is
xv
Acknowledgments
I would like to thank the following individuals for their contributions to my professional life:
• Ronald Phaneuf, who provided me an opportunity to use Visual Basic 1.0 to program the
fantastic data acquisition user interface for the Electron Synchrotron Research project.
• Mark Beckner, who provided me with a road map of how to become a professional solution
architect and technical writer.
• Wesley Yong, who brought me to join the Microsoft BizTalk project and to learn how Microsoft
designs and develops software.
• Brandon Gross, Larry Smith, and Dan Alworth, who provided me with the opportunity of
designing and developing Microsoft award-winning BizTalk solutions at EMC Microsoft
Practice.
• Tom Wu, Mike Johnson, and Paul McKelvey, who provided me with an opportunity to
demonstrate my talent to design and build large-scale data-driven enterprise SOA solutions for
shop floor automation.
• Mike Cole, who brought me into a commercial software development team to learn how to be a
professional C++ developer.
• Yimin Zhu, who provided me with an opportunity to apply XML data-driven design concepts to
design and implement the Florida Department of Transportation Road User Cost application.
A great deal of gratitude is owed to the ever-widening network of friends and coworkers who are
bound for incredible successes, including the people from the Microsoft BizTalk group, the Shopping
Intel development group at the Intel marketing department, Timberline Software (Sage Software),
EMC’s Microsoft Practice, and Siltronic Co.
Special thanks goes to my wife, Wenyan. This book would not be able to come to the reader’s
bookshelf on schedule without her cooking and housekeeping for our family.
xvi
Introduction
The cloud platform is getting more and more attractive to the computing world. Today, service-oriented
architecture (SOA) and aspect-oriented programming (AOP) techniques are widely used in enterprise
solutions. A question an IT management team or a software development team may ask is, what is the
next trend going to be? Cloud computing seems to be the right answer. Different names are used for this
kind of platform, including utility computing, on-demand platform, and platform as a service. A set of
new buzzwords has been widely used in relation to cloud computing, such as Program as a Service
(PaaS), Software as a Service (SaaS), and anything you can think of as a service (XaaS).
For any enterprise business solution, the cost to build, deploy, host, and maintain infrastructures
and applications is always challenging for the administrative and development teams in an organization.
The cloud platform aims to take away the cost of building, deploying, updating, and maintaining.
Applications used in organizations today are called on-premises applications. In this case,
infrastructure and storage facilities, as well as the applications, are hosted within an organization. By
contrast, both storage and application services provided by the cloud platform are hosted externally
(they can also be hosted within an organization for a local cloud environment) through the Internet.
Microsoft offers such services to host both storage and applications from its data centers via its Windows
Azure cloud platform.
Windows Azure Essentials
Azure is a new cloud system from Microsoft that allows applications to run from a remote connected
system, hosted in a Microsoft data center, and store data in the cloud.
Figure 1 shows the Windows Azure architecture. The platform consists of three parts:
• Development runtime: Simulates the Azure runtime allowing you to test, debug, and tune your
application in a local development environment before deploying it to the cloud.
• Azure runtime: Includes the Azure fabric, Azure storage service, and Windows Azure OS.
• Applications: Applications are run from the Azure runtime. A set of Internet-based services work
as building blocks for you to build your applications. The services package includes .NET Services
(formerly BizTalk Services), SQL Azure, and Live Services.
■ INTRODUCTION
xvii
Figure 1. Windows Azure architecture
Figure 2 describes the concept of the Azure platform. Any on-premises type of application built in
an organization could also leverage the services provided by Azure through the Internet. However, to
host and run applications from the Azure cloud platform, the applications must be developed by using
the .NET Framework. Both Azure applications and on-premises applications can access the Azure
storage service using a representational state transfer (RESTful) approach. Cloud storage no longer relies
on the relational model in order to meet the requirements of Internet scalability, which we’ll look at in
this book. There are three types of storage available from the Azure platform: blob storage, queue
storage, and table storage, all covered in later chapters.
■ INTRODUCTION
xviii
Figure 2. Infrastructure of the Azure cloud platform
It is obvious that the features that Azure offers are tremendously beneficial to organizations. Instead
of spending a lot of money to build their own infrastructure, organizations can build their infrastructure
from the cloud and use it as a utility and never worry about maintenance and upgrade issues.
Figure 2 shows that Azure does at least two things:
• Host and run applications from a remote connected system at a Microsoft data center
• Provide data storage using a remote connected system at a Microsoft data center
An application running from the Azure platform may have multiple instances; each instance runs in
its own virtual machine supported by a 64-bit operating system. An application instance may have either
a web role or worker role or both.