Cloud computing has brought new possibilities and challenges to ISVs like my company. It has also brought along a lot of seemingly difficult questions that has no direct answers. However, for anyone looking at the possibility of investing its future on new technologies, a lot of questions needed some answers.
In this blog, I have come up with a list of concerns, cases, and questions that would usually be essential when choosing the right decision. To make things a lot clearer, I would probably use a real world example based from my own circumstances to weigh things down between competing platforms that are all worth exploring.
In my last cloud computing related blog (https://totogamboa.com/2010/12/11/my-first-shot-at-sharding-databases/), I mentioned one of my company’s products that is being considered going beyond the usual realm of on-premise applications. In this blog, I continue to explore new possibilities for this application as we enter a new era of cloud computing.
The obvious question for our company now is where to go from here as far as our library system is concerned.
I have with me several platforms to choose. All is begging to be explored further, all is wanting attention, to be leveraged, used and abused. Since our library system is heavily glued to Microsoft technologies, my shortlist would naturally explore the several platforms where Microsoft technologies claim market and mindshare dominance.
- On-Premise. Microsoft boast a powerful array of on-premise technologies that anyone can take advantage of and have their products comfortably sit on. I’d say that I would be looking up for a typical setup of Windows Server, Internet Information Services/ASP.NET, and SQL Server sitting in our client’s datacenter.
- Hosted. Microsoft also has proven strongly that their technologies can be set to serve as hosts over the Internet. This can be proven by the large number of providers of hosting sites that offer Microsoft technologies. Hosting providers typically offer the same set of technologies one can setup on-premise. Typical setup would be Windows Server, Internet Information Services/ASP.NET, and SQL Server hosted in the provider’s datacenters.
- Azure. The relatively new kid on the block is the stack of Microsoft technologies designed mainly as services over the Internet. The stack is composed of Azure technologies and the entirety is touted to be the platform of the future. The new setup includes Windows Azure, a web role type supporting IIS/ASP.NET, and SQL Azure. All these are managed by Microsoft and situated in their humungous datacenters scattered around the globe.
Picking a choice isn’t always easy, especially when matters discussing the right software solution for an individual’s case. But I would like to attempt to see where I would go from here as far as our library system go. With today’s options and the complexity that comes along with each at our disposal, things, like getting a sound technology decisions, are harder to come by than before.
In this exercise, I prepared important points that need to be clarified to come up with the right, if not better solution. Do take note though that I am not generalizing here by just focusing on technologies that Microsoft provides out there. Remember I am working on answers based only on my circumstances and published specifications pulled from the web.
Here is a compilation of my personal list of concerns in trying to go through a decision making process that would shape up the future of our library system.
|Concerns||Azure (As of Dec 2010)||Hosted||On-Premise|
|What hardware do I have to provide?||front side only||front side only||front and end sides|
|Is redundancy possible?||Yes||Yes||Yes|
|Is scaling up possible?||Up to 8 CPU (8 x 1.6GHz) only16GB RAM||Yes by special arrangement||Best money can buy|
|Is scaling out possible?||Yes||Yes||Yes|
|Is scaling down possible?||Yes||No||No1|
|Is Full Text Search available?||No||Yes||Yes|
|Is database backup & restore for SQL Server available?||No. Only possible via SSIS.||Yes||Yes|
|Need to rewrite library system?||Yes||No||No|
|How do I scale out?||SQL Azure / sharding||SQL Server / sharding||SQL Server / sharding / horizontal partitioning|
|Administration/operation of infrastructure||Done by Microsoft||Done by provider||Done by client/us|
|Visual Studio Support||Yes||Yes||Yes|
|ASP.NET Webforms or MVC Support||Yes||Yes||Yes|
|SQL Server Support||SQL Azure||SQL Server||SQL Server|
|SQL Server Degree of Capability||Subset of SQL Server only||Full feature||Full feature|
|Platform Portability||If I write on Azure, it will run only on Azure, unless there is a small scale on-premise Azure that can be deployed in the future.||If I write on Hosted Environment, it can run also On-Premise||If I write On-Premise, it can also run Hosted|
1 There is wastage of hardware resources if system is not designed to scale down. Hardware stays when capacity is scaled down. It only remains underutilized.
Summing It Up
At this point in time, the best option out there for my company is to remain in Hosted environments, as seen in information provided in the table of concerns above. All of my requirements needed from SQL Server are available. It is simply that there are still the missing pieces in SQL Azure that prevents us from fully adopting it. The company should also start distancing itself from on-premise implementations. This doesn’t mean though that both Azure and on-premise options are no good. Azure is shaping up to be a formidable platform of choice, especially for projects that are yet to be developed. Soon, and I am quite sure fulltext search capability will be supported in SQL Azure. When that happens, I will have to go through this same exercise all over again.
In the end, as an database person, it has always been the issue of which RDBMSes may provide for me in various platforms available out there. For now, it is still the non-cloud version of SQL Server that seals the deal for me. SQL Azure isn’t far behind. It is just a fulltext search away! 🙂
Toto Gamboa is a consultant specializing on databases, Microsoft SQL Server and software development operating in the Philippines. He is currently a member and one of the leaders of Philippine SQL Server Users Group, a Professional Association for SQL Server (PASS) chapter and is one of Microsoft’s MVP for SQL Server in the Philippines. You may reach him by sending an email to firstname.lastname@example.org