Tuesday 12 July 2011

Enterprise Architecture , SOA, Cloud Computing : An Introduction Part 2

In Part 1 of this series we discussed about SOA .In this post we will get acquainted with the concepts of Cloud Computing.

What is Cloud Computing?
In the early part of 4th Century, India’s most famous poet in ancient times Kaildasa wrote a classic poem called Meghadutam which means Cloud Messenger.In this poem a denizen of heaven who has been banished to earth for his transgressions asks a cloud to carry a message to his beloved.
Sixteen Centuries later Cloud has become a metaphor for every possible tangible and intangible thing in an enchanting world created by the web and computers!!
Cloud Computing provides the highest possible level of Abstraction and Virtualization to the central concepts associated with web based Computing.
Cloud Service Types
If you remember the SOA layer diagram in the part 1 of this blog it has various layers called infrastructure layer, components layer, services layer and business process layer.
Now imagine each of these layers are provided as service !!That is Cloud Computing in action .
Infrastructure as a Service – This acts like a hosting solution .The cloud provider has pool of virtualized computing resources and storage which the customer organization can take advantage of. This is on demand computing and takes care of the variation in computing peaks and troughs.
Platform as a Service – Includes operating systems, development and testing platform, middleware and specialized development framework .This enables customer to develop his own applications and host with the Cloud Service provider.
Software as a Service – The applications are developed and hosted by the Cloud Service provider. Services are delivered over Internet.
Business Process as a Service – Business Process sits on top of services layer in our SOA diagram.In BPaaS the entire BPM Solution is hosted in Cloud .This is the newest kid in the block and  the implementation is at relatively nascent stage.
The next question is though all these sound great on paper, is there are any practical implementation for all these services? The answers is a resounding yes .The diagram below shows the different types of Cloud services and the leading providers for them. 
                                           Fig 1 Cloud Service Types and Providers
Cloud Deployment Types
Public - Public cloud infrastructure is available to general public and organizations who can use it on a pay per use.This infrastructure is hosted and owned by a large vendor organization.
Private - The infrastructure can be owned by the organization or the vendor but is for exclusive use of the organization.
Hybrid - A hybrid model which combines both the above two models.
Cloud Concerns
Some old and some new concerns have raised there head as Cloud Computing is becoming popular.Some notable among them are 
Security Since cloud is virtualized there could be multiple organizations sharing the same service or infrastructure.This is known as multi tenancy and this helps in bringing down the cost and making the platform more efficient.However there is a possibility that this may lead to security breach .You have to absolutely trust the provider for this .
Availability  There are times when the cloud service is down .Though this is rare but in recent times AWS and GoogleApps were down for considerable amount of time causing concern among its users.
Auditability Most industries have strict audit requirements .However since in cloud the management and administration is the responsibility of Cloud provider, some time doing an audit and establishing a traceability is not that easy.
Accessibility Since most services in cloud are Internet based, not having access to Internet because of various reasons may prevent users from using the services.
We will explore in subsequent postings how these concerns are being addressed.

1 comment: