Sharing some bits that I found interesting during the last week while reading about cloud computing.
Windows Azure Platform
I really enjoyed reading the Socratic Dialectic in the RDBMS vs NoSQL post on ‘the codeface’ blog. SUPER stuff!!!http://blog.markrendle.net/2010/03/do-you-need-relational-database.html Yes, you have NoSQL from Microsoft. Just look at Windows Azure Storage. But sometimes it makes more sense to go to SQL Server for functional or business reasons. But remember, it all depends and even the cost comparison should be made with care:
I would have a hard time justifying the time and money required for our developers to learn the new skills.
Then again, in the cloud the NoSQL storage can be much, much cheaper than the RDBMS. For example, Windows Azure storage costs $0.15 per gigabyte per month, whereas a 1GB SQL Azure instance is $9.99 per month; 10GB is $99.99 per month.
So Windows Azure storage is cheaper than SQL Azure storage?
Not necessarily. With Windows Azure Storage you also pay for transactions, at the rate of $0.01 for every ten thousand. SQL Azure doesn't charge for transactions. So if you're storing less than a gigabyte but running more than ten million transactions per month, SQL Azure would be cheaper. Or if you're storing less than ten gigabytes but running more than a hundred million transactions-
Do you prefer to read a book, check out Cloud Computing with the Windows Azure Platform. Some sample chapters are available here:
Chapter 12: “Managing SQL Azure Accounts and Databases”
Chapter 13: “Exploiting SQL Azure Database's Relational Features”
A non-exhaustive list of things to consider:
- If constant consistency is a key requirement then you should probably use an RDBMS.
- If horizontal scalability is important and eventual consistency is good enough, then a NoSQL solution might be better.
- If you're deploying an application to Windows Azure or Amazon Web Services, then you should probably compare the costs of Windows Azure Storage Services or SimpleDB to SQL Azure or Elastic RDBMS for your particular application.
- If you're writing an application for a mobile platform, you're back to limited storage space so you might get back to RDBMS and normalising for efficient use of that space.
- If you're writing a small application you want to knock out quickly using Entity Framework or NHibernate or ActiveRecord then use SQL Server Compact or SQLite, or skip that stuff altogether and serialise object graphs to files on the hard-disk
Here’s a webcast with Ben Riga about the lessons learned from the Windows Azure implementation at RiskMetrics: http://www.ditii.com/2010/03/10/windows-azure-lessons-learned-riskmetrics-with-ben-riga-webcast/
Azure also seems to be taking of in India: http://economictimes.indiatimes.com/Infotech/Software/Microsoft-unveils-cloud-based-operating-system-in-India/articleshow/5660938.cms?utm_source=AzureMagic&utm_medium=twitter
The company claims to have over 3,000 applications developed from India that are currently hosted on the cloud platform. It already claims to have about 250 small and medium-sized customers in India. There are about 22,000 developers from India who are making applications on the Azure platform. Companies like Infosys, HCL Technologies, Persistent Software, Wings Info, Cerebrate and CDC Software are developing commercial applications and solutions on Windows Azure platform.
Other Cloud related news
Here’s a great article by David Linthicum: http://www.infoworld.com/d/cloud-computing/3-cloud-computing-mistakes-you-can-avoid-today-895
1. Not considering a public cloud
2. Security and governance as afterthoughts
3. No continuation of business strategy
One large enterprise has outsourced their test and development environments to an outsourcer, and paying approximately $10,000 per environment per year, regardless of whether the resources are virtual or physical. They have 3000 such environments, so they are essentially paying $30 million per year on just test and development environments. They did a user survey to find out the utilization of these environments, and all the developers responded saying that these environments are heavily utilized and there’s tight handoff from one team to another. An audit, however, revealed that overall, the environments are utilized < 10%, and that 70% of the environments are logged into once per year by developers.