Book Image

Microsoft Azure: Enterprise Application Development

Book Image

Microsoft Azure: Enterprise Application Development

Overview of this book

Microsoft's Azure platform has proved itself to be a highly scalable and highly available platform for enterprise applications. Despite a familiar development model, there is a difference between developing for Azure and moving applications and data into the cloud. You need to be aware of how to technically implement large-scale elastic applications. In this book, the authors develop an Azure application and discuss architectural considerations and important decision points for hosting an application on Azure. This book is a fast-paced introduction to all the major features of Azure, with considerations for enterprise developers. It starts with an overview of cloud computing in general, followed by an overview of Microsoft's Azure platform, and covers Windows Azure, SQL Azure, and AppFabric, discussing them with the help of a case-study. The book guides you through setting up the tools needed for Azure development, and outlines the sample application that will be built in the later chapters. Each subsequent chapter focuses on one aspect of the Azure platform—web roles, queue storage, SQL Azure, and so on—discussing the feature in greater detail and then providing a programming example by building parts of the sample application. Important architectural and security considerations are discussed with each Azure feature. The authors cover topics that are important to enterprise development, such as transferring data from an on-premises database to SQL Azure using SSIS, securing an application using AppFabric access control, blob and table storage, and asynchronous messaging using Queue Storage. Readers will learn to leverage the use of queues and worker roles for the separation of responsibilities between web and worker roles, enabling linear scale out of an Azure application through the use of additional instances. A truly "elastic" application is one that can be scaled up or down quickly to match resources to demand as well as control costs; with the practices in this book you will achieve application elasticity.
Table of Contents (23 chapters)
Microsoft Azure: Enterprise Application Development
Credits
About the Authors
Acknowledgement
Acknowledgement
About the Reviewer
Preface
Index

Cloudy skies ahead


Usually, cloudy skies are a bad thing–many a day at the beach has been ruined by an abundance of clouds. But in the case of cloud computing, the more clouds, the better! The number of providers of cloud computing services is increasing, but for the enterprise developer, the three major options at the time of writing are from Google, Amazon, and Microsoft.

Google's cloud offering is named the Google AppEngine, and currently supports Python and Java languages. Data are stored in the Google AppEngine data store, a proprietary database utilizing Google Query Language (GQL). For the interested developer, Google offers a free plan with multiple applications.

Amazon has several cloud offerings, all under the Amazon Web Services umbrella, including Simple DB, Elastic Compute Cloud (EC2), Simple Storage Service (S3), and Amazon Virtual Private Cloud (VPC). Simple DB and S3 are data-storage options that are used for everything from compressed backup locations to simple content delivery networks. EC2 is a service that allows us to create a virtual machine to our specifications, and upload it to our cloud-hosting account. We are still completely responsible for the care and feeding of our VM, but Amazon provides the hosting infrastructure. The Amazon VPC is our own private IP block carved out of Amazon's Web Services. The Amazon VPC can be made part of our local network by means of VPN from our firewall to our isolated cloud storage, gaining much of the benefits of cloud storage with the convenience of a local network resource.

Last but not least (and the star of this book) is Microsoft's Azure. Azure actually comprises three services, each of which can be used independently or combined into a completely cloud-based application. When most people speak of Azure, they're speaking of Windows Azure, which is the operating system, application hosting as well as simple storage services. The second piece of Azure is one that has generated a great deal of excitement—SQL Azure. SQL Azure is an almost feature complete version of SQL Server 2008. The final piece of the Windows Azure platform is the

AppFabric, which provides connection and authentication services along with the Service Bus–an enterprise service bus implementation capable of bridging two different enterprises.