Developing Applications for the Cloud
Microsoft patterns & practices is excited to announce the release of a new guide: |
|||||||||||
In this e-mail: | Customer Value | What’s in this guide| Goals |Future plans | About patterns & practices |
|
||||||||||
Customer Value |
|||||||||||
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 available resources 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. This book is the second volume in a planned series about Windows Azure™ technology platform. Volume 1, Moving Applications to the Cloud on the Windows Azure Platform, provides an introduction to Windows Azure, discusses the cost model and application life cycle management for cloud-based applications, and describes how to migrate an existing ASP.NET application to the cloud. This book 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 the Windows Azure platform. |
|||||||||||
What’s in the “Developing Applications for the Cloud” |
|||||||||||
Click here to download this release. |
|
||||||||||
Goals of This Release |
|||||||||||
Tailspin is a fictitious startup ISV company of approximately 20 employees that specializes in developing solutions using Microsoft® technologies. The developers at Tailspin are knowledgeable about various Microsoft products and technologies, including the .NET Framework, ASP.NET MVC, SQL Server®, and Microsoft Visual Studio® development system. These developers are aware of Windows Azure but have not yet developed any complete applications for the platform. The Surveys application is the first of several innovative online services that Tailspin wants to take to market. As a startup, Tailspin wants to develop and launch these services with a minimal investment in hardware and IT personnel. Tailspin hopes that some of these services will grow rapidly, and the company wants to have the ability to respond quickly to increasing demand. Similarly, it fully expects some of these services to fail, and it does not want to be left with redundant hardware on its hands. The Surveys application enables Tailspin's customers to design a survey, publish the survey, and collect the results of the survey for analysis. A survey is a collection of questions, each of which can be one of several types such as multiple-choice, numeric range, or free text. Customers begin by creating a subscription with the Surveys service, which they use to manage their surveys and to apply branding by using styles and logo images. Customers can also select a geographic region for their account, so that they can host their surveys as close as possible to the survey audience. The architecture of the Surveys Application is straightforward and one that many other Windows Azure applications use. The core of the application uses Windows Azure web roles, worker roles, and storage. It also highlights how the application uses SQL Azure™ technology platform to provide a mechanism for subscribers to dump their survey results into a relational database to analyze the results in detail. This guide discusses the design and implementation in detail and describes the various web and worker roles that comprise the Surveys application. |
|||||||||||
Future plans |
|||||||||||
An extension to this scenario is being developed for mobile users using Windows Phone 7 devices. Early versions of this are available here: https://wp7guide.codeplex.com A guide for SQL Azure specific considerations is being completed and a third part is planned to cover integration scenarios as well as new capabilities. Check the community site for updates. |
|||||||||||
Acknowledgements |
|||||||||||
Many people contributed to this release, but we wanted to highlight the exceptional contributions of Ryan Dunn and Steve Marx to our project. Also, we want to thank David Aiken, James Conard, Yousef Khalidi, Prashant Ketkar, Bharat Shyam and Amitabh Srivastava from the Windows Azure team at Microsoft for their support throughout. |
|||||||||||
Customer Connections |
|||||||||||
We are happy to engage in customer conversations as appropriate. Please contact Eugenio Pace or Ajoy Krishnamoorthy. If you have a customer using this guide, please let us know at ourstory@microsoft.com. |
|||||||||||
About patterns & practices |
|||||||||||
The Microsoft patterns & practices (p&p) team is responsible for delivering applied engineering guidance that helps software architects, developers, and their teams take full advantage of Microsoft’s platform technologies in their custom application development efforts. Our goal is to help software development teams be more successful with the Microsoft application platform. We do this by delivering guidance that: · Helps to simplify the Microsoft application platform. · Provides solution guidance to common problems. · Helps development teams grow their skills and learn. For more information: https://msdn.microsoft.com/practices or https://practices |
|