Team Foundation Service Updates – 5/15
**UPDATED 5/15 @9:21EDT** Drag and drop of tiles has been enabled now for a few hours and I just updated the “Improved logout section” with a screenshot.
It’s that time again. Our next sprint is complete and today we’ve updated hosting service with new bits. In general, the list of new capabilities is still modest. Much of our attention is still focused on tying a bow on TFS 11 and some continued hosting infrastructure work – some of which I’ll mention here. So, the notable changes in this release include:
Copy capacity from previous sprint – Setting up a new sprint can be tedious and one sprint is often a lot like the previous. So, one step we’ve taken (and you’ll see more next sprint) is to enable you to copy your sprint capacity from the previous sprint. You can then tweak it if you have changes for the current sprint.
Reorder homepage tiles – In TFS 11, we added the ability to have summary tiles on the project homepage that rendered some useful info from your various “favorites” (queries, checkin history, builds). We’ve now added the ability for you to organize the tiles the way you like best. You just drag and drop the tiles where you want them. Note this particular feature is under a feature flag (see the item below) and won’t be enabled until late in the update cycle.
Expand/collapse query results – We added buttons to easily expand all/collapse all hierarchical work item query results.
Improved logout – If you’ve tried using multiple LiveIDs with TFS then you know that switching can be a pain because you have to logout both from our service and from live.com. We’ve improved that – though it’s still not perfect. Now we chain the logout of live.com so, if you log our from TFS, we’ll automatically log you out from Live. Unfortunately you still get an ugly browser page that says you haven’t completely logged out yet. We need some additional support from Azure Access Control Services before we can fix that but we will fix it. Here’s what the less than ideal final logout screen looks like.
Feature switches – Feature switches are an important piece of infrastructure that allow us to deploy features and not have them visible. We can then selectively enable features for different accounts. This enables us to test features in production and to run beta/preview testing with select groups of customers. It will enable us to better understand the impact of new features before unleashing them on the world 🙂
Improved performance for the job scheduler – As the service continues to grow, we started to hit scalability problems with the background job scheduler (it executes any long running background tasks – project creation, upgrade, identity synchronization, etc). We’ve change the way we dequeue jobs and partition them across agents that has resulted in about a 10X reduction in the overhead and should generally improve the performance of the background jobs and reduce load on the system.
Build agent reimaging – Until now our build service used Windows login profiles and ACLs to isolate one build customer from another. In reviewing this with the Azure team, we concluded that this was not fool proof enough. We’ve moved to a model of completely reimaging each VM after a tenant’s build completes. This way there is no chance that anything is left over for a subsequent tenant to try to “sniff”.
Multi-tenancy – Until today, every tenant in Team Foundation Service got their own Team Project Collection SQL Azure database. As the service scales, this is not going to be cost effective for the full range of customers we expect to have. In the last sprint we deployed some key infrastructure changes that would enable us to store multiple tenants in the same database (with no leakage of information). In this sprint, we will actually start combining some of the tenant databases. This will be a multi month effort and, in the long run, I expect we’ll offer varying levels of quality of service at various price points. This is one of many dials we can turn to adjust cost vs quality of service.
There were, of course, lots of other small changes.
It’s great to have another deployment behind us. It will take several hours for it to roll through all the accounts and update them all. You may go to the service and not see the new changes. If you don’t see it by tomorrow morning, let me know and we’ll investigate.