Updated October 31st, 2012 to reflect the official release of Team Foundation Service.
Microsoft now provides a cloud based version of Visual Studio Team Foundation Server (TFS) called Team Foundation Service hosted at https://tfs.visualstudio.com.
This post provides high level analysis and review of the advantages and disadvantages of Team Foundation Service versus deploying Microsoft Visual Studio Team Foundation Server (VS TFS) to corporate IT infrastructure or “on premise”.
Microsoft has made Visual Studio Team Foundation Server available in a cloud version as Team Foundation Service. Team Foundation Service is currently available to the public at http://tfs.visualstudio.com.
Team Foundation Service and VS TFS are the same product, but they are on different release cycles. Team Foundation Service is currently being updated every three weeks. Based on information posted recently on Microsoft blogs (see Visual Studio Update this Fall), Visual Studio will be updated on a quarterly cycle. These releases will include rollups of the releases deployed to Team Foundation Service.
Even though both products are TFS, there are some differences as detailed below.
Team Foundation Service Pros
The following benefits are realized in most environments that would otherwise self-host. Note that benefits will vary by organization.
- No need to maintain TFS related IT infrastructure
- Eliminates all TFS server installation and maintenance
- Easily accessible and available from anywhere an Internet connection is available
- New instances can be used almost immediately without any delays for hardware provisioning or software installations
- Leverages Microsoft’s Azure enterprise class data centers, disaster recovery and physical security controls.
- Robust Azure services minimizes the need for dedicated caching proxies at remote locations
Team Foundation Service Cons
The following potential shortcomings should be assessed when determining if Team Foundation Service will be right for you.
- Custom team project templates may not be used and neither is there support for team project customization (such as work item modification) once the project is created
- No out of the box SQL Server Reporting Services and OLAP integration
- No out of the box SharePoint integration
- Single factor security using Microsoft Account
On Premise TFS
The primary requirement for running TFS on premise is the installation, configuration and maintenance of the required hardware and software. Maintaining the hardware, software and services can be a significant expense. Many existing IT departments are stretched to the limits and any easy way to offload tasks can bring welcome relief. However, corporations may well have requirements that make on premise TFS the only option.
The following points should be considered true of on premise TFS:
- Secure access to source code is only available from within the corporate network or through VPN solution.
- Support for TFS standard SQL Server Reporting Service reports and OLAP cubes
- Support for TFS standard SharePoint integration
- Team Foundation Server backups
Migrating TFS between Cloud and On Premise
Data including source and work items maintained in a Team Foundation Service site can be migrated between on premise and cloud one of several ways. The right option depends on when the migration is needed and whether work item and source history is required.
- Once the preview service goes live to production, Microsoft will provide a backup of the TFS data that can be used in a self-hosted option. All data and history will be preserved with this approach.
- TFS Integration Tools can be used to migrate most critical data out of the box including history for many work item types. The migration can be customized based on need.
- Simple source sync and data item transfers from the Team Foundation Service instance to the on-premise instance. This is the simplest and easiest approach, but history will not be preserved.
We have found it very easy to start and run projects using Team Foundation Service. This includes connecting, setting up new projects, user accounts, creating product backlogs and running projects. However, a cloud based option is not going to be right in every situation and on-premise is still a very good option for deployment.
Note that the benefits and costs will need to be re-evaluated once final pricing for Team Foundation Service is determined, but a free level of service, limited to 5 users per project, will continue to be provided. See the FAQ for additional information on the Team Foundation Service.
 There are numerous other TFS deployment hosting scenarios not discussed.