Brian Keller

Director of ALM Evangelism for Microsoft

  • Brian Keller

    Updated Visual Studio 2010 ALM Virtual Machine


    The Visual Studio 2010 ALM Virtual Machine has been updated with a longer expiration date. If you are using the previous version, please note that it expires on April 9, 2012. The new version will expire on September 10, 2012.

    You can download the new version here.

  • Brian Keller

    Fix for InRelease Preview Hands-on-Lab


    Updated November 26, 2013: This blog post is obsolete now. The fix referenced below has been resolved in the RTM version of the Visual Studio 2013 ALM Virtual Machine.

    I have received several reports from people about the InRelease Preview Hands-on-Lab I published as part of the Visual Studio 2013 Preview ALM Virtual Machine not always working correctly. The most common symptom was that the release workflow would timeout during the “Build Web Sites” step. After investigation we determined that this was a bug in the InRelease Preview which will be fixed for RTM. In the meantime, there is a simple fix for getting the InRelease hands-on-lab working in the Visual Studio 2013 Preview ALM Virtual Machine. The steps are below and have also been published to the Hands-on-Lab document.

    InRelease Preview Bug Fix:

    1. Log in as Julia. All user passwords are P2ssw0rd.

    2. Launch the InRelease Console by double-clicking on the desktop shortcut.


    3. Click Configure Paths | Servers then double-click on VSALM to open the server properties window.


    4. Change the IP Address Type to Gateway, then Save & Close the window.


    Note: User Ralph Jansen reported in the comments that he had to wait a few minutes after booting his virtual machine before the “IP Address Type” radio button became active. Depending on the speed of your hardware your situation might be similar.

    5. You may now proceed with the exercises in this lab.

    I’m sorry to everyone who hit this bug. Hopefully this allows you to fully experience InRelease and understand how it might help you with release management in your organization.

  • Brian Keller

    Team Foundation Server 2012 and System Center 2012 Operations Manager Integration Virtual Machine and Hands-on-Lab / Demo Script


    Today we are releasing a new virtual machine that demonstrates the integration which is possible between System Center 2012 Operations Manager and Team Foundation Server 2012. This integration is designed to facilitate communication between operations teams and development teams, which is part of an industry movement known as DevOps. The goal is to accelerate Mean Time To Resolution (MTTR) by quickly providing development teams with as much relevant and useful information as possible about a production incident. Since System Center 2012 Operations Manager already has a deep understanding about your production systems and the applications which are running in those environments, this integration puts that information at the fingertips of the development team without requiring back-and-forth human interaction to solicit these details.

    A hands-on-lab / demo script is provided as a scripted walkthrough to showcase the value of this integration. The same scenario can also be seen by clicking through the accompanying DemoMate (online DemoMate | offline DemoMate installer).

    Note: This virtual machine has higher system requirements than most of the virtual machines we have shipped previously. This is due to the amount of enterprise software being demonstrated in this scenario. Please ensure that you have adequate system resources prior to downloading this virtual machine. If you do not have an adequate machine, you may prefer to use the DemoMates linked above.

    System Requirements:

    • This is a Hyper-V virtual machine and works with Windows Server 2008 x64, Windows Server 2008 R2 SP1, Windows 8 (with SLAT-capable processors) and Windows Server 2012.
    • 10 GB of free physical RAM (12 GB or more recommended)
      7 GB of RAM assigned to this virtual machine (8 GB or more recommended)
    • 50 GB of free hard disk space (more recommended if using snapshots)
    • Please take a few minutes to read the “Working with…” document for some important instructions on properly importing and working with this virtual machine.

    This virtual machine is configured with:

    • Microsoft Windows Server 2012 Datacenter Evaluation
    • Microsoft Visual Studio Ultimate 2012 Update 1
    • Microsoft Visual Studio Team Foundation Server 2012 Update 1
    • Microsoft Visual Studio Team Foundation Server 2012 Update 1 Power Tools
    • Microsoft System Center 2012 – Operations Manager SP1 with Update Rollup 1
    • Microsoft SQL Server 2008 R2
    • Microsoft SQL Server 2012 Express
    • Sample data required to support the hands-on-lab / demo script.

    Downloading the virtual machine and hands-on-lab / demo script:
    I suggest using a download manager for these files since they are very large. My download manager of choice is Free Download Manager. You can use your own favorite download manager, but you may need to adapt the instructions below as appropriate.

    1. Download and install Free Download Manager. This utility provides:
    - Auto-resume support for interrupted downloads.
    - Multiple simultaneous download streams for (usually) a much faster download experience.
    - As the name implies, it's completely free.

    2. Select the URL’s below and copy (CTRL+C) them to your clipboard.
    ###Start - Do Not Include This Line### Development and Operations with Visual Studio Team Foundation Server 2012 and System Center Operations Manager 2012.docx TFS 2012 and SCOM 2012.exe with the Visual Studio Team Foundation Server 2012 and System Center 2012 Operations Manager Integration Virtual Machine.docx
    ###End - Do Not Include This Row In Your Selection###

    3. Launch the user interface for Free Download Manager (either from the Start Menu or via the system tray icon if FDM is already running).
    4. Click File -> Import -> Import List of URLs from Clipboard.
    5. When prompted for a download group, accept the default and click OK.
    6. You are now free to minimize Free Download Manager while the files download. By default, they will be saved to c:\downloads.
    7. Expand the files and self-extracting RAR set and see the “Working with…” document for more instructions.

    I hope you will enjoy this content as a way of learning how System Center 2012 Operations Manager and Team Foundation Server 2012 can help your organization work better together to quickly diagnose and resolve issues with applications running in your production environments. If you have suggestions for how to improve this virtual machine and set of demos / hands-on-labs please let me know.

  • Brian Keller

    Using a download manager to quickly download Visual Studio 2010 Beta 1


    10/19/09 Update: Beta 2 is now available! Check out my new post on Downloading and Installing Visual Studio 2010 Beta 2.  

    The instructions in this blog post are meant to accompany 10-4 Episode 20: Downloading and Installing Visual Studio 2010 Beta 1. Please view that video for additional context, including a step-by-step walkthrough for installing Visual Studio 2010 beta 1.

    I suggest using a download manager for these files since they are very large. My download manager of choice is Free Download Manager. You can use your own favorite download manager, but you may need to adapt the instructions below as appropriate.

    10/14/09 Update: The SQL 2008 Trial is now downloadable via Free Download Manager as well. I have updated step 2 to reflect that, and removed step 7.

    1. Download and install Free Download Manager. This utility provides:
      • Auto-resume support for interrupted downloads.
      • Multiple simultaneous download streams for (usually) a much faster download experience.
      • As the name implies, it's completely free.
    2. Select the following list of URL’s and copy (CTRL+C) them to your clipboard. You can select all four files at the same time.
    3. Launch the user interface for Free Download Manager (either from the Start Menu or via the system tray icon if FDM is already running).
    4. Click File -> Import -> Import List of URLs from Clipboard.
    5. When prompted for a download group, accept the default ("Other") and click OK.
    6. You are now free to minimize Free Download Manager while the files download. By default, they will be saved to c:\downloads.
    Remember to watch 10-4 Episode 20: Downloading and Installing Visual Studio 2010 Beta 1 for additional instructions on how to install these files.
  • Brian Keller

    Team Foundation Server: Application Tier Cache Settings


    A great question came in this morning from a customer regarding the recommended system requirements for the Application Tier of a Team Foundation Server installation. Before I dive into the customer's question, first some background on how Team Foundation Server can be installed...

    Team Foundation Server can be installed in one of many ways to meet various project requirements, team sizes, and network topologies. You can even install TFS proxy servers to facilitate distributed development scenarios. The full range of installation options and step-by-step instructions are detailed in the Visual Studio Team Foundation Server Installation Guide.

    For teams of 50 or less we recommend a single-server installation. But for larger teams, Team Foundation Server supports a dual-server installation mode with the Data Tier and the Application Tier on separate servers. The Data Tier is where the SQL Server 2005 instance resides and is responsible for storing everything associated with your projects (source control history, work items, build reports, etc.). The Application Tier is mainly just responsible for brokering data between the various clients connecting to Team Foundation Server, regardless of where the requests originate (Visual Studio, Project, Excel, Teamprise, and so on).

    Now back to this customer's question... They noticed that the recommended system requirements for the Application Tier go up from 20 GB of free disk space (for supporting <250 users) to 40 GB of disk space (when supporting 250-500 users). Of course it makes sense that the Data Tier would require more disk space since more users implies a larger project (or multiple projects) to data store. But why does the Application Tier need that much extra space?

    As it turns out, the Application Tier has built-in algorithms to speed up the transfer of data between TFS clients and the Data Tier. This can result in significantly faster transfer times for everybody on the team and is one of the main reasons you may want a dedicated server for this task. As the size of the project and the number of clients goes up, so does the recommended disk space available for the Application Tier cache. You can even change the settings on the cache, such as to tweak the caching algorithm setting or to change the folder/drive where the cache is stored. For best results, store the cache on a fast, non-system drive. This and other helpful TFS topics are covered in the Visual Studio Team Foundation Administrator's Guide.

    Thanks to Robert Horvick on the Team System team for providing all of this great information!

  • Brian Keller

    Blogging in line waiting for Halo 2...


    ...just because I can. I'm waiting outside the Microsoft company store and I'm #15 in line. I can't WAIT to get in, get my copy, and start playing. Honestly I wasn't planning on even coming to get a copy today, because I didn't want to fight the lines, but when I woke up at 5:00am I considered it to be a sign. My neighbor, Elizabeth (aka KrustiGutz) is already ranked #5 in the world. :-)

    See ya online -
    Brian (aka Gr8fulDead)

  • Brian Keller

    Helpful links for the Visual Studio 2010 CTP


    Today we published a new CTP Virtual PC image of Visual Studio 2010. I hope you enjoy this pre-release as much as I have been! It's still early since it's a CTP, but I think it's our best CTP yet. I think you'll like the walkthroughs which are included in the VPC image.

    I've authored two blog entries which might help you when downloading and running this VPC image.


  • Brian Keller

    Building your Dream DevOps Dashboard with the new Azure Preview Portal


    Last week at Build 2014, Bill Staples showed off a preview of the new Microsoft Azure portal for the first time. You can jump to his demo in Scott Guthrie’s keynote.

    The new portal was built from the ground up to put your applications at the center of the experience. This may sound like an obvious concept, but let us stop for a moment to consider the state of cloud development.

    When developing for the cloud today, we are oftentimes managing individual resources (databases, storage, cloud services, virtual machines, and so on). It’s left up to us as cloud developers and IT professionals to piece these resources together in some meaningful way and manage them over time. Have you ever provisioned a cloud resource and later forgot what it’s being used for? Is this resource important, or was it just for testing? Which application was it for? I’m certainly guilty of this. The cloud makes it easy to use resources, and likewise it’s easy to waste them if you aren’t careful.

    Furthermore, the planning, development, and testing of those applications is usually done elsewhere, such as within Visual Studio Online. Monitoring the health of those applications and troubleshooting problems might be done in yet another portal, such as with Application Insights. Billing is displayed on a separate page. And so on.

    The new portal brings together all of the cloud resources, team members, and lifecycle stages of your application and provides you with a centralized place to plan, develop, test, provision, deploy, scale, and monitor those applications. This approach can help teams embrace a DevOps culture by bringing both development and operations capabilities and perspectives together in a meaningful way.

    In this post, I want to highlight one of my favorite capabilities of the new portal, which is the ability to create a rich DevOps dashboard for your application such as the one below. Go ahead and click to open the full image. It’s worth it. I’ll wait here.


    Pretty nice, huh? Believe it or not, this took us only about 15 minutes to create and fine tune using the new portal. Everything you’re looking at here is real, nothing is faked or demo data. The application in this screenshot happens to be the Office blog ( which runs on Azure Web Sites. We simply opened up that Azure subscription in the new portal ( and started adding the parts we wanted to visualize.

    The new portal allows each user to transform the portal home page (called the Startboard) into their own customized dashboard. You can make it your own and keep evolving it over time to suit your needs.

    Let’s take a closer look at what you’re seeing in the dashboard above.

    Resource Map

    I mentioned that the new portal was designed to bring together all of the individual resources of an application into a consolidated view. This is most evident by looking at the Resource Map part on this dashboard. The Resource Map is a visualization of a Resource Group, which is a model where the relationship between resources is stored (along with other important information). For this application, you can see the relationship between the production web site, the staging web site, and the billing plan. For other applications you might also see databases, database servers, or even Visual Studio Online team projects where the source code is managed and bugs related to this application are being tracked. To learn more about Azure Resource Groups, watch Azure Resource Group Model: Modern Management for Modern Cloud.



    The new portal brings in Application Insights capabilities which provide you with a wide range of analytics for your applications. This allows you to understand if your application is available, how it is performing, and even how users are interacting with it.

    For example, this graph shows you the top 5 pages which are being requested for your application:


    Clicking the part above opens a new blade which details the top-requested page URL’s.


    Not surprisingly, the default page was the most-requested page. But a close second was the announcement of Office for iPad.


    The Browsers part is another simple but effective chart which helps you understand the makeup of web browsers which are accessing your application. In the screenshot below, I have clicked on Internet Explorer in the Browsers blade to open the Internet Explorer blade. This new blade shows me a breakdown of the various versions of Internet Explorer being used by my application’s visitors. I then clicked on the pie chart wedges making up Internet Explorer 9, 10, and 11. This gave me the sum total (75%) of Internet Explorer traffic attributed to those browsers. This can be helpful in making product development and testing decisions regarding which browsers I should be supporting.


    Service Health

    Building any cloud application means that you are taking dependencies on a range of services which are probably outside of your control. Since no cloud vendor can guarantee 100% uptime, it is important to understand at a glance if there is an outage for a service you depend on.

    The Service Health part provides this global view across Microsoft Azure.


    You can click on this part to open a set of blades which allow you to explore each Azure resource type and the regions each resource is available in. You can easily pin the resources you care about back to your Startboard to tell at a glance if a service you care about is degraded or offline.



    Pricing and Billing

    One of the top-requested features by Azure customers is for more visibility into how much cloud resources are costing them. The new portal provides unprecedented transparency into this information. The parts below show me the billing plan I have elected for this application, along with a projection of the total estimated charges for the month. The Current Spend part you’re looking at below for the Office blog illustrates the economics of Azure Web Sites – this is for a site which serves up hundreds of millions of requests per month.


    Clicking on the Pricing Tier part allows you to choose a different pricing plan for your Azure Web Site. From here I could select a new pricing plan, click Select, and in seconds my Azure Web Site would scale to the new resource model.


    Customization Mode

    Most customization is performed by entering a customization mode in the portal. If you are familiar with customizing a Windows Phone or a Windows 8 start screen you will be immediately familiar with customizing the portal. Enter the customization mode by clicking on your user avatar and selecting Customize.


    It’s worth noting in the screenshot above that “Restore default settings” would reset your Startboard back to the default state. Avoid clicking this if you have invested in creating a customized dashboard.

    Alternatively, you can also right-click almost anywhere in the portal and choose Customize.


    Once in customization mode you can select an individual part and click the orange pin to change the size of the part. Most parts support a range of tile sizes, each thoughtfully designed to present the right amount of information for that configuration.


    You can also drag and drop parts to reposition them. A positioning grid helps you understand your alignment options.


    When you are done customizing, click Done in the upper-right corner:


    Or right-click anywhere and select Done customizing:



    The portal works really great on a touch-screen device. I’ve tried it on my Surface, and on an iPad, but my favorite experience so far has to be on one of the Microsoft Perceptive Pixel devices we had at Build. We loved it so much, in fact, that we rolled it out on stage for Bill to show off during the keynote:


    I expect that in the not-too-distant future these types of high-PPI touch-enabled displays will become commonplace in DevOps team rooms. But until then, you can get started with a cheap projector or LCD monitor.


    All of the capabilities mentioned above are available to you today using the new Azure Preview portal. But you should be aware of some of the limitations of the preview.

    Only a subset of Azure resources can be managed from this portal today – namely Web Sites, SQL, MySQL, and Visual Studio Online team projects. More resources will be coming over time, but you can always access the release version of the portal ( when you need to do something that the new portal doesn’t yet provide.

    Additionally, accessing the new portal requires that you are an administrator or co-administrator for a given subscription. This means that in addition to being able to view the health of your applications, somebody with access to your portal could accidentally (or maliciously) stop/delete resources or create new ones. This is no different from granting someone co-admin access to a subscription today, but it’s something to be aware of if you intend to create a centralized dashboard for the entire team. Role-based access control (RBAC) is an important part of the team’s backlog, and this will be coming in the future.


    The new Azure Preview portal paints an exciting look at the future of DevOps. This is a first-of-its-kind experience which brings together all of the individual resources, people, and lifecycle stages of your application into a unified portal. In this post I have just introduced you to a very narrow set of its capabilities, and Microsoft is just getting started. There is a lot of future investment happening which will make this experience even better over time.

    We want to see you take the portal and make it your own. I would love to see pictures of your own dream dashboard created with the new portal. You can link to them from the comments below, or hit me up on Twitter @briankel.

    Thanks for reading!

  • Brian Keller

    OData Service for Team Foundation Server 2010 - v1


    January 7 2013 Update: v2 of this service is now in beta. It still supports Team Foundation Server 2010, and it adds support for Team Foundation Server 2012 as well as a few new APIs and bug fixes.


    A few months ago we released the beta of the OData Service for Team Foundation Server 2010. Today, I am pleased to announce that v1 of this service is now available and you can download it here.

    What the heck is an OData Service for Team Foundation Server 2010?
    I’m glad you asked. The purpose of this project is to help developers work with data from Team Foundation Server on multiple device types (such as smartphones and tablets) and operating systems. OData provides a great solution for this goal, and has been embraced by numerous developers for building great device-specific applications. OData is accessible from any device and application stack which supports HTTP requests. This OData service interacts directly with the TFS client object model.

    What is OData?
    OData exposes a way to work with data over the web. If you’re new to OData, I suggest spending a few minutes at reading about this evolving standard. It uses interfaces similar to REST, so that you can programmatically consume and manipulate data from any device or application stack which supports HTTP requests. DPE has been working with several organizations (such as PayPal, Facebook, and Netflix) and product groups to enable OData where it makes sense to do so. Team Foundation Server was an obvious choice since it not only allows developers to extend TFS in new and interesting ways, but it also allows us to further showcase support for this evolving standard with the developer community at large.

    Can I see a demo?
    Of course! I filmed a video for Channel 9 which shows you how to get started using this service. When you’re ready to get started, just download the release which includes full documentation. The service can be easily hosted in Windows Azure to front-end your own Team Foundation Server instance, or if you want to use this with CodePlex we’ve already hosted this service for you at As long as you have contributor rights on any CodePlex project backed by Team Foundation Server 2010 you can start making OData calls immediately. We also have included a sample Windows Phone 7 application, and WebMatrix Helpers, which show you how to get started building applications which consume this service.

    You can also find a few great projects from people in the community who have been using this during the beta to build some great applications, such as TFS on the Road (a TFS app for Windows Phone) and a few other examples here.

    (this is a video I filmed during the beta so you'll hear me refer to this as a beta, but the concepts are the same for the v1 release)

    What’s new in v1?
    Since the beta, we have invested heavily in better documentation and a better installation experience. We have also made a few bug fixes and added support for a few operations, mainly around build definitions. Everything we have done since the beta has been based on direct customer feedback. Thanks to everybody who has contributed by evaluating the beta and helping to make this a great release!

    So this is v1 – what is your roadmap for future releases? Is this supported?
    I would like to continue to iterate on this and add value over time. I should make it clear, however, that this is not an official release from the TFS engineering team. The TFS engineering team has reviewed the service and approved of the approach we are taking, but there is no official support for this service. That said, all of the source code is provided for you, the license permits you to use it and extend it for your own purposes, and we are interested in (but not committed to) continuing to add capabilities over time. Personally, I’d love to get this working with the Team Foundation Service, but since it’s only in a “preview” mode at the moment it’s a bit too early to be building extensions for it.

    If I build an application using this service, will users need client access licenses (CAL’s)?
    In most cases, they will. Connecting to Team Foundation Server via OData has the same licensing implications as connecting via Team Explorer, the web, or any other client. But there are a few exceptions where users working with Team Foundation Server don’t need CAL’s. Please refer to the Visual Studio 2010 licensing whitepaper for all of the details.

    I hope you enjoy this – if you build something interesting please be sure to drop us a line and let us know!

  • Brian Keller

    Visual Studio 11 ALM Virtual Machine and Hands-on-Labs/Demo Scripts updated for beta


    I’m pleased to announce that in conjunction with today’s beta release of Visual Studio 11, the Visual Studio 11 ALM Virtual Machine has also been updated, along with all of the hands-on-labs and demo scripts.

    Start your downloads here!

Page 4 of 29 (285 items) «23456»