Cloud computing is Internet-based computing, whereby shared resources, software and information are provided to computers and other devices on-demand, like a public utility. The term cloud is used as a metaphor for the Internet, based on the cloud drawing used in the past to represent the telephone network , and later to depict the Internet in computer network diagrams as an abstraction of the underlying infrastructure it represents. Typical cloud computing providers deliver common business applications online which are accessed from a web browser, while the software and data are stored on servers.
It is the idea of accessing files, software and computing services through the Internet instead of on your personal computer. In the simplest of terms, if your software or your files are “somewhere out there” instead of on your computer’s hard drive, you’re using Cloud Computing services. The Cloud is the Internet, and one of the primary benefits of Cloud Computing is the ability to create, update and store your files through any computer that has access to the web.In general, cloud computing customers do not own the physical infrastructure, instead avoiding capital expenditure by renting usage from a third-party provider. They consume resources as a service and pay only for resources that they use.
History of Cloud Computing Concept dating back to the 1960′s by John McCarthy, a computer scientist, brought up the idea that “computation may someday be organized as a public utility” Idea that revolutionized Cloud Computing. Many cloud-computing offerings employ the utility computing model, which is analogous to how traditional utility services (such as electricity) are consumed, whereas others bill on a subscription basis. Sharing “perishable and intangible” computing power among multiple tenants can improve utilization rates, as servers are not unnecessarily left idle (which can reduce costs significantly while increasing the speed of application development). A side-effect of this approach is that overall computer usage rises dramatically, as customers do not have to engineer for peak load limits. In addition, “increased high-speed bandwidth” makes it possible to receive the same response times from centralized infrastructure at other sites.A technical definition of cloud computing is “a computing capability that provides an abstraction between the computing resource and its underlying technical architecture (e.g., servers, storage, networks), enabling convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction.
EXAMPLES OF CLOUD COMPUTING
In addition to web-based email, some online services have started expanding their offerings by providing word processing and other office applications online. EmeCloud is one example, which offers web-based word processing, spreadsheets, presentations, Email, calendaring functions and Line od Business Applications.
All you need is access to the Internet, and you can create and store files in these Cloud-based applications. Documents and presentations can be uploaded from your hard drive and stored on the Web, allowing you to freedom to access them from any computer, and collaborate with other users, without having multiple copies of the document spread around different computers. Everything happens in the Cloud, via your web browser.
You may already be using Cloud Computing, and not know it. If you’re storing your photos online via Flickr or Photobucket, you’re in the Cloud. The same thing applies to video hosting sites such as YouTube, as well as online backup service like Carbonite.
Other software companies are already working on the idea of Cloud Computing, as an alternative to the traditional method of downloading or installing software on a hard drive. Some accounting software makers now have applications that are web-based. You simply enter a user name and password in order to get access to your accounting files. Examples of companies that do this are Quickbooks and Peachtree.
There are five essential characteristics of cloud computing:-
Rapid Elasticity: Elasticity is defined as the ability to scale resources both up and down as needed. To the consumer
, the cloud appears to be infinite, and the consumer can purchase as much or as little computing power as they need.
This is one of the essential characteristics of cloud computing.
Measured Service: In a measured service, aspects of the cloud service are controlled and monitored by the cloud provider. This is crucial for billing, access control, resource optimization, capacity planning and other tasks.
On-Demand Self-Service: The on-demand and self-service aspects of cloud computing mean that a consumer can use cloud services as needed without any human interaction with the cloud provider.
Ubiquitous Network Access: Ubiquitous network access means that the cloud provider’s capabilities are available over the network and can be accessed through standard mechanisms by both thick and thin clients.
Resource Pooling: Resource pooling allows a cloud provider to serve its consumers via a multi-tenant model. Physical and virtual resources are 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)
TYPES OF CLOUD
In simple terms, public cloud services are characterized as
being available to clients from a third party service provider via the Internet. The term “public” does not always mean free, even though it can be free or fairly inexpensive to use.
A public cloud does not mean that a user’s data is publically visible; public cloud vendors typically provide an access control mechanism for their users. Public clouds provide an elastic, cost effective means to deploy solutions.
A private cloud offers many of the benefits of a public
cloud computing environment, such as being elastic and service based. The difference between a private cloud and a public cloud is that in a private cloud-based service, data and processes are managed within the organization without the restrictions of network bandwidth, security exposures and legal requirements that using public cloud services might entail. In addition, private cloud services offer the provider and the user greater control of the cloud infrastructure, improving security and resiliency because user access and the networks used are restricted and designated.
A hybrid cloud is a combination of a public and private cloud that interoperates. In this model users typically outsource non- business-critical information and processing to the public cloud, while keeping business-critical services and data in their control.
ARCHITECTURAL LAYERS OF CLOUD COMPUTING
Software as a service (SaaS)
Software as a service features a complete application offered as a service on demand. A single instance of the software runs on the cloud and services multiple end users or client organizations. Software as a Service Defined as service-on-demand, where a provider will license software tailored Infrastructure providers can allow customers’ to run applications off their infrastructure, but transparent to the end user Customers can utilize greater computing power while saving on the following Cost Space Power Consumption Facility.
Platform as a service (PaaS)
Platform as a service encapsulates a layer of software and provides it as a service that can be used to build higher-level services. Platform as a Service Provides all the facilities necessary to support the complete process of building and delivering web applications and services, all available over the internet Infrastructure providers can transparently alter the platforms for their customers’ unique needs. There are at least two perspectives on PaaS depending on the perspective of the producer or consumer of the services:
Someone producing PaaS might produce a platform by integrating an OS, middleware, application software, and even a development environment that is then provided to a customer as a service.
Someone using PaaS would see an encapsulated service that is presented to them through an API. The customer interacts with the platform through the API, and the platform does what is necessary to manage and scale itself to provide a given level of service.
Infrastructure as a service (IaaS)
Infrastructure as a service delivers basic storage and compute capabilities as standardized services over the network. Servers, storage systems, switches, routers, and other systems are pooled and made available to handle workloads that range from application components to high-performance computing applications. Infrastructure as a Service Defined as delivery of computer infrastructure as a service Fully outsourced service so businesses do not have to purchase servers, software or equipment Infrastructure providers can dynamically allocate resources for service providers Service providers offer this service to end users Allows cost savings for the service providers, since they do not need to operate their own datacenter Ad hoc systems allow quick customization to consumer demands.
Following are the advantages of cloud computing:-
1. Software as a Subscription
In a cloud, software resides on a service providers servers external to a user’s computer. In a sense users would not have to buy software for their computers because the software is loaded per use while the user is online (via a browser or some kind of connector application). The only models that would support this type of software use would be a subscription based or pay as you go model. Instead of shelling $149 for Office Home & Student, a user may pay a set fee/month; say $5.95/month and the user can tailor their subscription to meet their needs. This will keep users from buying software that is bundled with applications the user may not care for. A perfect example of this is the Office Suite.
2. Reduced Software Maintenance
By keeping the software in the ‘clouds’ users can reduce the amount of maintenance on their computers. Nowadays essentially every program installed on a computer has an update function that searches for the latest software changes in order to patch security flaws, correct software issues, and/or introduce new functionality. When upgrades are made to software on the cloud it does not affect the user’s computer, it would not require for the user to restart their computers, it would simply mean that unless the change affects functionality or visual elements, the user will be oblivious to those updates and their computers will never be affected by those updates. A reasonable reduction in systems maintenance would be expected as a result of this.
3. Increased Reliability
Increased reliability stems from the fact that the cloud runs on systems that are extremely reliable and provide some form of redundancy. Unless a user takes the time to setup a backup system for their files or sets up some kind of redundancy with offsite backups, etc. Users run the risk of losing valuable and sometime unrecoverable data on their computers. In the case of grid computing if a storage server on the cloud fails due to hardware or software issues, the service provider needs only to shift the load over to other servers or bring up a backup server in its place. If it occurred at a users premises with installed software a simple issue can turn to hours of technical support over the phone, costly downtime, and unhappy users and customers.
4. Increased Scalability
Running out of hard drive space at home? Looks like an additional hard drive along with a visit to a computer technician for installation will solve the problem. However in a cloud computing environment, storage is not an issue, as long as you can pay for it. Service providers need only to add servers or shift load from one server to another to accommodate for the additional use of space. The same goes for application use, instead of a small business adding additional servers to handle business transactions all they have to do is contact the service provider to let them know that they will need additional resources.
5. Cost Reduction
Costs are reduced in a number of ways. Capital expenditures are reduced because a lot of the load and storage will be shifted over to the service provider who can provide that service at a lower cost. Aside from decreased capital expenditures associated with hardware purchases, users would see the cost of software decrease due to the reduced cost of subscription software. IT staff at businesses would be reduced because the majority of the maintenance is performed at the service provider.
6. Environmentally Friendly
One of the greatest advantages of cloud computing is the increased longevity and use of older hardware used by datacenters. This in turn lessens the amount of electronic waste dumped because equipment is older and increased use of those resources. When businesses use current assets instead of purchasing additional hardware they reduce the size of their carbon footprint because it is one less server that is put into service, it is one less server that is consuming electricity .
7. Matches Current Computing Trends
The introduction of the netbooks has moved a lot of sales from computers and laptops with more powerful processors and extended capabilities to less powerful and more efficient platforms . This signals that users are looking for computers that meet their needs and are affordable. The advent of cloud computing will be able to match this trend because a lot of the processing overhead is performed at the servers and not the computer, so the need for an extremely powerful computer is muted. As cloud computing matures and more and more processing is shifted to the cloud, computers will require less processing power and will have basic functionality.
One the greatest advantages to grid computing is the availability of files and software anywhere that there is an active internet connection. This brings forth added accessibility and productivity for those that are on the road and require access to files and software. With a large number of companies looking for alternatives to employees working at the office and the increasing number of employees making up a mobile workforce. The reduction in application costs and technical support would easily continue to support this trend towards a mobile workforce that would utilize the computer grid.
9. Efficient Use of Computer Resources
The advent of virtualization has provided companies with ways to efficiently used their computer resources. Users no longer require separate servers for different applications. With virtualization multiple server technologies can run from a single server. This shift to virtualization supports the growth of cloud computing due to the increased capabilities of servers. Cloud computing would also simplify IT’s role in computer management because computers would be software agnostic.
10. Versionless Software
Versionless software refers to the elimination of software upgrade projects. Changes and updates to software would be constant and version numbers would be transparent to the user, all the user would see is added functionality. It would also give users “…access to new technology early and often rather than forcing them to wait for a final, packaged product to be shipped. ” This concept will enable the enterprise to remain in the cutting edge of technology and would reduce training costs associated with new software releases.
As one can see the case for cloud computing is quite appealing. The shift towards cloud computing would enable businesses to save money while minimizing their impact on the environments. Users would have the flexibility of accessing information from anywhere on the planet where an internet connection exists. Everyone will benefit from the increased availability and affordability of applications that were beyond their reach due to cost and complexity with maintenance and installation. Lastly the need for additional training associated with new product releases would be eliminated to due to the nature of the applications constant changing state.
Unfortunately, Cloud Computing might also be costly to consumers. Although some web-based apps are free, it’s expected that some applications will require a monthly or yearly fee. In the end, these fees might add up to more than what you would pay to download and install the software to your computer.
There is also the concern of not being able to work on your files when you do not have access to the Internet. Business travelers may have to take this into consideration when deciding to use software online or offline.
Security is another issue. In Cloud Computing, your files are stored on a remote server, instead of within the privacy of your own home computer. Although your data is protected by a username and password, some worry that files will be more accessable to hackers, or that glitches on the part of the software company may expose private information. The flipside of this concern is that many home computers are easily compromised, due to viruses, spyware and botnets.
Still, software companies are changing gears and giving people the opportunity to use their services online. Users are starting to reconsider their ideas of what they actually need to install on their computer, and what they can comfortably store online.