Team Foundation Server 2015 on cloud

1-click AWS Deployment 1-click Azure Deployment 1-click Google Deployment

Overview

TFS stands for Team Foundation Server which is developed by Microsoft. Integration of TFS with Visual Studio enables a team to work together and organize their efforts to complete a project. Dot Net developers use TFS for source control, bug tracking, requirement gathering and to manage complete lifecycle of software development.

Collaboration: The primary purpose of Team Foundation is to enable collaboration on a team to make it easier to build a product, or complete a project. There are many types of projects. Software projects involve building and releasing a software product that is typically a new product, an upgrade to an existing product, or a minor update release.Team Foundation enables collaboration through enhanced communication, supporting multidisciplinary roles, tracking work status, enacting the team’s process, and integration of tools.

Enhanced Communication
The purpose of enhancing communication on a team is to ensure that no information or work is lost when tasks are handed-off from one team member to another. The central concept when you work with Team Foundation is the team project. A team project is stored on Team Foundation Server and has a name everyone on the team can easily identify. For example, a team working on version 1.0 of Adventure Works would probably have a team project called Adventureworks 1.0. The team project provides a central location for everyone to coordinate his or her work.

Project Portal
Each team project has an associated project portal that is a Windows SharePoint Web site. Team members can use the project portal to store documents, find reports, and use other Windows SharePoint collaborative features like calendars and lists.

Team Explorer
All team members work with team projects by using Team Explorer in the Visual Studio IDE. Team Explorer connects to one Team Foundation server and displays team projects from that server. By using Team Explorer, every team member can find and update work items, view reports, manage documents, and work with product builds.

Alerts
Team Foundation provides alerts that are sent to you through e-mail when something changes on the team project. Alerts can be sent when the status of a work item changes, a check-in occurs, a build is completed, or when a build status changes. .

Source Control
Team Foundation source control enables the team to manage all source files for a project. Typically Team Foundation source control is used for source files but you can add non-source files such as important project documentation. .

Builds
Team Foundation Build enables the team to create and manage product builds regularly. For example, a team can run daily builds and post them to a shared server. Team Foundation Build also provides build reports on the status and quality of each build.

Tracking Work Status

The purpose of tracking work status is to understand the health of the project, who is assigned work, and what the status of that work is. Team Foundation uses the concept of a work item to track fundamental pieces of work on a team project. Various types of work items are available and are based on the type of work that they represent. For example, a bug work item type tracks problems and issues discovered when you are creating the product, and a task work item type tracks planned development, testing, or other types of tasks.

Work Item History
All work items have a running history that logs all activity. Whenever a work item changes, whether the item’s status changes to closed or notes are updated with new information, all the changes are logged so that anyone can review the complete history of activity on a work item at any time.

Queries
Work item queries are used to find work items that match a specific set of criteria. Queries are useful to find the current status on work items. For example, a query could find all bug work items with a priority of 1. Or a query could find all task work items assigned to the Web development team.

Microsoft Project and Excel Integration
Work items are stored in a database on the Team Foundation server; however, copies of work items can be imported and tracked in Microsoft Project or Microsoft Excel. For example, task work items can be imported into Microsoft Project and organized to load balance work for team members. Also, bug work items can be imported into Microsoft Excel to create a list of top priority bugs that must be fixed. Finally, updates can be made to the offline copies of work items in Microsoft Project and Microsoft Excel and published back to the work item database keeping offline work items synchronized with the server.

Reports are stored in a database on the Team Foundation server, and they track status and trend information over time on a team project. The data for the reports is stored in a data warehouse and collected from the operational databases on Team Foundation server. Types of information that can be tracked in reports are work item changes, check-ins, status on product builds, and test results. Also, cross-project reports can compare historical data for multiple projects. For more information about reports, see Using Reporting and Metrics for Team System.

Roles

Roles are assumed by one or more team members on a team project, and each role represents one or more disciplines that are required to successfully complete the team project.Roles do not represent a one-to-one relationship with job titles or disciplines. For example, a developer role may be fulfilled by an individual with a job title of software engineer, or Web developer. Also, roles have different meaning depending on their context.

Roles in Help Documentation
The Help documentation organizes content into three general roles: Administrators, Project Leads, and Project Members. These general roles are used by the Help documentation to help you find the tasks and information that most likely apply to you when you work on a team project.

Roles in Process
New team projects are created from a process template that defines a set of roles that all team members will participate in. For example, the MSF for Agile Software Development process defines six roles: business analyst, project manager, architect, developer, tester, and release manager. When a team project is created by using the MSF for Agile Software Development process, each team member must assume one of these roles, which will guide how he or she interact and work on the team project.

Security Groups
Team Foundation security groups enforce permissions available for each team member. When a new team project starts, the administrator maps process roles for that team project to specific security groups and permissions. Additionally, the process template defines a default set of security groups. For example, MSF for Agile Software Development defines Contributors and Readers security groups. So on a new team project, a developer is likely mapped to the Contributors security group.

Process Enactment

A common problem many product teams experience is trying to make their tools to follow their process. Team Foundation enacts process in the tools by enabling teams to customize process through a set of XML files. Every team project can follow a different process.Team Foundation supports customization of work items, work item instances, reports, security, project portal, documents and templates, source control settings, and process guidance content.

Tool Integration

To enhance collaboration, the tools that a team uses must work in an integrated manner to avoid duplication of work, such as repeating security configurations in multiple tools, and manual yet obvious steps, such as having to manually update status in a report when a work item is closed.

Team Foundation tools integrate with each other to automate many tasks that typically do not occur between tools. For example, when you check in source code to fix a bug, you can automatically resolve the work item that describes the bug.

Integration in the Integrated Development Environment
Many Team Foundation tools are integrated with the Visual Studio integrated development environment (IDE). Team Explorer is the main window to work with team projects. Additional windows are available from Team Explorer such as Source Control Explorer, and the Team Build Browser.

Team Foundation Extensibility
Team Foundation can also be extended to integrate additional tools that are created by third-party organizations.

Integration with Other Tools
Team Foundation can be used with older Visual Studio projects and other tools and code projects. Even though you cannot view and compile these types of projects using Team Foundation, you can run them side-by-side. You can use Team Foundation to collaborate on the projects, when you are using an older version of Visual Studio, or the other tools, to build the code.

TFS is the heart of VSTS. It pumps the required data and provides required services to the various client applications. It allows all the team members to collaborate with each other. It is a server which incorporates some of the best software technologies created by Microsoft like ASP.NET 2.0, Windows SharePoint Services, SQL Server 2005 etc.

TFS Architecture

Logical Architecture

TFS is a multilayered server. It is divided in the layers of Data Layer and Application Layer.

TFS Logical Architecture

The data layer and the application layer can be on the same machine if the number of clients is less than 20.
Data layer is implemented in SQL Server 2005. When TFS is installed it creates number of database and tables for maintaining the data of the users, work items, source control and other resources. Being implemented on SQL Server 2005, data layer provides excellent scalability and performance.
Application layer is implemented through set of services which are available over the network. Most of them are configured as webservices which makes them possible to be accessed even over the Internet.

Physical Architecture
It is possible to create a single tier architecture for installations which do not demand high scalability. It is suggested that for any non-trivial installation the data layer and the application layer should be on different servers to meet the scalability and reliability requirements. For meeting the requirements of teams which are geographically scattered and connected through internet, TFS provides the ability to use proxy to fulfill the requirements of distant users. Although proxy will be caching the source code, main source control where changes are allowed to be stored is where the main installation of TFS is. It is also suggested to have a separate build server since the build activity is very highly CPU intensive. Keeping the main TFS and build server on same machine with frequent builds may hamper the performance of TFS adversely. Fig 2 shows the suggested physical architecture of TFS for any non trivial installation.

TFS Physica lArchitecture

Services Offered by TFS
The main set of services offered by TFS are to improve collaboration between multiple users. We can enumerate those as shown in Figure below:

TFS Services

Source Code Control (SCC)
SCC is the major contributor to Software Configuration Management. SCC in TFS includes normal version control, Branching, Merging, Shelving and Unshelving etc. TFS maintains the source control in SQL Server 2005. By default it allows multiple check-out. We can place locks in such a way that either the locked files cannot be checked out or if they are checked out they cannot be checked in. TFS also supports check-in policies which make it mandatory on the team members to execute certain actions when they are checking in some source code.

SCC also works as a point of convergence between the team project and the technological solution. Team project allows for architecture, collaboration, monitoring and control of the project. It is very peripherally concerned with the technology. The technological solution does not involve itself with project management or versioning etc. Every unit of source code to be generated is tagged with a work item. Work item store the management data about the technological entities. Storage and management of work items is done through SCC.

Project Portal
For every team project TFS creates a SharePoint portal site. This site contains sections for Process guidance, Reports and documents. It provides appropriate permissions to contributors, readers and guests. Through the process guidance we can learn about the process template that is selected for the project. Various reports provide the health and progress of the project. Clients can have a look at the reports even across the Internet for status monitoring.

Work Item Tracking
Work items are tagged collection of data representing some abstract entities like task, bug, Quality of Service Requirement etc. We need to monitor status of each of these entities. At the same time each work item and entity pair will belong to a user at any given moment. The user will work upon the entity like task or bug and then either set the status of the work item to close or re-assign it to some other user for further work on the entity. TFS keeps track of status of each work item and the user who owns that work item at that time.

Build Automation
Each developer compiles the application in his / her workspace on the local machine. After compilation the code is checked in the source code control. The checked in code has to be built to ensure its interoperability with code created at other time, maybe, by some other developers. This build process should be carried out periodically to ensure integrity of all the checked in code. TFS allows creation of build at pre-determined time using a component called Team Build. Team build schedules the build script created using MS-Build to be executed at the predetermined time.

Reporting
TFS uses a separate data warehouse to generate reports. There are number of predefined reports as per the process template which are created by default. TFS uses SQL SERVER 2005 Reporting Service to create these reports. Each report indicates either of status of the project, quality of the software which is being maintained, progress of the project. These reports are based upon work items, source code, test results and builds. The status and progress of each is initially stored in the normalized tables in the database. TFS creates the non-normalized entries in the data warehouse for the use of creating reports. Reports Data Warehouse object model allows developers to create custom reports in the form of .rdl files using report designer. These reports can also be made available through the reports site.

Installation of TFS
Download TFS. You can install TFS on a client or on a server operating system. For clients, use Windows 7 or Windows 8, 32-bit or 64-bit. For servers, you have to use 64-bit. Go here for the complete list of system requirements for TFS.If you install on a server operating system, you can add a SharePoint portal and SQL Server reporting later, even if you skip those features during initial installation.

Use the Basic configuration wizard for a quick and simple installation.

After finishing, close the basic configuration wizard.

Once you’ve installed TFS, you might need to add antivirus exceptions.

Install the build service

After finishing the basic configuration wizard, you can install the build service on the same server. The build service automates builds of your software projects. Launch the build service configuration wizard.

Close the wizard after it finishes. Now your build server is ready to go.

Team Explorer installs with each version of Visual Studio, or you can download it for free. Although Team Explorer isn’t necessary for most administration tasks, it is required to create team projects, which your software teams will require, and to support work item tracking customization. Installing it on the server is a convenient way to ensure that you can create team projects whenever necessary without having to go to another computer

Team Foundation Server (TFS) is a Microsoft product that provides source code management (either via Team Foundation Version Control or Git), reporting, requirements management, project management (for both agile software development and waterfall teams), automated builds, lab management, testing and release management capabilities.It covers the entire application lifecycle. TFS can be used as a back-end to numerous integrated development environments (IDEs) but is tailored for Microsoft Visual Studio and Eclipse on all platforms.

Team Foundation Server 2015 on Cloud runs on Amazon Web Services (AWS), Azure and Google Cloud Platform (GCP) is built to add steps for MSBuild, Ant, Maven, PowerShell etc. (readymade templates are also provided) without creating build and to build cross platform solutions.

Cognosys Provides Hardened images of TeamFoundation on the cloud ( AWS marketplace, Azure and Google Cloud Platform).

Deploy TeamFoundation securely on cloud i.e. AWS marketplaceAzure and Google Cloud Platform (GCP)

Team Foundation Server 2015 on cloud for AWS

 

Features

AWS

Google

Videos

Team Foundation Server 2015 on cloud

Related Posts