Sunteți pe pagina 1din 17

Windows Azure

Application Profile Guidance


Custom IIS Web/Microsoft SQL
Server Application Migration Scenario

Sean R. Cunningham
President
June 30, 2010

Table of Contents
Windows Azure: Migration Analysis, Strategy, and Planning........................................................................... 1
Custom Application (IIS Web/Microsoft SQL Server Pattern) Migration........................................................2
Motivations for Migration to Windows Azure.....................................................................................................3

IT Value and Technology Consistency.......................................................................................................4

Cost Structure................................................................................................................................................4

Support............................................................................................................................................................4

Disaster Recovery and Backup Options....................................................................................................4

Scalability.........................................................................................................................................................4
Migration Execution Scenario................................................................................................................................5
Support............................................................................................................................................................5
Scalability.........................................................................................................................................................6

Cost Structure................................................................................................................................................6

Migration Planning and Considerations...............................................................................................................6


Technical Considerations and Guidance...................................................................................................6

Business Considerations...............................................................................................................................7

Migration Topics, Guidance, and Best Practices................................................................................................7


Microsoft SQL Azure.....................................................................................................................................7

Microsoft SQL Azure Reference:.................................................................................................................7

Local State.......................................................................................................................................................7

In-Process Session State............................................................................................................................10

In-Process Caching..................................................................................................................................... 11

Authorization and Authentication.......................................................................................................................12


Windows Azure Access Control (Authentication and Authorization)................................................12

Conclusion...............................................................................................................................................................15

Logic20/20, Inc. 2010 All Rights Reserved.

Windows Azure: Migration Analysis, Strategy, and Planning


With Windows Azure now a reality, organizations are

evaluation and migration strategy that aligns their

asking how cloud computing capabilities and services

business needs with cloud capabilities.

can help them. To fully understand, organizations will


want to analyze the current state of their technology

Once applications are identified as part of an overall

infrastructure and application portfolio to assess

strategy, it will be important to think in terms of

where they areas well as where they need to be.

architecture. Applications that fit certain architectural


configurations will tend to fit similar migration

Once organizations identify which cloud benefits

patterns; therefore, identifying applications that fit

scalability, elasticity, rapid deployment, etc.will

a particular migration pattern will make it easier to

best suit their needs, they will want to adopt an

evaluate and plan for successful migrations.

Analysis

Identify
current state
Envision
desired
future state

Strategy

Align
Business
needs
with cloud
capabilities

To align business needs with cloud capabilities,


organizations should investigate Windows Azure
cloud features based on the business goals they
hope to achieve:
T
 o reduce costs, organizations may be able to
migrate applications and data storage assets to
Windows Azure and more cost-effectively pay
for only the computing resources they need.
T
 o bring products to market faster, organizations
may be able to use Windows Azure rapid
deployment capabilities to save time, achieve
agility, and become more responsive.
T
 o achieve efficiency and mitigate
consequences of maintaining unused or

June 30, 2010

Planning

Identify
applications
D
 etermine
Common
Application
patterns

underutilized computing assets, organizations


may be able to use Windows Azure to scale up
and scale down to gain greater efficiency.
T
 o simplify IT management and offload hardware
management burdens, organizations may be
able to leverage Windows Azure to focus their
on-premises resources on key applications and
services that differentiate them within their
marketmaking them more competitive.
T
 o address uneven usage demandswhile
retaining a positive customer experience
organizations can use Windows Azure to create
dynamic elasticity to allow their systems to
respond to demand as it occurs.

Logic20/20, Inc. 2010 All Rights Reserved

As organizations adopt a cloud strategy and start to

be candidates because their migration is likely to be

plan migrations, some will start with small, peripheral

rapid and uncomplicatedand migration is expected

applications and will use these experiences to test,

to deliver early benefits.

learn, and discover how to best use cloud capabilities


to suit particular needs. Certain applications will

This paper is one in a series of materials designed to

stand out as excellent migration candidates for

help identify specific application architectural patterns

their technical suitability or because of obvious or

and technology typesand to help illustrate specific

compelling business reasons for migrationsuch as

considerations and suggested approaches for migrating

the need for better scalability. Other applications will

applications with the same or similar patterns.

Custom Application (IIS Web/Microsoft SQL Server Pattern) Migration


Custom applications based on IIS Web and Microsoft

Internal planning, tracking, and reporting.

SQL Server architecture patterns are common within

Expense and non-payroll payment processing

enterprise businessesespecially within enterprises


that leverage Microsoft technologies.

and reporting.
Process automation and workflow.

Applications with this basic configuration range from

Document management and collaboration.

large, mission-critical applications to small applications

Time and project management.

that meet very specific organizational or departmental


needs. At either end of the size and user-base spectrum,
these applications are critical to the groups they serve.

Custom customer relationship management (CRM).


Help desk and customer service ticketing.
Catalog (call center) order processing

Applications with this architectural pattern may serve


external users but are more commonly internal, and while
the specific corporate and departmental needs these
applications meet are extremely varied, the following are
highly typical uses:

Web Server

SQL Server







 



Website








Front End
Business/ Data layer

  

Typical IIS Web Server/Microsoft SQL Server Application Patterns

June 30, 2010

Logic20/20, Inc. 2010 All Rights Reserved

While these and many other business uses exist,


applications less likely to fit this particular architectural

Shadow Applications

pattern include the following:

Organizations may differ slightly on how


they define shadow applications (or shadow
apps), but when individual business groups
circumvent IT to purchase their own servers
and deploy their own applications outside
of the organizations standard IT processes
and policies, these applications are typically
referred to as shadow apps.

Payroll processing.
E-commerce.
Funding and support for these custom business
applications varies greatly. Some are supported by
strong service level agreements (SLAs) in enterprise
data centers; however, many reside in departmental
labs external to the corporate data center and
frequently have varying levels of support. For some,
the support structure may not be well defined
leaving certain business groups vulnerable.
Applications with this architectural pattern tend to be
strong candidates for migration to Windows Azure
because they are typically straightforward in design
and can often be easily migrated to Windows Azure
when cloud computing benefits offer improved
support options, resource optimization, or other
potential improvements.

Motivations for Migration to


Windows Azure

Windows Azure presents a compelling


opportunity for organizations to reduce
risks associated with shadow apps, which
are frequently unsupported or minimally
supported. Because existing shadow apps,
which are often built using an IIS/SQL
architecture, can be migrated to the cloud with
limited capital expenditures, organizations can
move these applications as part of their overall
cloud strategy.
Moving shadow apps to Windows Azure
brings these applications into a data center
environment and provides their users with a
99.9+ SLA. It also makes it possible to scale
these applications easily when demands
increaseand when and if a shadow app is
no longer needed, it can be decommissioned
quickly and its operating costs eliminated.

While not all custom applications are appropriate


candidates, many IIS Web/Microsoft SQL Server
applications can benefit greatly from moving to
Windows Azure and can take full advantage of many
cloud computing options and capabilities. The following
is a small subset of potential Windows Azure migration
benefits, but applications with a straightforward IIS
Web/Microsoft SQL Server architecture are very likely
to achieve gains in these areas.

June 30, 2010

Logic20/20, Inc. 2010 All Rights Reserved

IT Value and Technology Consistency

Support

One key benefit to migrating applications to Windows

For applications either not fully supported or not

Azure is that it allows organizations to offload IT

cost effectively supported by an enterprise data

hardware maintenance work that adds little value to

center with robust support capabilities and strong

an organizations brand and market position. When

SLAs, Windows Azure can provide a better, more

organizations remove the burden of lights on

consistent, and more secure support option. In some

hardware maintenance and allow their top IT staff

cases, Windows Azure data centers will have far more

members to focus on projects that help differentiate

rigorous security policies than other organizations,

the organization, IT becomes far more relevant and

which will allow organizations to easily achieve a

critical to success.

higher level of security.

Additionally, when organizations already well-

Disaster Recovery and Backup Options

versed in Microsoft technologies move applications


to Windows Azure, the developer toolset and .NET

Additionally, for applications migrated to Windows

skillset remain consistent. Windows Azure also

Azure, certain disaster recovery capabilities are included,

provides developers with an ever-expanding set of

and with some additional effort, developers can write a

pre-built blocks of functionality to help organizations

custom backup or snapshot-type versioning program

achieve results efficiently.

tailored to an organizations specific backup and restore


needs. While this does require some custom steps,

Cost Structure

Windows Azure Storage options can make backup and


restore activities easier to accomplish.

Cloud computing in Windows Azure provides a


completely new application cost structure that

Scalability

eliminates up-front capital expenses and allows


organizations to pay only for the computing resources

While some custom applications are relatively small

they use. This new cost structure constitutes a

and serve a well-defined user base, others are

fundamental shift in the way technology decisions

designed to adapt to an organizations growth and

can be made, and with clear, transparent, and

changing needs, so when growth and scalability is

granular cost accounting, nothing is hiddenmaking

a requirement, Windows Azure can be an excellent

it far easier for organizations to truly understand their

solutionenabling rapid scaling capacity without

application costs.

up-front capital investments.

June 30, 2010

Logic20/20, Inc. 2010 All Rights Reserved

Web Server

SQL Server

Website

Web Role

SQL Azure

Website





Front End
Business/ Data layer

Front End
Business/ Data layer

Example of IIS/SQL application migration to Windows Azure.

Migration Execution Scenario


To illustrate what the migration of an IIS Web/Microsoft

Migration of this application to Windows Azure would

SQL Server application might look like, well look at a

offer several key benefits:

real, mid-size custom application. Well review what it


Web Role
SQL Azure
looks like on premises and what it looks like in the cloud,

Support

Website

and well discuss the benefits that can be achieved with




this sort of migration. We will also discuss in detail


several specific steps to help organizations achieve
Front End

layersort of migration.
success Business/
with Data
this

At the time this application was deployed on premises,


support from the organizations corporate IT data
center was not an option for a number of reasons
including the following:

In this instance, a prominent department within a


large enterprise organization has developed and
deployed an internal custom application designed
to facilitate global planning, tracking, and reporting.
The application is critical to the department and is
used to provide quarterly reports to the board of
directors. It thus has very high visibility. The reports

Exceedingly long planning cycle for migration


to the primary data center.
Restrictive compliance issues set by the
corporate data center.
Lack of SLA options within the corporate
data center.

the application produces provide objective data on

High costs for services provided (yet not

the department and are used to determine how well

required) by the corporate data center.

the department is meeting its objectives.

June 30, 2010

Logic20/20, Inc. 2010 All Rights Reserved

Since the corporate data center was not a viable option

Cost Structure

in this case, the department elected to enter into a


limited support agreement with a third-party provider.

For small to mid-sized applications, the costs of

The problem with this limited support agreement is

running in Windows Azure may be lower or similar

that it is only cost effective when nothing goes wrong,

to those of running the application on premises, but

which leaves the department vulnerable. When an

even if immediate cost savings arent recognized,

issue does occur, the hourly support plan can become

this particular department would likely benefit

costly if the problem takes time to fix. Additionally,

greatly from the addition of the comprehensive

without dedicated support resources, the department

Windows Azure support plan, which would protect

may have to wait for support personnel to be available

the department against potentially costly hardware

if other customers are being served at the same time.

repairs and would provide improved peace of mind.

Scalability

Once the application is in Windows Azure, the


costs become completely transparent and granular.

While this particular application has thus far maintained

Additionally, the Windows Azure cost structure

a pretty straightforward user base and hasnt yet needed

allows organizations to achieve savings based

to growmovement to a cloud environment would

on the nature of the application. For example, an

enable easy future scalability without capital costs.

application with low transaction rates and high

This application has only been in existence for a short

storage requirements could be deployed to the

time and has achieved great success, so while scaling

cloud in a way that reduces the need for databases

considerations may be a ways off, Windows Azure would

and instead uses less expensive Windows Azure

help the department prepare for future growth.

Storage options.

Migration Planning and Considerations


Technical Considerations and Guidance

Microsoft SQL Azure

When planning any migration, a comprehensive


analysis of technology considerations should be

Local State
In-Process Session State

completed. Applications with an IIS/SQL architecture

In-Process Caching

pattern

Active Directory Authentication

are

typically

excellent

candidates

for

migration, but the range of application designs and


uses requires that each one be evaluated individually.
While we will not cover all possible technology
considerations, the following section details five
migration topics that constitute the primary focus of
the application migration being discussed here:

June 30, 2010

The following migration considerations may also be


pertinent for other applications that fit this pattern:
All local state and local storage situations
even beyond those discussed here.
Use of third-party environments, which would
need to be evaluated for compatibility.

Logic20/20, Inc. 2010 All Rights Reserved

Business Considerations
Business considerations unrelated to the architectural

followed; however, it is important for organizations to

structure of an application still need to be reviewed

be comprehensive in their approach.

in terms of their relevance to the business need or


circumstance. In many situations, concerns about

For an introduction to some of the most common cloud

geopolitical conditions and data security and sensitivity

computing business considerations, please reference

are primarily the same in Windows Azure as they would

Cloud Optimization Expanding Capabilities, while

be on premises, and similar best practices should be

Aligning Computing and Business Needs at http://


www.microsoft.com/windowsazure/whitepapers/.

Migration Topics, Guidance, and Best Practices


The majority of IIS Web/Microsoft SQL Server

Microsoft SQL Azure, which it was. (Please reference

applications are designed to use just one web server;

below for more information about compatibility

therefore, some of the migration topics discussed here,

between Microsoft SQL Server and Microsoft SQL

which are pertinent to Windows Azure migration, are

Azure.) Since there were no compatibility issues, the

related to techniques commonly used when only one

only required steps involved migrating structures,

web server is expected. Applications that include web

converting the database to Microsoft SQL Azure, and

farms may already include architectural components

redirecting the applications connection string.

that may set them up for even easier migration.

Microsoft SQL Azure Reference:


While other steps might need to be taken to insure
a smooth and successful migration, addressing the

For information about Microsoft SQL Server and

following topics would be central to the migration

Microsoft SQL Azure compatibility, please see

example weve been using.

http://msdn.microsoft.com/en-us/library/ff394115
(v=MSDN.10).aspx.

Microsoft SQL Azure


Local State
The on-premises application central to our discussion
currently uses Microsoft SQL Server to store the

For single-web-server applications, it is common

majority of application-related data. To transition

(even if not recommended) to store file upload data

to Windows Azure, we did an analysis to ensure that

locally to the disk. Regardless of the application, there

the application was completely compatible with

are levels of best practice with respect to local state.

June 30, 2010

Logic20/20, Inc. 2010 All Rights Reserved

On-Premises Best Practices


C
 ommon - It is common but not
recommended to store data and code in
the same directory on one web server.

Windows Azure Best Practices


T
 emporary Windows Azure Local Storage
should be used for temporary storage only.

B
 etter It is better to store data and code
in separate directories.

S
 ingle Instance Windows Azure Drive
provides persistent storage but only for
one instance.

B
 est It is best to store data in an external,
durable storage location, such as a Storage
Area Network (SAN) or Network-AttachedStorage (NAS) environment.

B
 est For single or multi-instance
applications, Microsoft SQL Azure and
Windows Azure Storage (Blobs and Tables)
provide durable storage.

When migrating applications to Windows Azure, there

This capability would provide persistent storagebut

are options that mimic local state storage; however, if

only for one instanceas Windows Azure Drive only

the application being migrated will ever require multiple

enables one instance to mount the drive for writes,

Web Role instances, it will be necessary to store data

which means that multiple instances cannot use

files using external, durable storage such as Microsoft

Windows Azure Drive for durable storage.

SQL Azure or Windows Azure Storage Blobs or Tables.

Single-Web-Role Application Options

Best Practice for Single or Multiple Web


Role Applications

Windows Azure Local Storage

Windows Azure Storage (Blobs or Tables)

When configuring a Windows Azure Role (Web or

or Microsoft SQL Azure

Worker), it is possible to add Windows Azure Local

Storing file upload data, which is separate from the

Storage to the instance; though, Windows Azure

application data already stored to the applications

Local Storage is not durable storage. If the instance

database, to Windows Azure Storage Tables or Blobs

is patched or otherwise taken offline and restored,

or to Microsoft SQL Azure (for relational data) is

data or files stored locally could be lost. Windows

considered a best practice. Both Windows Azure

Azure Local Storage is therefore only a solution

Storage and Microsoft SQL Azure provide external,

for temporary storage but is not recommended for

durable storage. All files except configuration items

storing data that needs to be retained long term.

that are created and deployed with the applications


code should be pulled out and stored in Windows

Windows Azure Drive

Azure Storage or Microsoft SQL Azure. Even if

Windows Azure Drive can also be added to an

migrating to a single Web Role instance, this option

instance, and it uses durable Windows Azure Blob

may be selected over Windows Azure Drive Storage to

Storage to store an entire Virtual Hard Drive (VHD).

provide for seamless future scalability.

June 30, 2010

Logic20/20, Inc. 2010 All Rights Reserved

Local State Storage Before and After


In our migration example, the applications web page

For more information on using Windows Azure Blob

allows users to upload image files that are unrelated

Storage, please find the Windows Azure Software

to the database. Currently, these image files are stored

Development Kit here http://www.microsoft.com/

locally on the web servers D-driveseparate from the

downloads/details.aspx?FamilyID=21910585-8693-

code but still resident on the one local machine. As part

4185-826e-e658535940aa&displaylang=en. The project

of migrating this application to Windows Azure, the

within the SDK with specific information on Windows

application code will be changed to allow these image

Azure Blob Storage is called Thumbnails.

files to be saved to Windows Azure Blob Storage.

Please note that if the application in question does not use local state storage for anything, this step is
unnecessary. It is simply mentioned because using local state storage for materials unrelated to an applications
database is a common (even if not recommended) practice.

On-Premises





Example of application
architecture modification to
move upload files from local
state storage on premises to Blob
Storage in Windows Azure.

 

  




 

Upload


 



Two things in Windows Azure:


1) Upload Process
2) Method of URLGeneration

Windows Azure




 

 

Blob

 

World.jpg

  

Upload
SQL Azure

June 30, 2010

Table

Logic20/20, Inc. 2010 All Rights Reserved

In-Process Session State

The .NET framework provides some readily available


out-of-process session state managers, but at

The application being used for our migration scenario

present, none are yet compatible with the Windows

uses an in-process session state, which is quite

Azure environment. So, to facilitate Windows Azure

common for traditional single-web-server applications.

migrations, Microsoft has made available a sample

In environments where multiple web servers are used,

provider that uses Windows Azure Storage for the

such as a web farm, this in-process session state can

session state information.

produce unexpected behavior; therefore, an outof-process session state should be used. Likewise, in

As part of our current migration example, we determined

Windows Azure, an in-process session state would

that the possibility of multiple web roles was desirable;

only be suitable for applications with a single Web

therefore we plan to make the changes necessary to

Role instance, and multiple Web Role instances would

establish out-of-processes session state management

require out-of-process session management.

at this time. The image below shows what the new


environment may look like once these changes have

For some small applications a single Web Role instance

been implemented.

with in-process session management may be fine;


however, if multiple Web Role instances are needed,

Note: Applications that already rely on a web farm

alternate session state management is required.

may be even easier to migrate because some of these


steps will likely already have been taken.

 




  






 
 


  




















 








  


 




Possible design for multiple Windows Azure Web Role application using an out-of-process session manager.

June 30, 2010

Logic20/20, Inc. 2010 All Rights Reserved

10

In order to make this change you will need to acquire and deploy the sample provided at http://code.msdn.
microsoft.com/windowsazuresamples. Once this is part of your deploy package you can make the following
configuration changes in the web.config file related to the ASP.NET website.

In-Process Caching
As part of our current application migration scenario,

For applications that already utilize a web farm,

it is important to discuss in-process caching. For some

distributed caching would likely already be in place,

applications caching calculated or processed data

so only small changes would be required.

to make that data available quickly when the same


values are subsequently requested can contribute

When performance gains warrant creating a distributed

to significant performance improvements; however,

cache, there are a few options:

for other applications performance gains may be


minimal. So, it is important to evaluate the importance
of caching on application performance to determine
whether or not there is sufficient benefit to be gained
through writing custom caching code.

It is possible to create a distributed cache using


custom code; although, the degree of effort
and cost may be prohibitive if caching is not a
core capability for an organization.
Microsoft will likely provide an out-of-the-box

For the application being discussed here, a realistic

distributed caching solution in the future, so if

approach to migration would most likely not include

this option is preferred, it would be prudent to

distributed caching, as it is somewhat unlikely that

monitor Windows Azure announcements.

the application would ever require multiple web


roles; however, if we added multiple Windows Azure
Web Roles as part of our migration, each instance
would still maintain its own cache, which would
provide performance gains for that instance alone.

It is also possible to deploy a third-party


solutionprovided it is compatible with
Windows Azure. One such solution is offered at
http://www.memcached.org/

But as would be the case with any on-premises web


farm, performance would not be optimized across the
entire application without adding a distributed cache.

June 30, 2010

Logic20/20, Inc. 2010 All Rights Reserved

11

Utilizing multiple servers and load


balancing, server caching is not efficient.

Where response time is critical, customers


may consider dynamic caching.









Server
1


 

  

Subsequent
calls 5 secs




 










 

  

User
Request

Load
Balancer

Server
2

Distributed
Cache







Server
3


 

  

Subsequent
calls 5 secs

Example of application architecture modification to utilize distributed cashing.

Authorization and Authentication


Many applications with an IIS/Microsoft SQL Server
architecture pattern will use Active Directory as their

Windows Azure Access Control


(Authentication and Authorization)

authorization and authentication security model. When


migrating to the Windows Azure cloud, which is not part

Access Control Method

of an organizations on-premises secure data center,

As part of our scenario, we suggest the better practice

Active Directory authentication and authorization is

of modifying the environment to use AppFabric for

possible using the Windows Azure Service Bus and

Windows Azure Access Control in order to create a

Windows Azure Access Control and AppFabric.

secure channel between the cloud environment and


the private Active Directory environment.

Applications that do not use Active Directory typically


utilize the ASP.NET Membership Role Provider.

June 30, 2010

Logic20/20, Inc. 2010 All Rights Reserved

12

Before Access Control Implementation











 



  

 









 











 
 



 

Example of before and after system


architecture related to access control
enabled authorization and authentication.

Above is an image of a typical internal application

ASP.NET Membership Role Provider Method

(on-premises environment) utilizing Active Directory

If an application being migrated uses the out-of-

for authentication and authorization; Below is

the-box ASP.NET Membership Role Provider, this

an image reconfigured to utilize Active Directory

will function in Windows Azure. The only steps

Federation Services (ADFS) to perform authentication

required will be to migrate the Microsoft SQL Server

through Access Control. The diagram assumes that

database into Microsoft SQL Azure and redirect the

the current ADFS environment has been configured

connection strings.

to allow access from Windows Azure/Access Control.

June 30, 2010

Logic20/20, Inc. 2010 All Rights Reserved

13

After Access Control Implementation





   

 





  


 












 




  







 









 

 







Content borrowed from A Guide to Claims-Based Identity


and Access Control by D. Baier, V. Bertocci, K. Brown, E.
Pace, and M. Woloski.

Example of before and after system


architecture related to access control
enabled authorization and authentication.

http://msdn.microsoft.com/en-us/library/ff423674.aspx

June 30, 2010

Logic20/20, Inc. 2010 All Rights Reserved

14

Conclusion
As organizations think about migrating applications

For developers, Windows Azure provides an exciting

to Windows Azure, it is critical that they understand

new opportunity to add value within an organization.

the problems they are trying to solveboth from a

By understanding both organizational goals and

business and from a technology standpoint. A well-

pain points, developers can now leverage cloud

conceived application with a clean, solid architecture

capabilitiesalong with their existing skillsetto

can expand capabilities and reduce costs dramatically

respond to organizational needs with viable, cost-

when migrated to Windows Azure; whereas a poorly

effective solutions.

designed application will be no more efficient in the


cloud than it will be on premises. All of the key elements

And while not all migrations will be simple, cloud

of strong application design apply in the cloudbut if

computing with Windows Azure presents tremendous

anythingthey are even more important.

opportunity. For many organizations, learning to


design or modify applications to take advantage

The application we described here is an excellent

of the range of new options available to them with

example of an application that was appropriately

Windows Azure provides a unique opportunity to

designed to meet the departments needs. It has

move ahead and create the differentiation they need

been successful on premises since it was deployed;

to stand out within their industry. Organizations

however, the fact that it lacks a comprehensive support

that see the great opportunity that Windows Azure

structure makes it a compelling candidate for early

affords will want to make Windows Azure cloud

migration to Windows Azure. It already has a highly

computing education within their organization a

appropriate architecture and can be migrated with a

priority and will want to support their development

very limited amount of effort. Migrating now would

teams efforts to use the Windows Azure platform

also provide for future scalability, and it eliminates the

and services creatively to answer their organizations

burden of hardware maintenance for a department

most pressing business needs.

that would rather focus on core competencies and


leave hardware support to experts in that field.

Acknowledgments: Logic20/20, Inc. recognizes the following individuals for their significant contributions to this paper:
Lisa Beliveau, Writing; Sacha Stjepanovic and Amit Kaushal, Content Research and Visual Concepts; Adron Hall and Brennan Fee, Technical Concepts and
Guidance; Jodi Sherwood, Graphic Design; Elaine Porterfield, Editing; Anders Westby, Management of Project Concept and Design.

The document entitled Windows Azure Application Profile Guidance, Custom IIS Web/Microsoft SQL Server Application Migration Scenario is third party owned and
authored material and is provided to you as a courtesy. Microsoft Corporation provides this document to you, on behalf of the third party, for informational purposes
only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS THIRD PARTY-PROVIDED DOCUMENT.
Logic20/20, Inc. acknowledges the support of Microsoft Corporation, which made possible some of the research presented in this white paper. The views and opinions
expressed in this article are those of Logic20/20, Inc., and do not necessarily reflect the position of any other party including, but not limited to, Microsoft Corporation.
This white paper is for informational purposes only. The information contained in this document is deemed reliable, but is not guaranteed. Some examples
depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred. Logic20/20, Inc.
MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.
Without limiting any rights under copyright, no part of this document may be reproduced, stored in, or introduced into a retrieval system, or transmitted in
any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express prior written permission
of Logic20/20, Inc.
Logic20/20 and the Logic20/20 logo are trademark(s) of Logic20/20, Inc. All other trademarks are trademarks of their respective owners.
2010 Logic20/20, Inc. All rights reserved.

S-ar putea să vă placă și