Migrating an Enterprise Microsoft Product (TFS) on to Windows Azure Sriram Dhanasekaran SDE II,...

Preview:

Citation preview

Migrating an Enterprise Microsoft Product (TFS)

on to Windows AzureSriram Dhanasekaran

SDE II, Microsoft

Agenda

• Microsoft Visual Studio Team Foundation Server 2010 – Architecture

• Migration – steps and challenges• Lessons–What aspects made the migration easier?

• Demo• Q&A

MICROSOFT VISUAL STUDIO TEAM FOUNDATION SERVER 2010

TFS 2010 - Architecture

TFS on AzureWindows Azure

Web RoleWeb Role

SQL AzureSQL AzureWorker RoleWorker Role

VM/Worker Role*VM/Worker Role*

* Not in current release

MIGRATION

SQL Server => SQL Azure

• No OPENXML–Moved to using TVP instead.

• No ‘SELECT INTO’• No SysMessages– Developed own mechanism

• Mandatory Clustered Indexes• No full text index

Identities

• No Windows Identities in Azure. Need to use internet identity system.

• Use App Fabric Access Control Services as federation system– Open ID compatible– Multiple providers – Live, Yahoo, Google,

Facebook– Supports Active Directory Federation– Provides service identities for various co-

operative services to authenticate each other.• Clients now need to prompt a web page to

accept credentials

Storage

• In On-premise version, all data was stored in SQL Server – work item attachments, source code files, test attachments

• Disadvantages of SQL Azure– Cap on size of database– About x50 expensive

• Moved all blob data to Windows Azure Blob Storage.– Cheap– Scalable

Communication Protocol

• Made all components behave like pure clients– Having no peer-peer relationship

enables simple trust relationship– Allows easy support for multiple

topologies

Security

• Centralized authentication and authorization system– Server handles all security aspects– Enables simpler trust relationships– Data hidden

Tuning for WAN access

• TFS always on WAN– Think hard on hitting the server– Calls to server needs to be Async and

cancellable–Minimize round trip, payload etc.,• Streaming data• Offline cache• Compression

Running as a service

• COGS– Storage– Bandwidth

• Upgrade– No downtime– Upgradeable at a tenant level– Client upgrades

• Diagnostics• Operations team becomes an integral part

of product team• Billing

LESSONS LEARNT

What makes migration simpler?

• Web friendly protocols– ASP.NET web services– WCF

• Stateless services• 3-tier application model.• Support for scaling any tier

independently.• Multi-tenant notion– Unit of operation– Delegation of administration

DEMO

TFS on Azure

Q & A

© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and

Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Recommended