Spring into the Cloud
The Cloud, if there was ever a term that carried so many connotations with it in the technology world during the last few years, The Cloud would be #1. Nevertheless, the fact remains that The Cloud is here to stay and its grip on everyday technological decisions only gets stronger. In fact, according to Gartner“By 2015, at least 20% of all cloud services will be consumed via internal or external cloud service brokerages, rather than directly, up from less than 5% today.” And now that we are in 2015 their prediction seems right on.
But what does this mean for you, the everyday developer doing her best to keep abreast of ever changing technology, doing more with less and reducing as much friction as possible in order to maximize your time, investment and product development? For starters I would say that cloud adoption means that your basic product output as a developer, that is your code, needs to be able to be in the hands of your clients as soon as possible. Perhaps some of you have already taken the plunge and this post seems like old news to you, but perhaps there are some of you that are new to The Cloud and are now ready and willing to jump in head on and want to know where to begin. So I would tell you that you should first start in the place where your source code calls home, the source control repository.
I suggest you start here first because I believe your source code repository is the launching point for everything you will eventually like to do in The Cloud. There are many source code repositories out there that are cloud hosted such as GitHub and Bitbucket, but if you are just getting started with cloud hosted repositories and you are currently using Team Foundation Server as your on-premise source code hosting solution, then I suggest you start with Visual Studio Online, since it will make the jump into The Cloud seam more seamless if you take this route.
So you have a project or a set of projects in your TFS (Team Foundation Server) on-premise repository and you want them in VSO (Visual Studio Online). So you take a copy of your projects, downloaded them to your local machine and then proceed to upload them into the new cloud hosted VSO repository. We are all done here, right? Well, believe it or not I have seen this approach done before and it is not something I recommend. There are a few reasons for this, but I think mainly it comes down to the fact that the history of your codebase is lost, possibly forever, along with any shelves or changeset details that could prove useful in the future. What you want to do instead is migrate all this data to VSO.
Now, before any migration steps are done you should make sure your TFS installation is fully backed up. You have setup full and differential backups for your TFS on-premise installation, right? Well, as life would have it, I have noticed that this best practice can sometimes also be overlooked. Yes, shocking, but nevertheless it happens. Therefore, before you go on and migrate your TFS source code repositories to VSO, you should make sure your current TFS on-premise is fully backed up. I will not rehash the details for this procedure since they are already well documented in the MSDN website: Understanding backing up Team Foundation Server.
Backups all set and done? Great! Let’s move on to the next requirement. So now you can start migrating your source code to VSO with the confidence that if something goes horribly wrong, you can restore your TFS to the last stable and known point in time. So, you are going to need the right tool for this next task, I recommend using OpsHub FREE Visual Studio Online Migration Utility. Keep in mind that as it is a free tool it has some limitations. For instance, if you have made heavy customizations to your project templates, you will need to reset them to the default ones in order to successfully run the tool. But if you don’t have that issue, then you can just run the tool and it will migrate all your source code history including changesets, work items, test cases, and test results. I will not covered the migration walkthrough for this tool, as there already exists excellent step by step documentation on this topic from the VSO website: Migrate team projects from on-premise TFS to Visual Studio Online. I have successfully used the OpsHub tool before to migrate a TFS instance to VSO and the only thing that I found difficult was finding the email validation the tool sends in order to continue the migration. If that happens to you, just check your email junk folder and it should be there.
So now you have a starting point to jump into The Cloud. Once your source code repository is in the cloud then you can do other fun things such as deploy from your source code repository! But that would be a topic for another time, until then happy coding and see you out there on The Cloud!