In today’s Ask the Admin, I will explain what Visual Studio Team Services (VSTS) is and how it compares to GitHub.
The popularity of DevOps is forcing sysadmins to learn how to use new tools, such as Visual Studio. Last year, I wrote a series of articles about deploying resources in the Azure cloud using JSON templates and GitHub. These can be found on the Petri IT Knowledgebase. The aim was to introduce sysadmins to the basics of DevOps in the Microsoft world. I chose to write about GitHub partly due to its popularity but now it is time to look at VSTS.
For more information, check out What Is GitHub? on Petri.
Based on a hosted version of Microsoft’s Team Foundation Server in the Azure cloud, which is much like GitHub, VSTS is a source version control solution for developers. It includes Git source control, integration with Visual Studio 2017, team collaboration tools, and features that enable continuous integration. If you are already familiar with Azure and Visual Studio, you might feel more at home with VSTS.
Unlike GitHub, VSTS allows users to create private repositories on its free tier for up to 5 users. If you plan to deploy builds to Azure, the free tier agent is limited to apps that take no longer than 30 minutes to deploy. GitHub’s pricing model provides free public repositories for an unlimited number of users. Private repositories cannot be created on the free tier.
VSTS users can choose between Git and Team Foundation Version Control (TFVC), which offers centralized source control. This is different from Git’s distributed model. There is also support for the Scrum team collaboration framework and Kanban workflow visualization boards.
An opensource code versioning solution, Git is to code what SharePoint is to documents. Developers download existing code from VSTS or GitHub, contribute code to the project, make changes, and commit the code to a local database maintained by the Git engine.
Files controlled by Git can have committed states, modified states, or staged states. Committed files are written permanently to the local database. Modified files have changed but not yet committed. Staged files are unchanged but marked to be committed. Projects can be synced back to the cloud or hub, as it is known in the case of GitHub.
VSTS charges per user. GitHub charges per private repository. VSTS offers customisable work item management, test case management, and there are templates for agile team structures out-of-the-box. GitHub offers only an issue tracker but add-ons allow it to integrate with cloud services. Similar functionality is found in VSTS.
In this Ask the Admin, I explained what VSTS is and how it compares to GitHub. In future articles, I will show you how to use VSTS with Visual Studio 2017 for deploying apps in Microsoft Azure.