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, Active Directory, MSDN, SQL Server, Visual C#, Visual C++, Visual Basic, Visual Studio, Windows, Windows Azure, Windows Azure SQL Database, 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.
Microsoft's Windows Azure platform, an operating environment for developing, hosting, and managing cloud-based services, established a foundation that allows customers to easily move their applications from on-premises locations to the cloud. With Windows Azure, customers benefit from increased agility, a very scalable platform, and reduced costs.
Microsoft's cloud strategy has three broad tenets: to offer flexibility of choice for deploying services based on business needs; to provide enterprise-level services with no compromises on availability, reliability, or security; and to support consistent, connected experiences across devices and platforms. Windows Azure is a key component of Microsoft's cloud strategy.
Windows Azure builds on Microsoft's many years of experience running online services for millions of users, and on our long history of building platforms for developers. We focused on making the transition from on-premises to the cloud easy for both programmers and IT professionals. Their existing skills and experience are exactly what they need to start using the Windows Azure platform.
Microsoft is committed to Windows Azure, and will continue to expand it as we learn how all our customers around the globe, from the largest enterprises to the smallest ISVs, use it. One of the advantages of an online platform is that it allows us to introduce innovations quickly.
I'm excited to introduce this guide from the Microsoft patterns & practices team, proof of our commitment to help customers be successful with the Windows Azure platform. Whether you're new to Windows Azure, or if you're already using it, you'll find guide a great source of things to consider. I encourage you to get started exploring Microsoft's public cloud and to stay tuned for further guidance from the patterns & practices team.
Foreword for the Third Edition
Since its first beginnings, and since I reviewed the original edition of this guide from the patterns & practices team, Windows Azure has continued to mature by offering exciting new services and capabilities. Now that we have achieved general release, with a comprehensive SLA, we have seen a huge uptake of the platform across all sectors of our industry.
In my original foreword I talked about our commitment to the enterprise. We have proved not only that we can deliver on these commitments, but go beyond them to offer even more innovative features; including many that make migration of existing on-premises applications to the cloud much easier. The business case for Windows Azure continues to prove itself, and there is even more to come!
Sincerely,
Yousef Khalidi
Distinguished Engineer, Windows Azure
How can a company's applications be scalable and have high availability? To achieve this, along with developing the applications, you must also have an infrastructure that can support them. For example, you may need to add servers or increase the capacities of existing ones, have redundant hardware, add logic to the application to handle distributed computing, and add mechanisms to handle failover. You have to do this even if an application is in high demand for only short periods of time. Life becomes even more complicated (and expensive) when you start to consider issues such as network latency and security boundaries.
The cloud offers a solution to this dilemma. The cloud is made up of interconnected servers located in various data centers. However, you see what appears to be a centralized location that someone else hosts and manages. By shifting the responsibility of maintaining an infrastructure to someone else, you're free to concentrate on what matters most: the application. If the cloud has data centers in different geographical areas, you can move your content closer to the people who are using it most. If an application is heavily used in Asia, have an instance running in a data center located there. This kind of flexibility may not be available to you if you have to own all the hardware. Another advantage to the cloud is that it's a pay as you go proposition. If you don't need it, you don't have to pay for it. When demand is high, you can scale up, and when demand is low, you can scale back.
Yes, by moving applications to 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 Book Is For
This book is the first volume in a series about Windows Azure. It demonstrates how you can adapt an existing, on-premises ASP.NET application to one that operates in the cloud. The book is intended for any architect, developer, or information technology (IT) professional who designs, builds, or operates applications and services that are appropriate for the cloud. Although applications do not need to be based on the Microsoft Windows operating system to work in Windows Azure or written using a .NET language, this book is written for people who work with Windows-based systems. You should be familiar with the Microsoft .NET Framework, Microsoft Visual Studio, ASP.NET, and Microsoft Visual C#.
Why This Book 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. In addition, the Windows Azure SDK includes the compute emulator and the storage emulator. Developers can use these to write, test, and debug their applications locally before they deploy them to the cloud. There are also tools and an API to manage your Windows Azure accounts. This book shows you how to use all these tools in the context of a common scenariohow to adapt an existing ASP.NET application and deploy it to Windows Azure.
How This Book Is Structured
Chapter 1, introduces you to the Adatum company and the aExpense application. The following chapters describe how Adatum migrates the aExpense application to the cloud. Reading this chapter will help you understand why Adatum wants to migrate some of its business applications to the cloud, and it describes some of its concerns. It will also help you to understand basic options for hosting applications and services in the cloud.
Chapter 2, describes the first steps that Adatum took in migrating the aExpense application. Adatum's goal here is simply to get the application working in the cloud, but this includes big issues such as security and storage. The chapter shows how Adatum used Windows Azure virtual machines and network services to deploy and communicate with the hosted servers.
Next page