This document is provided "as-is." Information and views expressed in this document, including URL and other Internet website references, may change without notice. You bear the risk of using it. Some examples depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred.
2012 Microsoft. All rights reserved.
Microsoft, Microsoft Dynamics, Active Directory, MSDN, SharePoint, SQL Server, Visual C#, Visual C++, Visual Basic, Visual Studio, Windows, Windows Azure, Windows Live, Windows PowerShell, Windows Server, and Windows Vista are trademarks of the Microsoft group of companies.
All other trademarks are the property of their respective owners.
Foreword:
Chapter 1,
Chapter 2,
Chapter 3,
Chapter 4,
Chapter 5,
Chapter 6,
Chapter 7,
Whether you regard it as evolution or revolution, theres no doubt that the cloud is changing the way our industry works. It presents us with exciting new opportunities for implementing modern applications. Its also changing the way we view operating systems, data storage, development languages, operations and IT infrastructure. Im proud, in my own career, to have had the opportunity to play a part in the evolution of Microsofts cloud platform, Windows Azure.
In addition to rich platform services for building new applications, Windows Azure provides Infrastructure as a Service (IaaS) support for both Windows Server and Linux operating systems, and simple automated integration with a wide range of open source software such as databases, blogs, forums, and more; which reinforces just how flexible and powerful Windows Azure really is. The package of highly integrated services, features, options, and manageability that it offers allows you to create almost any kind of application in the cloud; and get great performance and reliability built right in. No matter whether its .NET, node.js, PHP, Python, or Javayou bring your designs and your applications and we provide the environment, allowing you to focus on your apps and not the infrastructure.
One of the areas where Windows Azure really scores is performance and reliability. Learning from our many years of building mission critical enterprise software and also running huge public online services, weve built an enterprise-ready infrastructure with datacenters across the globe so that you can deploy what you need, where you need it, and give your customers the best possible experience.
Your customers concerns include a whole range of additional factors such as security, privacy, corporate presence, and regulatory requirements. This guide, from the patterns & practices team here at Microsoft, will help you to think about how you address these concerns, how Windows Azure can help you to meet your requirements, and how you can get the most benefit from our cloud platform and services. Based on a fictitious company that needs to build a real-world, multi-tenant application, the guide walks through the decision making, planning, design, and implementation of Tailspins Surveys application. It also discusses how Tailspin tests and deploys the application, and manages and monitors it as it runs.
The team that created this guide worked closely with the Windows Azure development team to ensure that their guidance is accurate, useful, and up to date. Yes, they discuss many different options so that you get to see the range and flexibility of Windows Azure, but they also help you to choose what will best suit the specific needs of your own applications. You want solid guidance, good practice advice, working examples, hands-on labs, and plenty links to help you find out more? If so, you are already reading the right book! I hope you enjoy it.
Bill Hilf
General Manager
Windows Azure Product Marketing
Microsoft Corporation
How can a company create an application that has truly global reach and that can scale rapidly to meet sudden, massive spikes in demand? Historically, companies had to invest in building an infrastructure capable of supporting such an application themselves and, typically, only large companies would have the resources available to risk such an enterprise. Building and managing this kind of infrastructure is not cheap, especially because you have to plan for peak demand, which often means that much of the capacity sits idle for much of the time. The cloud has changed the rules of the game. By making the infrastructure available on a pay as you go basis, creating a massively scalable, global application is within the reach of both large and small companies.
The cloud platform provides you with access to capacity on demand, fault tolerance, distributed computing, data centers located around the globe, and the capability to integrate with other platforms. Someone else is responsible for managing and maintaining the entire infrastructure, and you only pay for the resources that you use in each billing period. You can focus on using your core domain expertise to build and then deploy your application to the data center or data centers closest to the people who use it. You can then monitor your applications, and scale up or scale back as and when the capacity is required.
Yes, by locating your applications in the cloud you're giving up some control and autonomy, but you're also going to benefit from reduced costs, increased flexibility, and scalable computation and storage. This guide shows you how to do this.
Who This Guide Is For
This guide is the second volume in a series about Windows Azure. Volume 1, Moving Applications to the Cloud,discusses the hosting options, cost model, and application life cycle management for cloud-based applications; and describes several scenarios for migrating an existing ASP.NET application to the cloud. This guide demonstrates how you can create from scratch a multi-tenant, Software as a Service (SaaS) application to run in the cloud by using the latest versions of the Windows Azure tools and the latest features of Windows Azure.
The guide is intended for any architect, developer, or information technology (IT) professional who designs, builds, or operates applications and services that run on or interact with the cloud. Although applications do not need to be based on the Microsoft Windows operating system to work in Windows Azure, or be written using a .NET language, this guide is written for people who work with Windows based systems. You should be familiar with the Microsoft .NET Framework, Microsoft Visual Studio development system, ASP.NET MVC, and Microsoft Visual C#.
Why This Guide Is Pertinent Now
In general, the cloud has become a viable option for making your applications accessible to a broad set of customers. In particular, Windows Azure now has in place a complete set of tools for developers and IT professionals. Developers can use the tools they already know, such as Visual Studio, to write their applications for the cloud. In addition, Windows Azure SDK includes a storage emulator and a compute emulator that developers can use to locally write, test, and debug their applications before they deploy them to the cloud. There are also tools and an API to manage your Windows Azure accounts. This guide shows you how to use all these tools in the context of a common scenariohow to develop a brand new, multi-tenant, SaaS application for Windows Azure.
How This Guide Is Structured
Next page