Administration, Editorials

Are VMs the Gateway Drug to the Cloud?

As I was reading through various comments today on the site, and going yesterday’s post, I noticed an interesting comment:

Relinquishing time-honored onprem tactics maybe forced upon us by the volume and cost of moving that volume in the cloud.

For some reason, this really struck a thoughtful chord with me.  It’s very true – the “cost” of moving to the cloud (more likely time and energy) is not trivial.  I’ll say at the outset, I’m all for it.  We’ve made the move on all of our systems across multiple companies and it was absolutely the right thing to do.  It was game changing for us in what we’re able to do, how we’re able to get it done, and how we can move forward in a very responsive manner.

When I look at our process for getting here (and it’s still ongoing) and that of people we work with to help them decide whether to move, it seems that so many move to VMs first, because it’s easy to relate to.  You’re basically co-locating your environment in the cloud.  Build the servers, mimic the setup, BOOM!  Your systems are up and going and you have some nice new features you can get used to.  Indeed, many of the tools you see for moving to the cloud will reproduce your environment there by doing just this.

Once you get there, you find that you can break some pieces apart and start really embracing the environment.  Have a SQL Server on your VM?  No problem.  You can move that to the database services offered and take additional advantage of managed instances.  It’s not entirely that simple of course – you have capacity, firewalls, VPCs and all of that to work out, but all the time, you’re seeing the benefits of the VMs – you don’t have to worry about hardware any more.  You have world class firewalls and security options available.

I contend though that it all starts with the VM.  That, indeed, it is the gateway drug to the cloud.

I’d like to say that if we had it to do all over again, we’d do it differently.  That we’d embrace the component approach and figure out what goes where and do the heavy lifting as we move to the cloud – that of breaking out the bits into their rightful processes and resource assignments.  We’d figure out the PaaS and FaaS capabilities and code in the changes.  All of that.

But I’d be lying.  I think it’s a very incremental process to move.  Your increments may be larger and/or faster to come to fruition than ours were, but I think you’ll likely be in for some big surprises in terms of effort, learning curve and implementation details if you were to try to do it all at the onset.

The flip side of this though, is that it evolves into an even faster moving learning curve, and that’s a good thing.  It’s critical to embrace it though, not pretend that it’s not there.  If you look at the announcements blogs for Azure, for AWS, Google, all the platform elements you may be using, you’ll see how quickly things are maturing and being added.  You want to specifically embrace and have a systematic way of keeping up with those.  It’ll be a very iterative process, because even the items you deploy will continue to mature and change.   You want to make sure you’re on top of those changes, and stay there.

But yes, as the original comment poster mentioned, relearning, learning new items, not being afraid to unlearn elements – are all pieces of moving systems, or even creating hybrid environments.

It can all start with a VM-based environment, but you’ll be hooked soon enough and looking at all of the really great experiences you can have if you really put the tools to use correctly.