Friday, May 27, 2011

A day with Microsoft Team Pakistan.

I just had a chance to visit Microsoft Pakistan head office here at Karachi, Pakistan. We discussed about on going Microsoft campaigns in the region, more areas to improve and collaborating and training our IT workforce too. I am glad I had an offer from the Microsoft Team to become a Professional Partner of Microsoft with my organization. Yuppy I am too happy....below are the pictures we took after the meeting :)

Thursday, May 26, 2011

Keep All Your Eggs In The Same Cloud!!!

Remember the lessons on investments from old college days? Yes, the one that suggests, not to invest in the same industry or infrastructure, instead portfolio diversification was encouraged, but hey all these lessons were also valid and incorporated in IT infrastructure implementations, where organizations use to build a scattered or a central IT infrastructure to avoid any disaster and to recover using data backed up at other remote locations and for various other practices. Hence increasing the running and maintenance cost for the infrastructure.
Then came the cloud computing concept, right after initiatives taken in web development hence promoting Web Applications now it is obvious all the flavours in Cloud Computing (IaaS, Paas, Saas) are here in IT to stay forever!
Any guess why I am saying this? What's all in it for us (developers) and other parties involved?

(But before I could start explaining why…I must let you guys know, development is no different for cloud, same good old code works on the cloud too…some minor variations in deploying procedures…but hey believe me deployment too is more easier on cloud Smile)

Now back to the topic, I am not exaggerating about the upcoming boom in cloud computing paradigm as far as I am looking into the first quarter growth rate (54%-SFSF at max and 14%-SABA at min, others ranging between them and Sales Force leading with 34% and greater volume) for this fiscal year representedhere.

I am pretty sure about the stability of cloud computing based solutions and systems. So people get ready for a rollercoaster ride, yes a sudden shift in computing paradigm due to the cloud….keep your eyes and ears open as the Cloud computing will soon change the way things used to work here.

Wednesday, May 18, 2011

What is the actual difference between IaaS, SaaS and PaaS in Cloud Computing?


Almost everyone who is beginning to read about Cloud Computing will encounter the difficulty of understanding the intricate difference between SaaS, PaaS and IaaS under the Cloud Computing realm.

I am detailing the differences below in a way I understood it. May be you have an alternate approach to understanding the difference, nevertheless I believe that the explanation below gives you an insight into the beautiful difference between the three terminologies.

Firstly, the terms stand for the following:

SaaS: Software as a service.
PaaS: Platform as a service.
IaaS:  Infrastructure as a service.


Whenever you consider a cloud computing system, (or rather let’s consider a simple server), there are three main types of capabilities that it exposes. These are:

1) Computing: Of course, you need lot of computing power to perform complex calculations. This is achieved by installing high-end complex processors into the hardware to expose to computing capability. Such processors could be used for various kinds of calculations such as BioTech related, Mathematics and may be even Textual String Processing.

2) Storage: Any cloud computing system has to provide a service to enable you to be able to store large amount of data into the hardware. While calculations is one thing, storage is a different ball game all together. So when a cloud computing system exposes storage as a capability, you leverage it to be able to organize and store the data in an organized fashion you want to. Later, you use the same storage capabilities that the system exposes to retrieve the data you want.

3) Management: While you have hardware to compute and store, management is something you cannot ignore. You need various kinds of API functions and other management capabilities that you want the system to expose, so that you are able to specify various tasks and organize them or queue them up for processing. Consider the case of a Mc Donald counter here. Having the Computing Infrastructure to fry chips and Storage Racks to store the goods is not enough. You need a Management System to be able to organize the incoming customers in a queue and then also to be able to distribute the work among the workers, right?

So, while we spoke about the 3 kinds of capabilities any Cloud Computing system should enable someone to leverage, now let’s talk about what exactly is IaaS, PaaS and SaaS.

IaaS: When the cloud computing system that is offered to you provides you with only infrastructure or the actual hardware (servers and disks), the system is essentially a IaaS. What you get is an infrastructure. You are responsible for installing all the required platforms on top of it. You are responsible for upgrading the necessary platforms if there is a new version released in the market. Let’s say you have installed the .NET Platform on IaaS. Whenever Microsoft releases a new version of .Net, you as an end user of the cloud computing system, take full responsibility of upgrading the system to a newer version of the .Net. It might require you to completely bring your website running on the cloud down, to complete the upgrading process and you will have to live with it 

PaaS: Platform as a service as you have probably guessed by now, provides you all the hardware and computing infrastructure, and in addition also takes care of the platforms that are installed on top of the hardware. Think of PaaS as an additional layer on top of IaaS. You don’t need to bother with the platforms up gradation process and you don’t need to worry about your website coming down during the maintenance process. The cloud computing service which is a PaaS comes as a package with the platforms that it supports and it takes complete responsibility of maintaining them. PaaS is like a box that comes with the computing infrastructure and the required platforms. You basically pay for what you use. The platform that is pre-installed could be .Net or something else.

SaaS: Now the last one which is SaaS, is the top most layer on the PaaS service. If the cloud computing service is a SaaS, then it means that you not only get the underlying hardware infrastructure and installed platforms on top of it, but also various kinds of software(s) on those platforms. A simple software on top of .Net platform could be a simple calculator that allows you to send numbers and perform calculations. Calculator is the software running on top of the PaaS (which consists of the .Net platform). Think of it this way. Any software needs a platform to run. So SaaS gives you all those softwares. Now the kinds of softwares that run may intern depend on what kind of cloud computing SaaS is the company providing. If the SaaS is for enterprise, then you will have various pre-installed enterprise softwares. If it is a e-commerce SaaS, then you have various e-commerce related softwares at your disposal. SaaS requires you to basically send data and you will get data back.

I personally feel that the gap between the three types of services above is diminishing and very soon everything would be offered as single package, allowing the end-user to use what he wants.

There are various Cloud Computing Service providers coming up in the market and each one of them is known best for the kind of service (IaaS/PaaS/SaaS) they provide.

Monday, April 25, 2011

Registering Events and creating controls dynamically in ASP.NET


Hi fellows,
  yesterday I spend 4 hours straight, trying to register a simple click event of a series of dynamically created LinkButtons using ASP.NET (C#), I was unable to do that, as the event was not triggering, I was creating the instances of the Linkbutton every time the pageload event was called but all in vain.
I was trying to do something like this:
foreach (DataRow ddrList in dsCouseList.Tables[0].Rows)
trow = new TableRow();
tcell = new TableCell();
LinkButton btnremove = new LinkButton() { ID = ddrList["linkfield"].ToString(), Text = "Remove" };
btnremove.Click += new EventHandler(btnremove_Click);
tcell = new TableCell();
tcell.Controls.Add(new Label { Text = ddrList["buyerdescription"].ToString(), ID="descr" });
The thing I just missed and got stuck was when I assigned an ID (ID="descr") to the above label explicitly”.
What happened is that in case of more than one Data Rows in the Dataset dsCourseList,Tables[0].Rows, Labels with duplicate ID’s generated, in result restraining the click event to work properly.
I learned my lesson and wanted to share it with you all. 
So be careful with such pitfalls in programming and in real life too Smile
Happy development Smile