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

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

Embed Size (px)

Citation preview

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

Migrating an Enterprise Microsoft Product (TFS)

on to Windows AzureSriram Dhanasekaran

SDE II, Microsoft

Page 2: Migrating an Enterprise Microsoft Product (TFS) on to Windows Azure Sriram 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

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

MICROSOFT VISUAL STUDIO TEAM FOUNDATION SERVER 2010

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

TFS 2010 - Architecture

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

TFS on AzureWindows Azure

Web RoleWeb Role

SQL AzureSQL AzureWorker RoleWorker Role

VM/Worker Role*VM/Worker Role*

* Not in current release

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

MIGRATION

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

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

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

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

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

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

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

Communication Protocol

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

enables simple trust relationship– Allows easy support for multiple

topologies

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

Security

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

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

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

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

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

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

LESSONS LEARNT

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

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

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

DEMO

TFS on Azure

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

Q & A

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

© 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.