In part one of this series I discussed about Software as a service (Saas) and some findings in that area. This post is about Infrastructure as a Service (IaaS).
In essence it’s just like the SaaS model instead of buying a server and putting it into your data center and then hire people to administrate it you rent a server in a cloud provider’s data center and their employees deal with the infrastructure administration while your team can use the server as they will. Further you pay per hour of use instead of paying for a server that could be idle for large parts of the day.
Many will say, “Hey! That’s just the ASP model! That didn’t work out so well.” Well there’s two major differences now. Advances in broadband and bandwidth have seriously changed the game making this a much more viable option. And the second difference is the biggie: Virtualization.
To test stuff out I decided to get myself an account with a Cloud provider and see just how it really drove. I got my account with the server I had selected and decided I wanted to put up an additional server. I went through the forms and I had a new server up and ready for use in 8 minutes. 8 minutes! Now imagine how long it would have taken to requisition a new server, get it shipped, install it, put it on the network and get it ready for use. 8 minutes is mind blowing. It’s even more so when you create an image with all your software. That means you can spin up a new server and have your app running on it in just minutes. The time to “spin up” is unparalleled.
Further the “pay per the hour” model can be used to save some serious money. For example, I once worked with a client that had a massive beast of a machine to run ETLs that ran only for 2 hours every night. Now, imagine instead of having to pay for having that immense server that was idle for 11/12ths of the day only spinning up the server when it’s needed. The savings would be huge.
And the uses in BI go beyond just saving money on an ETL server. Have a complex data migration that takes days to run? Spin up a few servers. Assign them to the task and get rid of them when you’re done. It could be far more economical than having it just run for days. Is your report rendering server maxed due to month end close? Spin up a new server and add it to the cluster and spin it down when you’re done.
That being said, the tech isn’t entirely all there to do such fanciful stuff so easily. You might have to script/build much of it on your own. It doesn’t come for free. But with more and more people moving to the cloud, combined with the great work going on with openstack it’s only a matter of time til that level of sophistication is available.
Of course there are always cons and I’d be remiss not to mention them. Cloud providers make the argument that since they bill you per hour you have more control over what you spend. And they’re partially right. You can control the availability of your system to save some cash. However, you cannot control the rate which they charge you. You might lock in a good price for 2 years or so but they will be free to renegotiate after the contract is over and they’ll have all your servers. So be aware of that. Also there’s the issue that most companies are unwilling to put all their apps in the cloud (E.G.: A lot of companies will never move their financial data to the cloud) so if you put your business intelligence and ETL servers out in the cloud I/O and bandwidth become issues as your source will most likely be out of the cloud. And obviously there’s are the security concerns I brought up in part one of this series.
Nevertheless I think this area of the cloud is the most promising and exciting. We really are on the verge of a paradigm shift not just in BI but IT in general. And it will be bigger than the shift we’ve seen so far.
Read Making Sense of the Cloud Hype, Part 1: Software as a Service