Manually Merging Hyper-V Checkpoints


A Last ditch Effort

Fist of all you need to realize this might not work. It’s a last ditch effort. There is a reason why you have backups (with tested restores) and why you should monitor your environment for things that are not as they should be. Early intervention can pay off.

Also see blog post on a couple of more preferred actions.

If you have lost checkpoints, you have basically lost data and corruption/data inconsistencies are very much a possibility and reality. If the files have been copied and information about what file is the parent the dates/timestamps are what you have to go by. You might not know for sure if you have them all.

Setting up the demo

For demo purposes we take a test VM and ad files to indicate what checkpoint we’re at.

We start with ORGINAL.TXT on the desktop and we create a checkpoint, which we rename accordingly.

image

We add a file called CHECK01.TXT and we create a checkpoint, which we rename accordingly.

image

We add a file called CHECK02.TXT and we create a checkpoint, which we rename accordingly.

image

We add a file called NOW.TXT no more checkpoints are taken.

image

The file names represent the content you’d see disappear if you applied the checkpoint and we have reflected this in the name for the checkpoints.

image

As we want to merge all the snapshots and and up with a usable VHDX we’ll work back from the most recent differencing disk until all is merged. As you can see this is a straight forward situation and I hope you’ll never be running having to deal with a vast collection of sub trees Smile.

Finding out what are the parents of avhdx files

In this demo it’s pretty obvious what snapshot exist and what avhdx files they represent. We’ve even shown you the single tree visualized in Hyper-V Manager. In reality bad things  have happened and you don’t see this information anymore. So you might have to find out yourself. This is done via inspect disk in Hyper-V manager. I you’re confused about what the parent is of (a)vhdx files this tool will help you find out or show you what the most recent one was.

image

Sometimes the original files have been renamed or moved and that it will show you’re the last known valid parent.

image

Manually Merging the checkpoints

Remember to make a copy of all files as a backup! Also make sure you have enough free diskspace … you need working space! You might need another shot at this. As we want to merge all the snapshots and and up with a usable VHDX we’ll work back from the most recent differencing disk until all is merged in the oldest one which is the vhdx. You can look at the last modified time stamps to find out the correct order in which to work. The most recent avdx is the one used in the virtual machine configuration file and locate the information for the virtual hard disk.

image

The configuration file’s avhdx is the one containing the “NOW” running state of the VM.

Note: You might find some information that you need to rename the extension avhdx to vhdx (or avhd to vhd). The reason for this was that in Windows 2008 Hyper-V Manager did not show avhd files in the Edit virtual disk wizard. You can still do this and it will still works, but you do not need to. Ever since Windows Server 2008 R2 avhd (and with since Windows Server 2012 avhdx) files do show up in Hyper-V Managers Disk edit.

For some insights as to why the order is important read this blog by Ben Armstrong What happens when a snapshot is being merged? [Hyper-V]

WARNING: If you did not start with the most recent one and work your way down, which is the easiest and least confusing way all is not lost. But you will have to reconnect the first more recent (a)vhdx to one to it’s new parent. This is needed as by merging a snapshot out of order more recent one will have lost it’s will have lost it’s original parent.

Here’s how to do this: Select reconnect. This is the page you’ll get if you’d start edit disk wizard as all other option are unavailable due to the missing parent.

image

The wizard will tell you what used to be the parent and allow you to select a new one. Make sure to tick the check box for Ignore ID mismatch or the reconnect will fail as you’re previous out of order merge has created a new a(vhdx). If your in this pickle by renaming (a)vhdx files or after a copy this isn’t needed by the way.

image
Follow the wizard after that and when your done you can launch the edit disk wizard again and perform a merge. It’s paramount that you do not mix up orders when doing so that you reconnect to the parent this or you’ll end up in a right mess. There are many permutations, keep it simple!. Do it in order Smile. If you start having multiple checkpoint trees/subtrees things can get confusing very fast.

You might also have to reconnect if the checkpoints have lost their connection the what they know to be their last parent for other reasons. In that case you do this and when that’s done, you merge. Rinse and repeat. The below walk through assumes you have no reconnects to be done. If so it will tell you like in the example above.

Walk trough:

Open the Edit Disk Wizardimage

Select the most recent avhdx & click “Next”

image

image

We choose to merge the avhdx

image

In our case into its parent disk

image
Verify the options are correct and click “Finish”

image

Let the wizard complete

image

That’s it. You’ve merged the most recent snapshot into it’s parent. That means that you have not lost the most recent state of the virtual machine as when it was running before you shut it down. This can be verified by mounting the now most recent avhdx and looking at the desktop for my user profile. You can see the NOW.txt text file is there!

OK, dismount the avhdx and now it’s rinse and repeat.

image

image

You do this over an over again until your merge the last avhdx into the vhdx.

image

Than you have the vhdx you will use to create a new virtual machine.

image

Make sure you get the generation right.

image

Assign memory

image

Connect to the appropriate virtual switch or not if you’re not ready to do this yet

image

Use your vhdx disk that’s the remaining result of your merging efforts

image

image

When you boot that virtual machine you’ll see that all the text files are there. It’s as if you’ve deleted the checkpoints in the GUI and retained “NOW” in the vhdx.

image

image

Last but not least, you can use PowerShell or even DiskPart for this but I found that most people in this pickle value a GUI. Use what you feel most comfortable with.

Thanks for reading and hope this helps someone. Do remember “big boy” rules apply. This is not safe, easy or obvious in each and every situation so you are responsible for everything you do in your environment. If your in to deep, way over your head, etc. call in some expert help.

3 Ways To Deal With Lingering Hyper-V Checkpoints Formerly Known as Snapshots


Lingering or phantom Hyper-V checkpoints or snapshots

Once in a while the merging of checkpoints, previously known as snapshots, in Hyper-V goes south. An example of this is when checkpoints are not cleaned up and the most recent avhdx or multiple of these remains in use as active virtual disk/still even as you don’t see them anymore as existing in the Hyper-V Manager UI for example. When that happens you can try looking at the situation via PowerShell to see if that show the same situation. Whatever the cause, once in while I come across virtual machines that have one or more avhdx (or avdh) active that aren’t supposed to be there anymore. In that case you have to do some manual housekeeping.

Now please, do not that in Windows Server 2012(R2) Hyper-V replica is using checkpoints and since Windows Server 2012 R2 backups also rely on this. Just because you see a snapshot you didn’t create intentionally, don’t automatically think they’re all phantoms. They might exits temporarily for good reason Winking smile. We’re talking about dealing with real lingering checkpoints.

Housekeeping

Housekeeping comes in a couple of variants form simply dusting of to industrial cleaning. Beware of the fact that the latter should never be a considered a routine operation. It’s not a normal situation. It’s a last ditch resort and perhaps you want to call support to make sure that you didn’t miss anything else.

Basically you have tree options. In order of the easiest & safest to do first these are:

  1. Create a new checkpoint and delete it. Often that process will take care of merging the other (older) lingering avhd/avhdx files as well. This is the easiest way to deal with it and it’s as safe as it gets. Hyper-V cleans up for you, you just had to give it a kick start so to speak.
  2. Shut down the VM and create a new checkpoint. Export that newly created checkpoint. Yes you can do that. This will create a nicely exported virtual machine that only has the relevant vhd/vhdx files and no more checkpoints (avhd/avhdx). Do note that this vhd/vhdx is dynamically expanding one. If that is not to your liking you’ll need to convert it to fixed. But other than that you can dump the old VM (don’t delete everything yet) and replace it by importing the one you just exported. For added security you could first copy the files for save guarding before you attempt this. image
  3. Do manual mergers. This is a more risky process & prone to mistakes. So please do this only on a copy of the files. That way you’ll give Microsoft Support Services a fighting change if things don’t work out or you make a mistake. Also note that in this case you get one or more final VHDX files which you’ll use to create a new virtual machine with to boot from. It’s very hands on.

So that’s the preferred order of things to try/do in regards to safety. The 3rd option, is the last resort. Don’t do it before you’ve tried options 1 and 2. And as said above, if you do need to go for option 3, do it on copies.If you’re unsure on how to proceed with any of this, get an expert involved.

There’s actually another option which is very save but not native to Hyper-V. In the running virtual machine which current state you want to preserve do a V2V using Disk2vhd v2.01. Easy and sort of idiot proof if such a thing exists.

In a next blog post I’ll walk you through the procedure for the 3rd option. So if this is your last resort you can have practiced it before you have to use it in anger. Bit please, if needed, and do make sure it’s really needed as discussed above, try 1 first. If that doesn’t do it. Then try option 2. If that also fails try option 3. Do not that for option 2 and 3 you will have to create a new virtual machine with the resulting VHDX, having the required settings documented will help in this case.

Failed at dumping XP in a timely fashion? Reassert yourself by doing better with Windows Server 2003!


I could write a blog post that repeats the things I said bout XP here for Windows 2003 with even some more drama attached so I won’t. There’s plenty about that on the internet and you can always read these blogs again:

I also refer you to a old tweet of mine that got picked up by some one and he kind of agreed:

image

Replace “XP” with “Server 2003” and voila. Instant insight into the situation. You are blocking yourself from moving ahead and it getting worse by the day. All IT systems & solutions rot over time. They become an ever bigger problem to manage and maintain, costing you time, effort, money and lost opportunities due to blocking to progress. There comes a day that creative solutions won’t pop up anymore like the one in this blog post  Windows XP Clients Cannot Execute Logon Scripts against a Windows Server 2012 R2 Domain Controller – Workaround and more recently this on where people just waited to long to move AD over from Windows Server 2003 to something more recent It turns out that weird things can happen when you mix Windows Server 2003 and Windows Server 2012 R2 domain controllers. All situations where not moving ahead out of fear to break stuff actually broke the stuff.

In the environments I manage I look at the technology stack and plan the technologies that will be upgraded in the coming 12 months in the context of what needs to happen to support & sustain initiatives. This has the advantage that the delta between versions & technologies can never become to big. It avoids risk because it doesn’t let delta grow for 10 years an blocks introducing “solutions” that only supports old technology stacks. It make sure you never fall behind too much, pay off existing technology debt in a timely fashion and opens up opportunities & possibilities. That’s why our AD is running Windows Server 2012 R2 and our ADFS was moved to 3.0 already. It’s not because a lot of things have become commodities you should hand ‘m over to the janitor in break/fix mode. Oh the simplicity by which some wander this earth …

OODA

Observe, Orient, Decide, Act. Right now in 2014 we’ve given management and  every product/application owner their marching orders. Move away from any Windows 2008 / R2 server that is still in production. Why? They demand a modern capable infrastructure that can deliver what’s needed to grasp opportunities that exits with current technology. In return they cannot allow apps to block this. It’s as easy and simple as that. And we’ll stick to the 80/20 rule to call it successful and up the effort next year for the remainder. Whether it’s an informal group of dedicated IT staff or a full blown ITIL process that delivers that  doesn’t matter. It’s about the result and if I still see Windows 7 or Windows 2008 R2 being rolled out as a standard I look deeper and often find a slew of Windows 2003 or even Windows 2000 servers, hopefully virtualized by now. But what does this mean? That you’re in a very reactive modus & in a bad place. Courage & plans are what’s needed. Combine this with skills to deal with the fact that no plan ever woks out perfectly. Or as Mike Tyson said “Everybody has a plan until they get punched in the mouth. … Then, like a rat, they stop in fear and freeze.”

Organizations that still run XP and Windows Server 2003 are paralyzed by fear & have frozen even before they got hit. Hiding behind whatever process or methodology they can (or the abuse of it) to avoid failure by doing the absolute minimum for the least possible cost. Somehow they define that as success and it became a mission statement. If you messed up with XP, there’s very little time left to redeem yourself and avoid the same shameful situation with Windows Server 2003. What are you waiting for? Observe, Orient, Decide, Act.

Configuring timestamps in logs on DELL Force10 switches


When you get your Force10 switches up and running and are about to configure them you might notice that, when looking at the logs, the default timestamp is the time passed since the switch booted. During configuration looking at the logs can very handy in seeing what’s going on as a result of your changes. When you’re purposely testing it’s not too hard to see what events you need to look at. When you’re working on stuff or trouble shooting after the fact things get tedious to match up. So one thing I like to do is set the time stamp to reflect the date and time.

This is done by setting timestamps for the logs to datetime in configuration mode. By default it uses uptime. This logs the events in time passed since the switch started in weeks, days and hours.

service timestamps [log | debug] [datetime [localtime] [msec] [show-timezone] | uptime]

I use: service timestamps log datetime localtime msec show-timezone

F10>en
Password:
F10#conf
F10(conf)#service timestamps log datetime localtime msec show-timezone
F10(conf)#exit

Don’t worry if you see $ sign appear left or right of your line like this:

F10(conf)##$ timestamps log datetime localtime msec show-timezone

it’s just that the line is to long and your prompt is scrolling Winking smile.

This gives me the detailed information I want to see. Opting to display the time zone and helps me correlate the events to other events and times on different equipment that might not have the time zone set (you don’t always control this and perhaps it can’t be configured on some devices).

image

As you can see the logging is now very detailed (purple). The logs on this switch were last cleared before I added these timestamps instead op the uptime to the logs. This is evident form the entry for last logging  buffer cleared: 3w6d12h (green).

Voila, that’s how we get to see the times in your logs which is a bit handier if you need to correlate them to other events.

Defragmenting your CSV Windows 2012 R2 Style with Raxco Perfect Disk 13 SP2


When it comes to defragmenting CSV it seemed we took a step back when it comes to support from 3rd party vendors. While Windows provides for a great toolset to defragment a CSV it seemed to have disappeared form 3r party vendor software. Even from the really good Raxco Perfect disk. They did have support for this with Windows 2008 R2 and I even mentioned that in a blog.

If you need information on how to defragment a CSV in Windows 2012 R2, look no further.There is an absolutely fantastic blog post on the subject How to Run ChkDsk and Defrag on Cluster Shared Volumes in Windows Server 2012 R2, by Subhasish Bhattacharya one of the program managers in the Clustering and High Availability product group. He’s a great guy to talk shop to by the way if you ever get the opportunity to do so. One bizarre thing is that this must be the only place where PowerShell (Repair-ClusterSharedVolume cmdlet) is depreciated in lieu of chkdsk.

3rd party wise the release of Raxco Perfect Disk 13 SP2 brought back support for defragmenting CSV.

image

I don’t know why it took them so long but the support is here now. It looks like they struggled to get the CSVFS (the way CSV are now done since Windows Server 2012) supported. Whilst add it, they threw in support for ReFS by the way. This is the first time I’ve ever seen this. Any way it’s here and that’s good because I have a hard time accepting that any product (whatever it does) supports Hyper-V if it can’t handle CSV, not if you want to be taken seriously anyway. No CSV support equals = do not buy list in my book.

Here’s a screenshot of Perfect disk defragmenting away. One of the CSV LUNs in my lab is a SSD and the other a HDD.

image

Notice that in Global Settings you can tweak the behavior when defragmenting optimization of various drive types, including CSVFS but you just have to leave the default on unless you like manual labor or love PowerShell that much you can’t forgo any opportunity to use it Winking smile

image

Perfect disk cannot detect what kind of disks you have behind the CSV LUN so you might want to change the optimization method if you’re running SSD instead of HHD.

image

I’d love for Raxco to comment on this or point to some guidance.

What would also be beneficial to a lot of customers is guidance on defragmentation on the different auto-tiering storage arrays. That would make for a fine discussion I think.

Migrate A Windows 2003 RADIUS–IAS Server to Windows Server 2012 R2


Some days you walk into environments were legacy services that have been left running for 10 years as:

  1. They do what they need to do
  2. No one dares touch it
  3. Have been forgotten, yet they provide a much used service

Recently I had the honor of migrating IAS that was still running on Windows Server 2003 R2 x86, which was still there for reason 1. Fair enough but with W2K3 going it’s high time to replace it. The good news was it had already been virtualized (P2V) and is running on Hyper-V.

Since Windows 2008 the RADIUS service is provided by Network Policy Server (NPS) role. Note that they do not use SQL for logging.

Now in W2K3 there is no export/import functionality for the configuration in IAS. So are we stuck? Well no, a tool has been provided!

Install a brand new virtual machine with W2K12R2 and update it. Navigate to C:\Windows\SysWOW64 folder and grab a copy of IasMigReader.exe.

image

Place IasMigReader.exe in the C:\Windows\System32 path on the source W2K3 IAS server as that’s configured in the %path% environment variable and it will be available anywhere from the command prompt.

  • Open a elevated command prompt
  • Run IasMigReader.exe

image

  • Copy the resulting ias.txt file from the  C:\Windows\System32\IAS\folder. Please keep this file secure it contains password. TIP: As a side effect you can migrate your RADIUS even if no one remembers the shared secrets and you now have them again Winking smile

image

Note: The good news is that in W2K12 (R2) the problem with IasMigReader.exe generating a bad parameter in ias.txt is fixed ((The EAP method is configured incorrectly during the migration process from a 32-bit or 64-bit version of Windows Server 2003 to Windows Server 2008 R2). So no need to mess around in there.

  • Copy the ias.tx file to a folder on your target NPS server & run the following command from an elevated prompt:

netsh nps import <path>\ias.txt

image

  • Open the NPS MMC and check if this went well, normally you’ll have all your settings there.

image

When Network Policy Server (NPS) is a member of an Active Directory® Domain Services (AD DS) domain, NPS performs authentication by comparing user credentials that it receives from network access servers with the credentials that are stored for the user account in AD DS. In addition, NPS authorizes connection requests by using network policy and by checking user account dial-in properties in AD DS.

For NPS to have permission to access user account credentials and dial-in properties in AD DS, the server running NPS must be registered in AD DS.

Membership in Domain Admins , or equivalent, is the minimum required to complete this procedure.

  • All that’s left to do now is pointing the WAPs (or switches & other RADIUS Clients) to the new radius servers. On decent WAPs this is easy as either one of them acts as a controller or you have a dedicated controller device in place.
  • TIP: Most decent WAPS & switches will allow for 2 Radius servers to be configured. So if you want you can repeat this to create a second NPS server with the option of load balancing. This provides redundancy & load balancing very easily. Only in larger environments multiple NPS proxies pointing to a number of NPS servers make sense.Here’s a DELL PowerConnect W-AP105 (Aruba) example of this.

image

Is there longevity in Private & Hybrid Clouds?


This blog is just thinking out loud. Don’t get upset Smile

Private & hybrid clouds demand economies of scale or high value business

Let’s play devils advocate for a moment a look with a very critical eye at private & hybrid clouds. Many People are marketing, selling and buying private & hybrid clouds today. Some of us are building them ourselves, with or without help. Some of us even have good reasons to do so as it makes economical sense to do so. But for many that do it or consider doing it that might not be the case. It depends.

Why are so many marching to the beat of those drums? It’s being marketed as great, it’s being sold as what you need and that’s what makes money for many people. But one can say the same of Porsches, but chances are you’re not buying those as company cars. Well it’s perhaps a bit like VDI. If you have a use case that’s economically sound, design and implement it well, it will serve your needs. But it’s not for everyone as it can be expensive, complex & restrictive.

You want your cloud to be this:

AZurenice

Not this:

cloudnasty

To get great results you’ll need to do more than throw your money at vendors. So what’s the real motivation to do private/hybrid clouds for companies? If the answer is “well so many people are doing it, we can’t ignore it”. Well not doing something is not ignoring it, it’s a valid choice as well. And what others do isn’t relevant per definition. You need to know what you do where and why to make plans & choose technologies to achieve your goals. Think about what you do. When does a private/hybrid cloud make sense? How big do you need to be? What kind of delta should you have to make this worth while, i.e. how many VMs do you deploy per week? How many do you destroy each week?  What economies of scale must you have to make it wise? What kind of business? What are your pain points you’re trying to solve? What are you trying to achieve? Private clouds today are not void of complexity and there a are few abstraction layers that are at the quality/functionality level they need to be at.

My biggest concern here is that too many companies will build expensive, complexes private & hybrid clouds without ever seeing the return on investment. Not just because of the cost, complexity but also because they might not be very long lived for the use cases they have today. Many see these as transition models and they are great for that. The question is how good are you at transitioning? You don’t want to get stuck in that phase due to costs of complexity. What if the transition lasts to long and you complete it when public cloud has evolved into services that wipe away what the reasons your TCO/ROI was based on?

Note: as cloud means everything to every one you could call doing on premise & Office 365 + backup to the cloud also hybrid. So in that case Hybrid is a better fit for many more organizations.

Things are moving fast

Cloud offers are increasing at the speed of light and prices are dropping in free fall. While some say that’s a race to the bottom, it’s not. This is an all out battle which is raging to grab as much market share as possible. When the dust of this settles who’ll be left? Google, Amazon and Microsoft. They’re not loss leaders, they have a purpose and only they know the financial picture behind their solutions.

image

From there they’ll defend a fixed and entrenched position.  Where will that lead us? Stalemate and rising costs? Or a long term tug of ware where mutual assured bankruptcy will make sure prices won’t rise too much … until some game changing event that breaks it all open. For many people IAAS is still (too) expensive and non of the cloud vendors seem to run a profit, all this at ever lower prices. Sounds like a price hike will be in order once the market shares have been grabbed. But have people really calculated the cost of on premise? Can one compete? Or is the benefit of on premise worth the cost? Oh and I take on premise as being anything that even resembles racks in local or regional data centers running a cloud stack on it for you. Now I have to admit that in my region of the world most cloud hosters are not on a level of professionalism & scale like they are in the Nordics for example.

SAAS, PAAS, IAAS

That’s my order of preference actually. I think SAAS & PAAS are the areas where cloud really shines. IAAS can be a great solution for many needs but I don’t see it as ready yet a a whole sale replacement of on premise.  While many offerings in IAAS are not perfect yet and there are many blocking issues to be solved there is a lot of value in the cloud when you do it right for your needs. If you have a very modern and optimized IT infrastructure IAAS can feel like a step back right now but that will change in the right direction over the next 2 to 3 years I think. And as during that time frame you start using SAAS & PAAS more en more I which means improved IAAS will be able to cover (all?) your remaining needs better. Again, you need to things that deliver fast or you run high (financial) risks.

Intersecting fields of fire

In this race at light speed,which cloud vendor is best? If you want and need to have all bases covered I think it’s reasonably safe to say Microsoft holds the most complete port folio from IAAS, PAAS, SAAS & Cloud storage. They’re now throwing in MPLS networks (http://azure.microsoft.com/en-us/services/expressroute/)  to tie it into hybrid scenarios which should take last century VPN technology out of the picture. Some more standardization in network virtualization, flexibility and capabilities would be welcome as well. But in the end will it matter? People might choose based on possible use cases or capabilities but if you don’t need them that’s a moot point. They become commodities you buy from a few players, I just hope we like our cloud dealers a bit better than we do our energy and telecom providers. Nobody seems really happy with those. But as a buyer I like the idea of having options, as the saying goes “I’d rather have it and not need it than need it and don’t have it”.

Now MPLS s coming what else is missing? A storage gateway / proxy in IAAS

One of the biggest issues in airlifting the entire on premise infrastructure into the cloud is the legacy nature of the applications in combination with the high cost of IAAS (VHD) storage and the limitations compared to what you can do with VHDX on premise. That’s probably an artificial licensing decision bit what can you do? What we need to alleviate this is a REST based cloud gateway to present storage to legacy apps in IAAS while storing the data in Azure blob storage. It’s a bit of a cludge as we’’ just love the fact we can get rid of pass through, vISCSI, vFC thanks to (shared) VHDX. Why do I think we need a solution? Apps have a very long (too long?) live time and it would speed up cloud adoption big time. Just dropping the price for virtual disk storage would be the easiest path to go but I don’t see any indication of that.

The lure of being in the cloud is big but bandwidth & latency in combination with storage costs is keeping people from going there when it comes to so many “legacy” on premise applications. There is a fix. Put everything in the cloud where is is close together and where bandwidth and latency can become a none issue. We need affordable storage and a way for legacy apps to handle object based storage. The fact that the new StorSimple offering has an azure appliance doesn’t really help here as it’s tied to on premise and it’s iSCSI to the guest in IAAS. Not that great is it? For now it looks too much like on boarding to Azure for non MSFT shops and people who are way behind the herd in modern technologies. At least for the environment I work in. Physical server are there to host VMs, so no StorSimple. Other physical servers are point solutions (AD, Exchange or specialized software that needs more hardware access than virtualization can supply). Again, no StorSimple target.

I cloud, you cloud, we cloud

Building and maintaining a data center is loosing it’s economic edge fast. At least for now. I’m not saying all data center or even server rooms will disappear but they’ll reduce significantly. The economics of public cloud are to attractive to ignore. Private and hybrid clouds cost money on top of the cost of running a data center. So why would you? Sure, the cost of cloud isn’t cheap but there are other reasons to move:

  • Get rid of facility management of data centers and server rooms. It’s a big issue & cost.
  • Power/cooling needs. The big cloud players are rapidly becoming the only ones with a plan when it comes to developing an energy plan. Way more innovative & action driven then most governments. They’ll have way better deals than you’ll ever get.
  • Infrastructure costs. Storage, networking, compute, backup, DR, licensing … the entire life cycle of these cost a lot of money and require talent.
  • Personnel costs. Let’s face it. Talented people might be a companies most valuable resource in HRM speak, but in reality they’d love to get rid of a much of that talent as possible to maximize profits. The only reason they employ talent is because they have to.
  • The growth in compute & storage in the cloud is humongous. You’ll never keep up and compete at that level. It was said recently Moore’s law has been replaced by “Bezo’s law’’ http://gigaom.com/2014/04/19/moores-law-gives-way-to-bezoss-law/

I’m going to make a bold statement. If you want/need to do cloud, you should really seriously consider spending your money in public cloud and minimize your investment in private/hybrid clouds. Go as directly to the future and try to keep your private/hybrid stack as simple and cheap possible as a transition to the public cloud.  Leverage PowerShell, SMA and for example Azure automation to manage what you leave on premise. I have my doubts about the longevity of private/hybrid clouds for many organizations and a such investments should be “optimized” => cheap & easy to replace. So unless you have a real big business case for wanting to keep on premise and can make that economically feasible, it’s not your goal, it’s a transition tool. If you’re a huge enterprise, an agency involved in national security a hosting company or Switzerland you can ignore this advice Winking smile. But I see no one rushing to buy RackSpace?

Security, Privacy, Concentrated Power?

What about security, privacy, vendor lock in? You have to worry about that now as well, and you’re probably not that good at avoiding it on premise either. Switching from Oracle to SQL is not an easy feat.  Cloud companies will have a lot of power due to the information they distill form big (meta) data. On top of that they’re set to be the biggest providers of compute, energy & if they buy some telecoms companies  even of data communications. More and more power concentrated in ever less players. That’s not desirable, but it seems that’s how it will play out. The alternatives cost more and that determines most of all what happens. The economies are too good to ignore.

Government clouds to mitigate risk?

I now also see the call to build government clouds. Often at various levels. Well for decades now, bar some projects, a lot of their IT efforts have been slow, mediocre and expensive. 400$ to lift & place back some floor tiles. Having to buy a spool of 2km fibre channel if you need 80 meter. 5000$ to answer a question with yes or no, a VM that costs 750$ per month … (1000$ if you want a backup of the VM). 14 days to restore a VM from backup … abuse & money grabbing are rampant. Are these people going to do private cloud and compete? Are they any better at securing their infrastructure than Amazon? Is on premise encryption any better than in the cloud? And even if it is, it’s only until someone pulls a “Snowden”. And who’ll build ‘m? Where are the highly skilled, expert civil servants after decades of outsourcing leaving them at the mercy of 3rd parties? Are they going to buy them away in an era of cost cutting? And if they could, can they use them, do they have the organizational prowess to do so? So they’ll be build by the same pundits as before? Outsourcing to India would at least have been “the same mess for less”, while now it’s the same mess for more.

Sheep, lemmings, wolves & a smart CIO

I see way to little strategy building on this subject and to much “comfort” decisions being made that cost a lot of money and efforts delivering not enough competitive advantages. The smart CIO can avoid this an really deliver on “Your Cloud, Your Terms”. The others, well they’ll all play their role …

Just some food for thought. But I leave you with another musing. 100% cloud might be a great idea but it’s like leasing or renting. There are scenarios where ownership still makes since depending on the situation and business.