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!
Let's meet so the free build.
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.
Needs more build than the free service is able to offer? So let's talk more parrudas options.
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.
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.
- 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).
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:
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.
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!