Yesterday whilst I was checking my mail I noticed this tweet from Steve Clayton at MS:
As I’d had a few conversations about Azure earlier in the day it got me thinking. At the time I replied back saying that maybe there’s some confusion out there about where Azure would fit within a company’s overall infrastructure. Hopefully most large companies will be on the ball and understand how cloud services can be used, but smaller organisations that might have less mature IT capabilities may not yet understand where they fit or how best to use them.
Whilst I was sitting in traffic earlier today I started to think about ways that platforms like Azure or Amazons EC2 might be useful to me, either personally or at work (can you tell I’m a geek?). To be honest there are loads, but a really basic example might be something like this (it may be stating the obvious!)…
If other organisations are anything like the ones I’ve worked in they’ll use – and rely on – dozens of internally developed applications. These might be as trivial as custom room booking tools to more critical ticketing systems or internal shopping carts for services.
Traditionally these web or client-server apps would end up needing their own servers in a rack somewhere, burning power and depreciating nicely. This is ok in the short/medium term, and you might use some virtualisation to get better utilisation out of the hardware. Even so, the chances are you’ll still be paying for things like software maintenance and you’ll still need to support those systems as well as the app itself. What’s more, as these apps and their servers age, the level of support they need will probably increase but at the same time the willingness of the business to pay for upgrades or updates will probably decrease. After all its worked fine for years why should they pay more now? This is where cloud services can help…
What if rather than hosting your shiny new application a server that you buy, rack and support yourself, instead you upload your application to (for example) the Azure Services Platform. It supports many of the common platforms like .net, PHP etc. so there shouldn’t be too many changes to the underlying code (I’ll caveat that by saying I’ve not done it myself, so I’m basing this on the conversations I’ve had with MS and those that have). In effect you have the same application running out in the cloud rather than on your own kit.
There is of course more to consider, basic things like cost through to more in depth subjects like authentication and security.
In terms of cost parity it largely depends on how utilised the servers are. Cloud services like Azure and EC2 tend to be billed based on usage, i.e. so many cents per hour of CPU time, and so many cents per GB of storage used. It’s hard to generalise whether this is cheaper or more expensive than owning your own kit, but you have to remember that those cents per hour of CPU include all the running costs – hardware, OS, power, cooling, hardware support, software support, ongoing patching, upgrades overtime etc. I can say that where I’ve looked at this sort of thing in the past cost have looked pretty good in comparison. Especially when you consider that the initial setup cost is far lower (no need to buy kit) and you don’t need to worry about old servers going out of support and having to chase your business/customers for funds to upgrade them in five years time.
Having an app out in the cloud is all well and good, but how do people sign into it? Is it another username and password for people to remember? In some cases the answer is probably yes, but where I think MS have a huge advantage is their work to improve the authentication experience for apps hosted on Azure – particularly for business customers.
Their federation tool, currently called Geneva, that allows you federate Active Directory with Azure (I’ve written about this before here). In effect, if you have Geneva setup then accessing an application hosted on Azure would have the same user experience as if it was hosted on your own network and domain. Their usual username and password will authenticate them, and in most cases will sign them in transparently using integrated authentication.
The security of cloud services is always a question that comes up, and as this weeks news about leaks from Twitter have proved is something you have to consider very hard. Whether it’s more or less risky than publishing an application to the internet yourself is up for debate. Nonetheless it’s a question that you’ll probably have to answer when asked.
Anyway, that’s a pretty basic example, but it’s probably a scenario that’s fairly common. Where private clouds might fit within this is another matter altogether!