Visual Studio Team Services

As we discussed in the previous chapter, AWS offers multiple services that enable successful DevOps practices in any organization. Likewise, Azure has a set of services/features DevOps that help developers build applications leveraging CI/CD principles and processes. In fact, even before Microsoft had cloud-based services in this space, it had an on-premises platform called Team Foundation Services (TFS), which developers and teams could make use of to deliver quality products. With an increased emphasis and focus on the cloud, Microsoft launched a cloud-based service called Visual Studio Team Services (VSTS), which is like a cloudified version of the pre-existing TFS. The biggest benefit for VSTS is, of course, that it is a managed platform. Azure does lots of heavy lifting on behalf of the customer so that they can focus on their core business of developing applications with proper collaboration and practices. Also, since TFS has been in existence for quite some time, VSTS is also a rich platform with multiple inbuilt capabilities and third-party integrations.

To understand the differences between VSTS and TFS, refer to the following link: 
https://docs.microsoft.com/en-us/vsts/user-guide/about-vsts-tfs

Since our focus here is on cloud native capabilities, let's dive deeper into VSTS and discuss a few of the main functionalities that it provides:

  • The first and the foremost is the ability to manage code, various versions, and branches. For the same, VSTS provides a couple of options, including Git (distributed) or Team Foundation Version Control (TFVC), and a centralized, client-server system. For using Git-based repositories, developers can make use of variety of IDEs, including Visual Studio, Eclipse, Xcode, and IntelliJ. Likewise, for TFVC, you may use Visual Studio, Eclipse, and Xcode. The VSTS cloud-based UI also provides various options to explore the code files in the project, and look at push/pull and commits-related details from there itself.
  • The other important aspect is the ability to have continuous integration and continuous deployment, which is central to any successful DevOps practice. So, again, VSTS enables this by using various functionalities that includes being able to create build and release definitions, creating libraries of build variables that may vary as per environment, as well as the definition of deployment groups where you can define target instances that are Windows, Ubuntu, or RHEL.
  • In order to implement DevOps, many teams also make use of Scrum, which are Kanban software development methodologies. So, it's important to integrate these processes with the code development practices, and that's what VSTS also helps with by providing project dashboards, sprint backlogs, task dashboards, and related visualizations to enable closer planning and collaboration. It not only helps project managers to evaluate the overall status, but even product managers to write stories, developers to link their tasks/bug fixes/checkins to respective stories, and QA teams to write their test cases and record results, thereby providing an end to end platform.
  • Apart from core service capabilities, another key aspect is to have ecosystem partner integrations available in an out-of-the-box or easy to use manner. That's exactly what Visual Studio Marketplace offers. You can select multiple plugins, including for work item visualization, code searching, slack integration, and more. Refer to the following link for more details of the available software and integrations: https://marketplace.visualstudio.com/vsts
Interestingly, VSTS Marketplace also has a plugin to manage and integrate with AWS services such as Amazon S3, AWS Elastic Beanstalk, AWS CodeDeploy, AWS Lambda, and AWS CloudFormation: https://marketplace.visualstudio.com/items?itemName=AmazonWebServices.aws-vsts-tools.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset