Friday 1 October 2010

Cloud Clarity

For many, trying to understand the complexities of Cloud-based services can be like navigating through a minefield, particularly if you're an ISV looking to broaden your product offering.
With that said, here's a quick basic concepts of cloud services, which should help clear the muddy waters a little.

SaaS – Software As A Service

Software as a Service can be defined as "Software deployed as a hosted service and accessed over the Internet rather than a product deployed at the customer’s premises for each customer." This new deployment and licensing model fundamentally changes the business model of an ISV, impacting many parts of the organisation – marketing, the sales force, presales engineering, deployment, support, finance, and product engineering and maintenance.
In words of a common man, an on-premise software application is the one that a user / company purchases and installs on their own machine / server and use it internally to perform a specific operation. The best example of it would be products like Microsoft Word, Excel, Outlook, Exchange Server etc.. The same functionalities / operations are also available over the web, accessed via a Web browser. These are hosted, subscription based “services” which provide a user an option to NOT buy an on-premise software and instead use it as a on-demand service. Taking the same example as Microsoft Word, Excel, if one opts to use a SaaS based offering to meet this functionality, they may choose to subscribe to an offering provided by Google called Google Docs – (http://docs.google.com) or the Microsoft’s SaaS offering @ http://office.live.com/. Thus by using one of these two “services”, the need for installing a software like Microsoft Word, Excel on our local computers is vanished.
Here’s a list of few popular SaaS offerings:
1) Salesforce.com – A complete CRM Suite delivered as SaaS
2) Office Live & Google Apps – Office productivity software delivered as SaaS
3) Microsoft Exchange Online – Email Server Software provided as SaaS for companies who do not wish to host their own Email servers for providing their employee email addresses
4) fourthhospitality.com – Complete Back Office System and ERP for Hospitality industry such as Hotels, Pubs, Restaurants delivered as SaaS
If you are an ISV and you have existing on-premise software that provides a specific business functionality, it is wise to consider providing a SaaS version of your software too.
If you are an end user or a company, thinking of buying a software to perform a specific set of business functionalities, you could potentially think of subscribing to a SaaS based offering as they provide many business advantages compared to on-premise software counterparts
 

IaaS – Infrastructure As A Service

IAAS is essentially delivery of computer infrastructure (typically a platform virtualization environment) as a service. Rather than purchasing servers, operating systems, software, data centre space or network equipment, there is an option to instead buy / rent these resources as a fully outsourced service.
One such example of this service is the Amazon Web Services – EC2 (Elastic Compute Cluster)
With a  “pay-per-use” subscription model, these facilities are really very useful especially for trying out infrastructures.
Here are a few characteristics / advantages of using IaaS:
1) No Capital Expenditure
There is no need to buy any servers upfront as one can rent it thus saving a huge Capital Expenditure.
2) Pay-Per-Use
There is no need to pay for your ‘idle’ resources. IaaS is based on a pay-per-use model. So you pay only for the running server instances. Once done with the usage one can simply ‘switch –off’ the server. This adds to cost-effectiveness.
3) Off the shelf Server Instances
There is no need for formatting  servers or installing operating systems. One can choose the server instance based on configuration required at the click of a button. IaaS providers such as ‘Amazon’ provides quite a few ready made instances of popular Server OS known as ‘Amazon Machine Image’(AMI) thus providing a significant gain for provisioning servers to not days but minutes.
4) On–Demand Scalable Model
IaaS provides an ability to kick-start given number of server instances at a click of a button.
There are lot many more benefits in using IaaS over traditional usage of on-premise servers. I would have a separate blog on IaaS to cover all of it shortly
 

PaaS – Platform As A Service

PaaS is a delivery computing platform and solution stack provided as a service. It facilitates development and deployment of applications without the cost and complexity of buying and managing the underlying hardware and software layers. It provides the facilities required to support the complete lifecycle of building and delivering web applications and services and can also be deployed on the servers provided by the Platform providers.
The following are the three known PaaS providers:
1) Force.com
.Force.com is a Application development & deployment platform provided by Salesforce.com. It provides most used application layers as API which can be used by developers / companies to build applications that can run on cloud.
2) Google App Engine
Google App Engine provides APIs to build and host web apps on the same systems that power Google applications. App Engine offers fast development and deployment with no need to worry about hardware, patches or backups and effortless scalability.
3) Microsoft Azure
Windows Azure is a flexible computing platform provided by Microsoft to build and deploy applications on the cloud. It provides three separate platforms which can either be individually or collectively used to build software solutions:
a) Windows Azure – A platform and a set of APIs to utilise operating system services in the cloud. Windows Azure is an operating system that serves as the development, service hosting and service management environment for the entire Windows Azure platform. It provides developers with on-demand compute and storage to host, scale, and manage web applications on the internet hosted at the Microsoft datacentres.
b) SQL Azure – Hosted version of SQL Server exclusively developed and optimised for providing database functionality to applications developed and deployed on Azure platform. It provides rich set of APIs to build a database for cloud applications.
c) Windows Azure App Fabric – A set of Services provided by Microsoft to bridge the gap between the Windows Azure platform and SQL Azure to build effective clouds solutions. These services include a robust Service bus, Access control, Caching and so on. The goal of Service Bus is to make this simpler by letting an application expose endpoints that can be accessed by other applications, whether on-premises or in the cloud.
The idea of this particular article was to provide the first step to clear the muddy water. There are more cloud service providers than mentioned above. The names provided are only known examples and not the complete list.
I intend to expand more on the above mentioned points on to separate blogs very soon.

No comments:

Post a Comment