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

Is cloud computing "enterprisey" enough?


There have been many products and services making great promises to the enterprise developer, and a lot of the chatter about cloud computing at times makes it seem like this is yet another buzzword that will pass. Looking at the companies that have made the move to the various cloud platforms makes us think otherwise. Even before its official release, companies such as Domino's, Kelly Blue Book, and Coca-Cola Enterprises had already adapted applications for Azure, and many more case studies were posted from PDC 2009. To underscore the flexibility of the Azure platform, Domino's application is written in Java and served by Tomcat.

No cloud computing platform can be all things to all people. Each platform differs in its capabilities and service offerings, and price can be a factor as well. Enterprise applications typically include a database back end, and Google's lack of a relational database and limited language support (Python and some flavors of Java) make it a tough sell for enterprises that require a full database and use .NET technologies. With Amazon's services, we need to build our own virtual machine (or start with a pre-built one), but we are still responsible for licensing costs, removing the price advantage. Microsoft's Azure platform is designed to be a very happy medium–a wide range of languages can be used, there are no licensing costs, and Azure has some advanced features such as Access Control and Service Bus not found in other cloud offerings. One thing is for sure–with three big players in the cloud computing game, the services will become more feature rich, less expensive, and in the end, the consumers will benefit greatly.

The presence of so many large applications in the cloud is not proof positive enough to conclude that cloud computing is the way of the future, but such rapid adoption speaks well of the advantages of cloud-based applications, especially the time to develop them. The promise of cloud computing platforms is that they are stable, scalable, easy to develop, and are cost effective. Time will tell which providers perform the best, but even at this early stage there are plenty of case studies to observe.