Building skills for the cloud

In terms of technical skills though here are my top four.

Understand the technologies that power cloud: There are some fundamentals that you really need to grasp before you get the cloud in its entirety. As luck would have it those technologies are ones that you are probably already familiar with, the cornerstone of which is virtualisation.

Why do you need to understand that technology, well the answer is because everything in the cloud is virtual. Virtual storage, virtual computers, virtual networks nothing is real, unless you work for a hosting company. You don't need to understand the specific technology, just what it means to divorce software from hardware. Basically, you can't manage the hardware, only the software, so no network card hijinks to make something work for example.

Second you need to understand the idea of cost. You need to understand that doing anything in the cloud costs money just as it does, in a hidden way, in your own data centre. I'll give you an example. If you have data stored in the cloud but it hasn't been accessed for six months, you need to pay for that storage. The same is true on premise since you've already shelled out for the hard disk.

That understanding of cost will soon make you realise that you need to store some stuff in the cloud and some stuff not, event logs from a web role for today yes store them in the cloud. Event logs for last month no, archive locally or delete all together. Gaining this level of understanding will revolutionise what you do and clear clutter.

Connection technologies: Moving to the cloud takes some time and you need to build up confidence both in your own mind and in the mind of the business that it's possible, safe and better to move to the cloud than keep something on premise. Migrating to the cloud might not always be the right thing to do.

That's a much bigger hurdle when moving something because it's already doing something be it generating revenue or handling some business critical function (if it's not why do you have it?). Putting something new in the cloud is less of a risk since the reliance hasn't yet developed. So you need to understand how to link the two together.

For Windows Azure you need to know about Active Directory Federation Services and Windows Azure Connect and a little of Windows Azure Service Bus. If you're thinking Windows Azure is just for devs then ask yourself the question "Do the devs understand networking, Identity and all the rest of our infrastructure?". You also need to know PowerShell and System Center to be able to manage the cloud, but we'll cover that in more depth later. You'll find an understanding of SQL Azure DataSync will be seriously helpful if you want to use SQL Azure too. If you're making the move to Office 365 you'll again need to understand ADFS but you'll also need to understand DirSync.

Know what to measure and monitor: Knowing what's important to your business and how the technology marries up to that is critical. You need to be fully aware of what they need and what's important to them so that you can ensure it happens.

You need to make sure that their services are available to them when they need them and off when they aren't (or at least dialled down). There's a misconception that the cloud has this automatic elasticity that scales things up and down as it sees fit. It doesn't really work that way.

Okay it can work that way if the designers and developers built in intelligence that really delivers that. With Azure they have use of an API to control scale based on the needs of the application. They need to have enabled that functionality and it's not always the right thing to do. The classic example is pizza demand in the super bowl ad break, more orders = more capacity instantly added. The reality is that doesn't cover every eventuality. Imagine that for a moment said pizza experts also know that the super bowl is happening, if they prepare those additional instances then they have a better chance of hitting the demand at the right time, especially if the devs did something complicated that meant that each additional role took 10 minutes to become live. It's possible to code around that but easier to work with an IT pro to smooth those obvious peaks and use code to work for the unexpected.

Measurement and monitoring tied to business knowledge will allow you to deliver higher levels of value and be more of a hero. The reality is that you don't need that deep an insight into the business to deliver exceptional value to them, which you can do with cloud because you're no longer spending time keeping it running you're now helping them generate more money by matching demand curves.

Understand how to govern the cloud: You are going to get into serious trouble if you don't look after customer data and the like. You need to know when a cloud technology is the right thing to do and when it's the wrong thing to do. You also need to understand what to entrust to a cloud provider. Here are some questions that you might like to pose or research the answers to:

Can I get an assurance of where my data is held?

Can I get an assurance of uptime?

Can I get assurances regarding the provider's data centre?

Can I find out who's auditing a provider?

What testing and certification does the provider have/support?

How is the provider moving the industry/regulation forward?

How can I exit the contract?

Do I get time to read the contract?

Wait, there was a contract?

Have we built applications that adhere to our own practices?

Have we deployed the application in a compliant way?

What's the update and patche process, what is security like?

You need to have an understanding of all this stuff to protect your customers and your company and I can assure you that you can find all the above information for all of Microsoft's products. You'll find most of it on the web or by asking your Microsoft team I'm not going to point you to it because you won't believe it if a company man tells you. But if you look at my blog and you'll find the start of the breadcrumb trail.

If you're reading that list and thinking it's not technical, your right, it's a ruse.

Actually it's all technical because all technical knowledge is knowledge about how things work, and the business needs an expert to relate that knowledge back to them. It leverages your understanding of how things work and your intelligence to trust or mistrust. Go forth and change the world of IT.