Azure DevOps on-premise costs - tfs

Seems strange asking this on SO but that's what MS want us to do so here goes...
I'm looking at setting up an on-premise Azure DevOps 2019 server, but as usual the licensing and costs aren't very transparent.
Our dev team are likely to be getting Visual Studio Pro subscriptions, which I believe comes with a DevOps server license and CALs. What happens if we stop these subscriptions - does it mean we can no longer use our on-premise DevOps server?
I'm not very clear on what "extras" we may need to pay for (extensions, pipelines), and I don't want to be hit by any surprises. The essential requirements are:
Be able to trigger a build on check-in. I can't tell if this is a built-in feature or requires some kind of extension and/or pipeline (and if so free or not?)
Use build tasks to create NuGet packages and host these on the in-house server. Again, does this require any paid extensions or pipelines?
There should be no limits on monthly build time (unlike VSTS which I believe is 240 minutes)

To my best understanding:
You can run Azure DevOps Server 2019 with at least one Visual Studio Professional or Enterprise license.
The features available to each user are based on the licence assigned to the user: Stakeholders (no license) get the very basics, Basic access (Professional) gives you most of the features, Enterprise gives you all the features.
The most notable differences between Basic and Enterprise are:
View Releases and Manage Approvals
Artifacts Microsoft published
Azure DevOps Extensions
However, per this annoucement, Artifacts are now included in the Basic/professional license.
So with only professional licenses you should be good for triggering builds, publishing and using nuget-packages via Artifact feeds. I'd think that installing extensions might require Enterprise user and haven't tested "View Releases and Manage Approvals" without Enterprise license yet. That seems to have changed from older TFS we've been using, in which Basic users were able to create and view releases.
So would recommend getting at least one Enterprise license, in any case.

one and two are free, third one is free with self hosted agent and 1800 minutes with hosted agent, if you are an opensource project you have lots of free compute time (dont think this applies to Azure Devops server though).
Build and release pipelines are included in Azure Devops Server 2019. https://learn.microsoft.com/en-us/azure/devops/server/release-notes/azuredevops2019?view=azure-devops#changes-to-artifacts-and-release-management-deployment-pipeline-licensing

Related

Managing files in TFS repository - what software to use?

generic question about chow to manage files in Devops with TFS (for legacy reasons, import data from VSS).
I can download latest or historic versions via browser but cannot upload them. For uploading new changesets I was using a Visual Studio Express. I currently lost an option to do so - is there any other way than going licenced VS Pro to do so? Is there a free standalone app that can be used for uploading content to DevOps which is using TFS?
Thanks for any pointers
A colleague of mine pointed me towards this:
Visual Studio Team Explorer 2022
A free solution for non-developers to interact with Azure DevOps Server and Azure DevOps.

Parallel releases after built in TFS

I am running into problems getting my build servers to run releases in parallel.
I just recently created my second build and test server. Both servers correctly run builds in parallel. And each of my builds triggers a release upon successful completion. However, only one server at a time will run a release.
I have verified that both servers are configured correctly because if I take down one server the other one starts running the releases correctly. However, when both are stood up together only one of them will run releases.
Is there a setting in TFS that does not allow multiple separate release definitions to run in parallel on different machines?
A TFS concurrent pipeline gives you the ability to run a single release at a time in a team project collection.
You can keep hundreds or even thousands of release definitions in your collection. But, to run more than one release at a time, you need additional concurrent pipelines.
One free concurrent pipeline is included with every collection in a
Team Foundation server. Every Visual Studio Enterprise subscriber
in a Team Foundation server contributes one additional concurrent
pipeline. You can buy additional private pipelines from the Visual
Studio Marketplace.
Purchase additional concurrent pipelines
If you need to run more concurrent releases, you can buy additional private pipelines from the Visual Studio marketplace. Since there is no way to directly purchase concurrent pipelines from Marketplace for a TFS instance at present, you must first buy concurrent pipelines for a VSTS account. After you buy the private pipelines for a VSTS account, you enter the number of purchased concurrent pipelines manually on the resource limits page described below.
http://{your_server}:8080/tfs/DefaultCollection/_admin/_buildQueue?_a=resourceLimits
Note: above is for TFS2017/2018.
If you are using TFS2015, take a look at this question: Do I need concurrent pipelines to use release management in versions before TFS 2017?
More details suggest you go through the official link in MSDN: Concurrent release pipelines in Team Foundation Server
The system seems to still be based on the honor code.
Through the link PatrickLu-MSFT gave I was able to change the number to anything I wanted, even though I did not actually purchase any additional licenses.
After resetting the additional licenses back to zero, I also found this link:
http://{your_server}:8080/tfs/_admin/_licenses
Again, it seemed to be based on the honor code here as well because I was able to add users with subscriptions to less than Enterprise to the VS Enterprise group.
However, when all my exploring was done, I was able to use that final link to enter the people who do have Enterprise subscriptions and that changed my overall license count so I was able to run releases in parallel.

Future of TFS vs VSTS

Is Microsoft still working on both products? Has development on TFS been dropped in favour of VSTS?
For context, we are using TFS right now and VSTS clearly has better integration. Specifically with Microsoft Teams and ZenDesk which is important to getting our workflow process in a more manageable state. However, VSTS doesn't have anywhere near the configuration or reporting that we require.
Will either product eventually have the full feature set or will we have to choose and build our own integrations or reporting?
Now Azure DevOps and Azure DevOps Server, but the rest of the story remains intact.
Visual Studio Team Services (VSTS) and Team Foundation Server (TFS) are based on the same codebase. VSTS is deployed to the cloud every 3 weeks or faster. TFS has received a major upgrade yearly (2015, 2017, 2018) and a major update pack every 3 to 4 months (2015.0-3, 2017.0-3, 2018.0-1).
Most new features are released to Visual Studio Team Services first and are integrated into Team Foundation Server with a bit of a delay. Some features are available in VSTS which depend on cloud resources, so they're not likely to move to TFS anytime soon.
With regards to reporting, this has been a bit of an Achilles' heel of VSTS. It has never had the Report Server and Analysis Cube capabilities of TFS. It does offer integration with PowerBI and that integration is quickly getting better.
You can see the overview of feature availability between cloud (VSTS) and server (TFS) on the Feature Timeline, as you can see a lot of new things happening, most of them are hitting VSTS first.
Microsoft offers a support lifecycle for Team Foundation Server and currently, it looks like Microsoft won't abandon their on-premise customers anytime soon. TFS 2018 has an extended support lifecycle all the way to 2028:
Products Released Lifecycle Start Date Mainstream Support End Date Extended Support End Date Service Pack Support End Date Notes
Visual Studio Team Foundation Server 2018 11/15/2017 1/10/2023 1/11/2028

Using Microsoft Test Manager to create test cases instead of TFS web access

I use Visual Studio Community edition at the moment. I want to create some test cases in a customer's on-prem TFS and they havn't bought the Test Manager extension. When I open web access I cannot add any test plans, test suites nor test cases.
I installed Microsoft Test Manager 2017 and from there I can create everthing I need and also run the test cases. After creating the test cases I can run them from web access.
I would be glad to buy some license for myself but wouldn't want to bother the customer with buying the Test Manager extension.
Question 1: I can't see what license Test Manager is using at the moment, e.g. could I be using a trial license that would expire and thus the above will stop working?
Question 2: Since the above is working, i.e. I can add test cases without paying for anything, is there a chance Microsoft will be plugging this in a future tfs update, i.e. Test Manager will stop working?
The desktop client for Microsoft Test Manager will be retired and only web access will be able to work with test cases.
If you look at https://www.visualstudio.com/vs/pricing/, you see that VSTS Test Manager is included with a Visual Studio Enterprise license. That's one way of purchasing Test.
Another way is to add the Test package to your account through the Marketplace: https://marketplace.visualstudio.com/items?itemName=ms.vss-testmanager-web#pricing. This will cost you $52 per month.
Visual Studio Team Services (VSTS) and Team Foundation Server (TFS) offer both web-based and client-based solutions for manual testing:
The Test Center in Microsoft Test Manager (MTM) client is a
desktop-based manual testing solution, which has traditionally been
used by testers for their Manual testing needs.
The Test hub in VSTS and TFS is a web-based manual testing solution,
which works across all platforms and with all browsers. We have
invested in Test hub over past two years to provide you better
experiences across Plan, Author, Execute and Track phases of Manual
testing.
Because the Test hub is a fully featured Test management solution
which works across all platforms and with all browsers, we recommend
you use the Test hub over Microsoft Test Manager for all your test
management requirements. You can use Microsoft Test Manager to test
your desktop applications by launching the Microsoft Test Runner
(client) from the Test hub.
This answered your second question Test Manager will stop working? For now, even it's not strongly deprecated by Microsoft, but also not been a recommend test management solution in TFS/VSTS. More details you could refer this link.
For question one, there are no trail license for MTM. You need to have Test Manager license. This license will be included in below subscriptions. Otherwise you have to buy this license separately.
Visual Studio Enterprise - monthly
Visual Studio Enterprise - annual
Visual Studio Enterprise with MSDN
MSDN Platforms
Visual Studio Test Professional with MSDN
Source Link: pricing
In your case, there's a strong possibility that you have a Visual Studio Enterprise license, so MTM work properly.

TFS 2013 : Multiple build controller on the same machine

I wish we could use multiple build controllers on the same machine because we have many team project collections but they're not used at the same time so there's no real performance issue here and most of our build servers are not used for extended period of time. I know it's possible to do this with TFS 2010 and TFS 2012 (see following post) but it's an unsupported feature.
Anyone can tell me if it's now officially supported with TFS 2013, I've not been able to find any useful information about this.
This is still an unsupported feature. This feature would be loudly trompetted should it arrive.
On the chances of this arriving in the TFS 2013 updates, I don't expect it. Maybe with TFS v14 (they're skipping v13) or maybe the version after that?
Make your voice heard on UserVoice:
http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2037679-remove-one-one-binding-between-collection-and-buil
http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/4417771-use-a-build-controller-over-more-than-one-team-pro
http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3872254-tfs-2012-possibility-to-have-more-than-one-build
Update
A new build system was introduced in TFS 2015 and Visual Studio Team Services. It's agent based. doesn't have Controllers and you can install multiple agents on a single machine.
Agents are grouped in Pools and live at the Server level, allowing you to use them across collections.

Resources