After Paul Nielsen post SQL in the Cloud
yesterday I decided to put on my Nostradamus hat and give you my take on this.
What needs to happen before we can move to the cloud?
There are a couple of things, here is a partial list
Performance has to be good
If performance is bad then nobody will move to the cloud. Since the data is external you probably want to have a secure connection and thus you will slow things down
Security has to be implemented
Can you give user A only read access and user B read\write access. What if you don't want certain users to see the salary column?
Bulk uploading of data has to be implemented
The ability to upload a file and specify the target object to load the data into has to be implemented. We get files via ftp all the time, nobody wants to parse the files locally and insert row by row.
The ability to do merge replication with disconnected handheld devices
This is not so much an issue anymore since almost all devise these days are online but if you have some legacy junk this would be nice.
The ability to restore to a point in time
You uploaded some bad or old data and hosed everything. On a SQL box you would just do a point in time restore (if you had backups that were valid of course and the correct recovery model) and you would be done.
Alerts and Notifications
You want to know every time some product level falls below a certain threshold, someone added or modified a table etc etc.
Auditing, SOX, HIPAA, GAAP and all your other favorite acronyms
Unless this stuff is implemented no public company will move to the cloud.
Bandwidth cost has to be low
There are tons of FoxPro, Access Applications Excel sheets and in house developed applications that connect directly to SQL Server, get a ton of data and then do something with that. When this is all in your office you don't have bandwidth cost. If your data lives in the cloud this could add up.
I will give you another example, we all compress our content before it is pushed to the client from our websites right(rhetorical don't answer)? Guess what? Amazon doesn't do compression because they get paid for bandwidth, compressing would lower their revenue.
You need to have the ability to profile
There has to a way to profile and performance tune your cloud database, after all that is the most fun part of a database developer, you can’t take away instant gratification
What will go in the cloud first?
The first thing that will ascend into the clouds are your typical internet applications, this will also include RIA (or as I call them Chubby Clients) that are built on Adobe AIR, JavaFX and Silverlight. Ever heard of TweetDeck
? It is a twitter client written in Adobe AIR, stuff like that is perfect because you don't care where the data is stored; you just want to call a RESTful API and get your data. Websites that don’t store (or don’t care) about sensitive information are going to store their stuff in the cloud, now we have real C2C (Cloud to Cloud) since websites live in the cloud to begin with.
What will not go in the cloud any time soon?
Any app that is directly connected to a database server and does some crazy manipulation/calculation of data, the bandwidth cost might just be too high
Departmental (Small business edition) database servers or SQL Server Express edition, this stuff is cheap enough that I can’t imagine there being an incentive to move to the cloud. Shops like this usually have one person to manage all the hardware to begin with so they would not save anything.
I am also having a hard time seeing those lovely Excel sheets that are connected to SSAS cubes connecting to the cloud instead.
We cannot really predict anything unless we have some pricing. I aslo think virtualization of databases will be mainstream sooner than the cloud, one huge box 20 SQL Servers on it...only one box to manage
If you want you can vote (you need to register), right now it is mostly no cloud
So what is your opinion on this, The Cloud is it vaporware or inevitable?