The Cloud Approach.
Now a days everyone is talking about cloud and it’s not a new technology anymore, many organizations have adapted it successfully and implemented it. Many who are yet to implement are thinking seriously of adapting the cloud model. May be some think they don’t want to be left out in the race of this cloud age and some really understood its requirement in today’s technological advancements.
Well I have been fortunate enough to work in some of the pioneer companies of this cloud technology.
One of them is Sun Microsystems and another is VMware.
I remember when I joined Sun almost 10 years back in 2004.Internally people used to talk about cloud computing, it was not hype that time but inside Sun we used to talk about cloud technology. Off course Sun was not into x86 Virtualization, but definitely they were very much into virtualizing their SPARC processor. With the help of Solaris 10 OS Sun could virtualize the SPARC and in Solaris OS we could create the Solaris Containers. Again they had LDOMS (Logical Domains) and now Oracle has changed its name to Oracle VM,I am not going to talk the LDOMS or Solaris Containers here but want to point out that Virtualization was there before VMware started it, Well before Sun there was Virtualization too with IBM Mainframes .
My point is virtualization is not a new technology but definitely the invention of virtualizing the x86 processor by VMware was a kick off point for cloud technology to take off. Because common IT people could not get access to virtualization technology of these IBM’s or Sun’s Servers where they could understand or implement virtualization,infact it was too complicated to understand and implement that time.
But When Vmware could virtualize the x86 processor then Virtualization became a household name among normal IT people. I remember when Vmware had its Workstation Software where you can run multiple Oss on a Single Desktop or laptop, it was looking like a College Student project who made it for fun, but suddenly people started realizing the potential in this technology and started adapting it for improving the so called computer resource utilization factor.
People and Enterprises started using Virtualization and use different virtualization technology and suddenly cloud computing became a reality that was envisioned by many technical guys.
Today I am going to write something about the way of implementing this cloud.
Well before discussing about the way it is implemented let’s understand first what is exactly Cloud computing means.
Cloud Computing Explained :
Here is a Definition of Cloud Computing given by National Institute of Standards and Technology’s (NIST).
“Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. “
Let’s try to understand this definition. We ll try to understand by asking some questions to ourselves and then we ll try to find out the answer from this definition.
Q : What is Cloud Computing?
Ans : It’s a Model
Q : Model For what ?
Ans : For enabling something.
Q : Enabling what ?
Ans : For enabling on-demand network access of some computing resources type.
Q : What is on-demand network access ?
Ans : On demand means when it is desired or required by a user to access and use, and it should be accessed by network means.
In a way the “configurable computing resources” should accessed by network means whenever required by a user.
Q : What are all these computing resource type ?
Ans : ubiquitous , convenient, configurable computing resources.
Q : What is ubiquitous type ?
Ans : The meaning of ubiquitous is ,present, appearing, or found everywhere.
So here in the context of Cloud computing and Computing resource, it is the type of Computing recourse whatever present and available and whatever fond everywhere there is no special type of hardware,network or computing resource required for Cloud.
Q : What is convenient type ?
Ans : It means , fitting in well with a person’s needs, activities, and plans.
In context of Cloud and Computing resources it meaning is the hardware or computing resource which fits into everybody’s need and something one should share which may not be of only for a special requirement or can’t be fit into normal everyday use.
Q : What is Configurable ?
Ans : The dictionary meaning of “configuration” means “to design or adapt to form a specific configuration or for some specific purpose”. So “Configurable” in context of Cloud and Computing recourse means , the Computing resources that is used for cloud should be configurable any point of time. Not like it is once set and then made to use.
Q : And what are these computing resources ?
Ans : In the definition it is provided in the bracket as (e.g., networks, servers, storage, applications, and services). It means the computing resources can be network, server, storage, applications or any other services. You can see it is not just limited to hardware recourses but applications and services are also termed as computing recourses.
Q : Well there is a term called “ Shared Pool” of configurable computing resource. What is Shared pool ?
Ans : Shared pool is a pool of things where things are just accumulated or consolidated to so that it can be shared to be consumed.
Here we are talking of Shared pool of configurable computing resources. Note here it is not just computing resource but “configurable computing resources”. So this is pool of Computing resource which can be configured when there is a need and can be shared among the users when it is required.
Q : The Next line of the definition says “ ….. that can be rapidly provisioned and released with minimal management effort or service provider interaction” what does this mean ?
Ans : Again lets divide it into words “rapidly provisioned and released” and “minimal management effort or service provider interaction”
First lets discuss about “rapidly provisioned and released”. This is nothing but Rapid elasticity.
So any Computing resource that is in the shared pool should be rapidly provisioned and released. It means whenever a user needs to use these computing resources they should be available immediately if not atleast with minimal process delay and network delay and also these consumed resource should be released immediately whenever the user finished his work so that the computing resource can be returned to the Pool and be available for others to be used. So the property which is called “Rapid elasticity” in cloud is this one. Like it should be elastic in nature.
The Next one is “minimal management effort or service provider interaction” the characteristic of “On-demand Self Service portal”.
Here the definition says the shared pool of configurable computing resources should be used by individuals or users with minimal management effort or minimal effort from the providers who provide the Cloud Service. So the Cloud provider should provide a Self Service portal where user can register themselves and then be able to use the computing resources themselves rather than someone from the Services providers provides them.
So from these explanations we found the cloud model is composed of five essential characteristics.
On-demand self-service : A user can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider.
Broad network access : Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations).
Resource pooling : The service provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage, processing, memory, and network bandwidth.
Rapid elasticity : Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time.
Measured service : Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g. storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.
In my next blog I ll discuss about what are all the ways Cloud Computing can be Implemented.