How is licensed Visual Studio build service Team Services?

A little while ago arose within the time of ALM Lambda3 a rich discussion about the licensing model of the Visual Studio Build Service Team Services (VSTS).

What? You didn't know that builds in VSTS are charged? Then you better read this post.

The Visual Studio Team Services offers a build and deployment automation serving not only to accounts held in the VSTS itself, but also the external repositories like GitHub. The same agents who offer the services build automation are also used for the automation of releases. In other words, the discussion in this post covers not only Build but also Release Management.

There are various levels of service and billing models to Build of VSTS. So, let me first reassure you all: despite being licensed, the build service provides a basic level (and free) service. Phew! Smile

Let's meet so the free build.

Free Service

The free service offers 240 minutes per month of time to build and/or release. In other words, if your team has a CI build lasting an average of five minutes, you will be able to run some 50 builds a month. It's not little, but certainly not enough for most teams.

In addition to the limited amount of minutes per month, the free service is restricted to either:

  • Maximum duration of 30 minutes for a single build and/or release. That way, if any of your builds (or releases) take more than half an hour, it will be aborted;
  • Only one job simultaneously. You can run only one thing (either build or release) at a time. If other builds are scheduled, they will stay in the queue (FIFO) until the build in progress finish.
Build service in free mode in classic Azure Portal
Build service in free mode in classic Azure Portal (click to enlarge)

Needs more build than the free service is able to offer? So let's talk more parrudas options.

Paid service

To have access to paid services, the first course of action is to configure the collection ("billing") in his account of VSTS. After this step, you can hire the services of additional build.

Hosted Agents

Your first option to be able to run more builds is to hire a hosted Build Agent ("Hosted Build Agent"). With him, you have a machine administered and maintained by Microsoft – you only pay for the use.

When you choose a hosted agent you don't pay extra for minutes, but a fixed value of $ 40 per month. This means that, regardless of the number of builds that you run, you pay only a fixed amount. There are, however, some limitations:

  • Up to 360 minutes for a single build and/or release. Because, come and let's face it: If your build takes more than 6 hours to finish, he deserves to be aborted. Open-mouthed smile
  • Only one job simultaneously. As in the free service, you can't run more than one build agent at a time. However, you can hire an agent and, in this case, could have more concurrent jobs (a job for agent).

Private agents

Hosted agents discussed above are quite convenient-after all, you don't need to worry about servicing them – but they have a big "but": you can't install anything on them! If you want to have control over what's installed on your build agent-for example, your system has dependencies that must be previously installed on the build machine-then hosted agents are not an option. In this case, the solution is to use private agents.

Private agents build machines are created and maintained by you. Because they are yours, may be on-premises or in a virtual machine in the cloud. Can be Windows, Linux or Mac. And can run any software you want and/or need.  And, most of all, you don't pay by use and can run jobs, in the quantity you want. Your cost is only the agent licensing: the first agent is free, but from the second private agent must be paid 15 bucks a month for the right to use that agent.

Activating the paid service

The Azure Portal, you can access your account options of VSTS and add hosted and/or private agents in the section Build and Deployment service:

The build service configuration: hosted (1) Agents and private agents (2)
The build service configuration: hosted (1) Agents and private agents (2) (click to enlarge)

XAML Builds

If you are still using XAML, Builds the options above do not apply to you. You can't hire agents and private agents or hosted.  In this case, your alternative is to buy additional minutes. With more minutes, you can run more builds a month.

To buy more minutes you can access the configuration section of the Visual Studio Team Services classic Azure Portal. On the configuration page of your VSTS, click the scale tab ("Scale") to access the payment plans of various services of VSTS.

Once there, change the Build to Pay ("Paid") and set the maximum consumption (to avoid "surprises" at the end of the month!). If the ceiling of minutes is reached, the build service is switched off until the following month to not generate additional charges.

Enabling the service paid to build hosted
Enabling the service paid to build hosted (click to enlarge)

Conclusion

The build service of VSTS is quite flexible and powerful – not only technically but also in their billing models. You can find a model that fits best in your team's profile and offering the best cost-benefit ratio.

And you, uses the services of build of VSTS? Share your experience with us in the comments!

 

A hug,
Igor

Author: Igor Abade

Igor Abade V. Leite ([email protected]) is a Visual Studio ALM MVP (Microsoft Most Valuable Professional) since 2006. Speaker at various Software Development community events (TechEd Brasil, The Developers’ Conference, DevOps Summit Brasil, Agile Brazil, Visual Studio Summit, QCON among others), has also written articles in magazines and websites such as MSDN Brazil. Since March/2011 is one of the owners of Lambda3, a Brazilian consulting company specialized in ALM, software development and training. Visit his blog about VS ALM at http://www.tshooter.com.br/ and follow him on Twitter @igorabade.

Leave your comment!