Honestly, I am not saying that because I get paid by Microsoft! but 2 years ago or almost less than that when all those new concepts came out like Software as a Service (SaaS) or Platform as a Service (PaaS) I never saw this working for small - medium and enterprise businesses.

To start with you have to assume that you are always connected, and in an ideal world you would. However, believe me it is not always the case, there was a whole region that had to live with no Internet for almost 2 weeks. Just can you imagine if a business that hosted all their applications online would have to do. Basically I don't see an alternative except to shutdown :).

So it is clear still for years to come the Internet that we take for granted here, is not usually the case everywhere else. Further disasters do happen and although we have Geo-located services still those regions that get affected will have to stay in the dark, until they get back online.

Another fact is that still applications need to exist on the desktop at least for a while. I can't imagine using Gmail without using its notifier, or be able to pop out office and work on my documents without being connected. Still there are times when you are not connected, and the Internet is not free for everyone :).

Further still there is the problem of trust and security. Can a business fully trust another company to store and handle its information. Well maybe, but in my opinion you need to prepare a good SLA, and if this is not the case then say goodbye to the idea of having a business build their Apps on your platform.

Looking at Amazon S3 and Google App platform they are truly two amazing platforms for start ups now. It really offloads a lot of the startup costs that would be required to a host a service today. However, Microsoft also has a strategy and in my opinion it is a better one :). Yes I truly believe Microsoft do understand the enterprise and also the consumer mostly :). Looking today at some of the rolled services like Microsoft Online Services or the hosted services like Exchange,SQL and biztalk I see there is a clear strategy to provide SMBs with a set of services that they can offload their current infrastructure.

Today any business can take the step of using some of the hosted services like Share point, Exchange and Live communication server and use the best practices and models that are already built for them with no startup, setup or IT infrastructure costs.

From the consumer based services side Microsoft is providing amazing services like Silverlight streaming, and the whole Live Platform. Any developer today can start his own YouTube and build rich interactive applications with no worries on where and how rich media will be hosted.

Finally, for the end customer Let's also not forget software plus services like Zune Marketplace and XBOX Live that really provide an End to End consumer experience based on the S+S strategy.

My own personal opinion is that you can't change the way people work or develop in one single shot, it has to go into steps and it has to go through an evolution. Software + Services is the next step before we start depending fully on the cloud!