***UPDATED*** June 2014 - The early adopter program ended in may and the data export capability described below expired on May 20th.

I know this is the second time I am doing this but I believe it is the last.  For a refresher for those who don’t remember what the early adopter program is, let me explain.  We released the public preview of VS Online in November.  At that time, we introduced our business terms, in a preview form – including free access for up to 5 users.  You can read more about your options for purchasing VS Online on the Visual Studio Online overview page.  We had promised the throngs of people who jumped onto the service early (before we had announced pricing) that we’d ensure a smooth transition for them into the paying service.  Part of that transition is an “early adopter program” that enables them to continue to use the service for free for a period while they evaluate the change.  Part of our plan has been to provide the ability for customers to migrate their data from the service and to an on-premises TFS with very high fidelity should they choose to do so.  Our original expectation was that, this would have been available in the ~January timeframe.

However, readers of my blog will know that we had some post launch reliability issues and, as I described in this post, we’ve had to do quite a bit of work to evolve the service to continue to provide a great customer experience.  Since providing a great service is more important than collecting money (OK, both have to happen eventually, it’s just a question of which happens first Smile), we chose to delay the work on the data migration capability until we had the service in good shape again.  In order to honor our promise of an orderly transition for our early adopters, we’ve extended the early adopter program (free, roughly unlimited use).  Those customers that created accounts before December 13, 2013 will have the expiration date of their “early adopter (free) status” extended to May 7, 2014.  At that time, the early adopter program will end and everyone will transition to “standard terms”.  Between now and then, we will enable the data export experience.  Stay tuned for a precise date but it’s several weeks away as of this writing.

I know more free usage is not going to be frowned upon too seriously by any of you but, I never like any delay in our plan but sometimes plans have to change.  For you early adopters, next week you will see that the banner on your VS Online account will change to show a good bit more time before your account will revert to a standard account.  Here’s what mine looks like now.

image

While I’m at it, let me say a few words about the data migration capability we are enabling.

We promised to provide a smooth transition for early adopters from preview to General Availability (paying) and we are doing so.  The ability choose to migrate to an on-premises TFS is an important part of that commitment.  We will follow through on that commitment by enabling any customer who decides that they’d rather move to an on-premises TFS (for any reason) to contact customer support and get help migrating their data.  This will enable you to export all of your relevant VS Online data (source code, work items, test cases, etc, all with history, dates preserved, etc) and attach it to a TFS 2013 Update 2 server as a new Team Project Collection.

There a few important things to understand:

  1. Export is not available yet but will be soon (in a few weeks).  We will let you know when it is available.
  2. To migrate your data, you must contact us.  You can send email to (***UPDATE*** email address removed due to end of the export window) and we will help you.  There is no charge for this.
  3. You can only migrate to a TFS 2013 Update 2 server.  If you don’t have that yet, you will need to upgrade.  TFS 2013 Update 2 will RTM at the same time we enable data migration.  Once you’ve attached the exported collection to your on prem server, it’s just a normal on prem server and can be managed and upgraded to future versions like any other on-prem server.
  4. There’s no clean, easy, high fidelity way to bring your data back to the service if you change your mind.  We don’t yet have an “import” feature.  We’d very much like to have one but we don’t yet and until we do, this pretty much a one way street.
  5. The migration capability will only be available for a limited time – about 6 weeks, to help with people transitioning from the early adopter program.  We hope to eventually provide a general purpose data export “feature” but, for reasons I explain below, we aren’t able to do that at this time.

I’d very much like to have a permanent export feature – I think there are lots of scenarios that it would enable, and I haven’t given up on getting there.  However, going into the the implementation of this capability we knew it was going to be very expensive.  The big problem with it is that the service upgrades every 3 weeks but the on-premises product can’t.  That means that when we export, we have to “downgrade” or transform the schema from the then current schema on the service to the schema that was supported in some version (realistically, the most recent) of the on-premises product.  That means, for every feature we build, we must not only build the feature and build the upgrade path but we must also build the downgrade path.  And building the downgrade path isn’t the most difficult part – it’s validating it on a large enough set of real world customer data to make sure that it works reliably.

At this point, we know we have some large schema changes coming this summer as we enable process customization and other important features people are waiting for.  We are not going to be able maintain the the “downgrade” code path through those changes.  I don’t like it and I’m sure I’ll get my share of comments reinforcing this but I believe it’s a call we need to make.  To manage through this, we have decided to scope the capability, for now, to aiding people through the transition and will consider doing more later.  I’m not making any promises but will certainly listen to feedback over the next year.

Of course, this data export/migration feature is not the only way to get your data from the service.  It’s just the easiest and highest fidelity way to get it into an on-premises version of TFS.  Your data is yours and you can use TFS features and APIs to extract any and all of your data any time you wish.

Stay tuned over the next few months because we are going to have quite a bit of service related news.  As soon as TFS 2013 Update 2 and the migration capability are available, I will let you know.  I’m telling you now so that you have time to get ready for it in the event you want to use it.

Brian