Cloud computing is a newly developing prototype of distributed computing. Though it is not a new idea that emerged just recently.
In 1969 L. Kleinrock anticipated, “As of now, computer networks are still in their infancy. But as they raise up and become more problematical, we will perhaps see the expand of ‘computer utilities’ which, like current electric and telephone utilities, will service individual homes and o?ces crossways the country.”
His vision was the true indication of today’s utility based computing paradigm. One of the huge steps towards this globe was taken in mid 1990s when grid computing was ?rst coined to allow clients to obtain computing power on claim. The origin of cloud computing can be seen as an improvement of grid computing technologies.
The term Cloud computing was certain characteristic ?rst by Google’s CEO Eric Schmidt in late 2006 (may be he coined the term) . So the origin of cloud computing is very new phenomena although its root belongs to some old ideas with new business, technical and social perspectives.
From the architectural point of vision cloud is obviously construct on an presented grid based construction and uses the grid services and adds some technologies like virtualization and some business models.
In short cloud is basically a cluster of article of skill computers networked together in same or di?erent geological locations, operating together to serve a number of clientele with di?erent could do with and workload on demand basis with the help of virtualization. Cloud services are provided to the cloud users as effectiveness services like water, electricity, telephone using pay-as-you-use business model.
These effectiveness services are normally described as XaaS (X as a Service) where X can be Software or stage or Infrastructure etc. Cloud users use these services provided by the cloud providers and construct their applications in the internet and thus transport them to their end users. So the cloud users don’t have to concern about installing, maintaining hardware and software required.
And they also can a?ord these services as they have to pay as much they use. So the cloud users can reduce their fixed cost and e?ort in the ?eld of IT using cloud services instead of establishing IT transportation themselves. Cloud is essentially provided by large spread data centers. These data centers are frequently organized as grid and the cloud is built on top of the grid services.
Cloud users are provided with implicit metaphors of the physical technology in the data centers. This virtualization is one of the key form of cloud computing as it essentially builds the view over the physical scheme. Many cloud applications are in progress attractiveness day by day for their availability, reliability, scalability and utility form. These applications made strewn computing easy as the vital aspects are handled by the cloud provider itself.
Cloud computing is increasing now-a-days in the interest of technical and big business organizations but this can also be bene?cial for solving social issues. In the recent time E-Governance is being implemented in developing countries to improve e?ciency and e?ectiveness of governance.
This advance can be enhanced much by using cloud computing instead of habitual ICT. In India, economy is agriculture based and most of the citizens live in rural areas.
The typical of living, agricultural succumb etc can be improved by utilizing cloud computing in a proper way. Both of these applications of cloud computing have technological as well as social challenges to conquer.
In this explanation we would try to make clear some of the dreams – Why is cloud computing a motto today? i.e. what are the bene?ts the contributor and the users get using cloud? Though its idea has come long back in 1990 but what condition made it crucial today? How is cloud built? What di?erentiates it from similar terms like grid computing and utility computing? What are the di?erent services are provided by the cloud providers?
Though cloud computing now-a-days talks about business enterprises not the non-pro?t organizations; how can this new paradigm be used in the services like e-governance and in social advancement issues of rural India?
There are sure services and models working behind the scene making the cloud computing feasible and easy to get to end users. Following are the working models for cloud computing:
• Deployment Models
• Service Models
Deployment models describe the type of right to use to the cloud, i.e., how the cloud is located? Cloud can have any of the four types of access: Public, Private, Hybrid, and Community.
Cloud computing is based on service models. These are categorized into three vital service models which are –
• Infrastructure-as–a-Service (IaaS)
• Platform-as-a-Service (PaaS)
• Software-as-a-Service (SaaS)
Public Cloud Model
Public Cloud allows systems and services to be easily available to general public. The IT giants such as Google, Amazon and Microsoft offer cloud services via Internet. The Public Cloud Model is shown in the diagram below.
Since public cloud shares same assets with large number of customers it turns out cheap.
The public cloud employs large number of assets from different locations. If any of the profits fails, public cloud can employ another one.
The public cloud can smoothly assimilate with private cloud, which gives customers a flexible come close to.
Public cloud services are delivered through Internet, ensuring location independence.
Utility Style Costing
Public cloud is also based on pay-per-use reproduction and funds are available whenever customer needs them.
Cloud assets are made obtainable on demand from a group of resources, i.e., they can be scaled up or down according the obligation.
Here are some disadvantages of public cloud model:
In public cloud imitation, data is hosted off-site and assets are shared publicly, therefore does not ensure advanced level of security.
It is reasonably less customizable than private cloud.
Private Cloud Model
Private Cloud allows systems and services to be available within an organization. The Private Cloud is operated only within a single business. However, it may be managed internally by the society itself or by third-party. The private cloud model is shown in the diagram below.
High Security and Privacy
personal cloud operations are not available to general public and resources are shared from distinct pool of assets. Therefore, it ensures high security and privacy.
The private cloud has more control on its assets and hardware than public cloud because it is accessed only within an society.
Cost and Energy Efficiency
The private cloud resources are not as cost effective as resources in public clouds but they offer more effectiveness than public cloud resources.
Here are the disadvantages of using private cloud model:
Restricted Area of Operation
The private cloud is only easily reached nearby and is very difficult to deploy globally.
Purchasing new hardware in order to accomplish the insist is a costly business deal.
The private cloud can be scaled only within capability of internal hosted assets.
In order to preserve cloud deployment, organization requires skilled expertise.
Hybrid Cloud Model
Hybrid Cloud is a combination of public and private cloud. Non-critical actions are performed using public cloud while the grave activities are performed using private cloud.
The Hybrid Cloud Model is shown in the diagram below.
There are many benefits of deploying cloud as hybrid cloud model.
It offers features of both, the public cloud scalability and the private cloud scalability.
It offers secure resources and scalable public assets.
Public clouds are more cost valuable than private ones. Therefore, hybrid clouds can be price saving.
The private cloud in hybrid cloud ensures higher level of security.
Networking becomes intricate due to existence of private and public cloud.
It is obligatory to ensure that cloud services are compliant with security policies of the organization.
Community Cloud Model
Community Cloud allows system and services to be easily reached by set of organizations. It shares the infrastructure between quite a lot of organizations from a explicit community.
It may be managed internally by organizations or by the third-party. The Community Cloud Model is shown in the diagram below.
There are many profit of deploying cloud as community cloud model.
Community cloud offers same reward as that of private cloud at low cost.
Sharing Among Organizations
Community cloud provides an infrastructure to contribute to cloud assets and capabilities along with several organizations.
The community cloud is reasonably more secure than the public cloud but less safe than the private cloud.
• While all data is located at one position, one must be alert in storing data in community cloud because it might be available to others.
• It is also demanding to allocate responsibilities of governance, security and cost among organizations.
Cloud Computing Infrastructure as a Service (IaaS)
Infrastructure-as-a-Service provides access to fundamental assets such as physical machines, virtual machines, virtual storage, etc. Apart from these resources, the IaaS also offers:
• Virtual machine disk storage space
• Virtual local area network (VLANs)
• Load balancers
• IP addresses
• Software bundles
All of the above resources are made obtainable to end user via server virtualization. Moreover, these assets are accessed by the consumers as if they own them.
Cloud Computing Platform as a Service (PaaS)
Platform-as-a-Service offers the runtime surroundings for applications. It also offers development and deployment tools mandatory to develop applications.
PaaS has a aspect of point-and-click tools that enables non-developers to create web applications.
App Engine of Google and Force.com are examples of PaaS offering vendors. Developer may log on to these websites and use the built-in API to construct web-based applications.
But the disadvantage of using PaaS is that, the developer locks-in with a particular vendor.
For example, an application written in Python against API of Google, and using App Engine of Google is likely to work only in that environment.
The following diagram shows how PaaS offers an API and development tools to the developers and how it helps the end user to access business applications.
Cloud Computing Software as a Service (SaaS)
Software-as–a-Service (SaaS) representation allows to provide software application as a service to the end users.
It refers to a software that is deployed on a host service and is reachable via Internet.
There are several SaaS applications listed below:
• Billing and invoicing system
• Customer Relationship Management (CRM) applications
• Help desk applications
• Human Resource (HR) solutions
Some of the SaaS applications are not customizable such as Microsoft Office matching set.
But SaaS provides us Application Programming Interface (API), which allows the developer to develop an adapted application.
The cloud providers in fact have the physical data centers to provide virtualized services to their users through Internet. The cloud providers often provide taking apart between application and data.
This situation is shown in the Figure . The underlying physical machines are generally planned in grids and they are usually geographically distributed. Virtualization plays an vital role in the cloud situation.
The data center hosts provide the physical hardware on which virtual machines resides. User potentially can use any OS supported by the virtual machines used.
Figure 2: Basic Cloud Computing Architecture
Operating systems are intended for speci?c hardware and software. It results in the require of portability of operating system and software from one machine to another machine which uses di?erent instruction set architecture.
The concept of virtual machine solves this problem by acting as an interface between the hardware and the operating system called as system VMs .
Another category of virtual machine is called process virtual machine which acts as an abstract layer between the operating system and applications.
Virtualization can be very roughly said to be as software translating the hardware instructions generated by conventional software to the understandable format for the physical hardware.
Virtualization also includes the mapping of virtual resources like registers and memory to real hardware resources.
The underlying platform in virtualization is generally referred to as host and the software that runs in the VM environment is called as the guest
. The Figure shows very basics of virtualization. Here the virtualization layer covers the physical hardware. Operating System accesses physical hardware through virtualization layer.
Applications can issue instruction by using OS interface as well as directly using virtualizing layer interface.
This design enables the users to use applications not compatible with the operating system. Virtualization enables the migration of the virtual image from one physical machine to another and this feature is useful for cloud as by data locality lots of optimization is possible and also this feature is helpful for taking back up in di?erent locations.
This aspect also enables the provider to shut down some of the data center physical machines to decrease power consumption.
Characterstics of cloud computing
1. On-demand self-service:
A customer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider.
2. Broad network access:
Capabilities are obtainable 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).
3. Resource pooling:
The provider’s computing assets are pooled to serve multiple clients 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 usually has no control or understanding over the exact location of the provided assets 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.
4. Rapid elasticity:
Capabilities can be elastically provisioned and free, in some cases automatically, to scale rapidly outward and inward commensurate with demand.
To the consumer, the capabilities obtainable for provisioning often appear to be infinite and can be appropriated in any extent at any time.
5. 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 the supplier and shopper.
Advantages of using Cloud
The advantages for using cloud services can be of technical, architectural, business etc .
1. Cloud Providers’ point of view
(a) Most of the data centers today are under utilized. They are mostly 15% utilized. These data centers need spare capacity just to cope with the huge spikes that sometimes get in the server usage. Large companies having those data centers can easily rent those computing power to other organizations and get pro?t out of it and also make the resources needed for running data center (like power) utilized properly.
(b) Companies having large data centers have already deployed the resources and to provide cloud services they would need very little investment and the cost would be incremental.
2. Cloud Users’ point of view
(a) Cloud users need not to take care about the hardware and software they use and also they don’t have to be worried about maintenance. The users are no longer tied to some one traditional system.
(b) Virtualization technology gives the illusion to the users that they are having all the resources available.
(c) Cloud users can use the resources on demand basis and pay as much as they use. So the users can plan well for reducing their usage to minimize their expenditure.
(d) Scalability is one of the major advantages to cloud users. Scalability is provided dynamically to the users. Users get as much resources as they need. Thus this model perfectly ?ts in the management of rare spikes in the demand.
Cloud computing is a newly developing technology of distributed computing. Virtualization in combination with effectiveness computing model can make a di?erence in the IT industry and as well as in shared viewpoint.
Though cloud computing is still in its infancy but its visibly gaining momentum. Organizations like Google, Yahoo, Amazon are already providing cloud services.
The products like Google App-Engine, Amazon EC2, Windows Azure are capturing the market with their ease of use, availability aspects and utility computing model.
Users don’t have to be worried about the hinges of distributed programming as they are taken care of by the cloud providers.
They can devote more on their own domain work rather than these administrative works.
Business organizations are also showing increasing interest to indulge themselves into using cloud services.
There are many open researchissues in this prefecture like guard aspect in the cloud, virtual machine voyage, production with large data for analysis purposes etc.
In developing counties like India cloud computing can be apply in the e-governance and rural development with big success.
Although as we have seen there are some important issues to be solved to successfully deploy cloud computing for these social purposes.
But they can be addressed by thorough study in the subject.