The practice of using a network of remote servers hosted on
the Internet to store, manage, and process data, rather than a local server or
a personal computer
or
In its most simple description, cloud computing is taking
services ("cloud services") and moving them outside an organizations
firewall on shared systems. Applications and services are accessed via the Web,
instead of your hard drive.
Cloud computing enables companies to consume compute
resources as a utility -- just like electricity -- rather than having to build
and maintain computing infrastructures in-house.
Cloud computing promises several attractive benefits for
businesses and end users. Three of the main benefits of cloud computing
include:
Self-service provisioning: End users can spin up computing
resources for almost any type of workload on-demand.
Elasticity: Companies can scale up as computing needs
increase and then scale down again as demands decrease.
Pay per use: Computing resources are measured at a granular
level, allowing users to pay only for the resources and workloads they use.
Cloud computing services can be private, public or hybrid.
Private cloud services are delivered from a business' data
center to internal users. This model offers versatility and convenience, while
preserving management, control and security. Internal customers may or may not
be billed for services through IT chargeback.
In the public cloud model, a third-party provider delivers
the cloud service over the Internet. Public cloud services are sold on-demand,
typically by the minute or the hour. Customers only pay for the CPU cycles,
storage or bandwidth they consume.
Leading public cloud providers include Amazon Web Services (AWS),
Microsoft Azure, IBM/SoftLayer and Google Compute Engine.
Hybrid cloud is a combination of public cloud services and
on-premises private cloud – with orchestration and automation between the two.
Companies can run mission-critical workloads or sensitive applications on the
private cloud while using the public cloud for bursty workloads that must scale
on-demand. The goal of hybrid cloud is to create a unified, automated, scalable
environment which takes advantage of all that a public cloud infrastructure can
provide, while still maintaining control over mission-critical data.
Although cloud computing
has changed over time, it has always been divided into three broad
service categories: infrastructure as a service (IaaS), platform as a service
(PaaS) and software as service (SaaS).
IaaS providers such as AWS supply a virtual server instance
and storage, as well as application program interfaces (APIs) that let users
migrate workloads to a virtual machine (VM). Users have an allocated storage
capacity and start, stop, access and configure the VM and storage as desired.
IaaS providers offer small, medium, large, extra-large, and memory- or
compute-optimized instances, in addition to customized instances, for various
workload needs.
In the PaaS model, providers host development tools on their
infrastructures. Users access those tools over the Internet using APIs, Web
portals or gateway software. PaaS is used for general software development and
many PaaS providers will host the software after it's developed. Common PaaS
providers include Salesforce.com's Force.com, Amazon Elastic Beanstalk and
Google App Engine.
SaaS is a distribution model that delivers software
applications over the Internet; these are often called Web services. Microsoft
Office 365 is a SaaS offering for productivity software and email services.
Users can access SaaS applications and services from any location using a
computer or mobile device that has Internet access.
Advantaes and dis advantages of Cloud
The pros of cloud computing are obvious and compelling. If
your business is selling books or repairing shoes, why get involved in the nitty
gritty of buying and maintaining a complex computer system? If you run an
insurance office, do you really want your sales agents wasting time running
anti-virus software, upgrading word-processors, or worrying about hard-drive
crashes? Do you really want them cluttering your expensive computers with their
personal emails, illegally shared MP3 files, and naughty YouTube videos—when
you could leave that responsibility to someone else? Cloud computing allows you
to buy in only the services you want, when you want them, cutting the upfront
capital costs of computers and peripherals. You avoid equipment going out of
date and other familiar IT problems like ensuring system security and
reliability. You can add extra services (or take them away) at a moment's notice
as your business needs change. It's really quick and easy to add new
applications or services to your business without waiting weeks or months for
the new computer (and its software) to arrive.
Cons
Instant convenience comes at a price. Instead of purchasing
computers and software, cloud computing means you buy services, so one-off,
upfront capital costs become ongoing operating costs instead. That might work
out much more expensive in the long-term.
If you're using software as a service (for example, writing
a report using an online word processor or sending emails through webmail), you
need a reliable, high-speed, broadband Internet connection functioning the
whole time you're working. That's something we take for granted in countries
such as the United States, but it's much more of an issue in developing
countries or rural areas where broadband is unavailable.
If you're buying in services, you can buy only what people
are providing, so you may be restricted to off-the-peg solutions rather than
ones that precisely meet your needs. Not only that, but you're completely at
the mercy of your suppliers if they suddenly decide to stop supporting a
product you've come to depend on. (Google, for example, upset many users when
itannounced in September 2012 that its cloud-based Google Docs would drop
support for old but de facto standard Microsoft Office file formats such as
.DOC, .XLS, and .PPT, giving a mere one week's notice of the change—although,
after public pressure, it later extended the deadline by three months.) Critics
charge that cloud-computing is a return to the bad-old days of mainframes and
proprietary systems, where businesses are locked into unsuitable, long-term
arrangements with big, inflexible companies. Instead of using "generative"
systems (ones that can be added to and extended in exciting ways the developers
never envisaged), you're effectively using "dumb terminals" whose
uses are severely limited by the supplier. Good for convenience and security,
perhaps, but what will you lose in flexibility? And is such a restrained
approach good for the future of the Internet as a whole? (To see why it may not
be, take a look at Jonathan Zittrain's eloquent bookThe Future of the
Internet—And How to Stop It.)
Think of cloud computing as renting a fully serviced flat
instead of buying a home of your own. Clearly there are advantages in terms of
convenience, but there are huge restrictions on how you can live and what you
can alter. Will it automatically work out better and cheaper for you in the
long term?
In summary
Pros
- Lower upfront costs and reduced infrastructure costs.
- Easy to grow your applications.
- Scale up or down at short notice.
- Only pay for what you use.
- Everything managed under SLAs.
- Overall environmental benefit (lower carbon emissions) of many users efficiently sharing large systems. (But see the box below.)
Cons
- Higher ongoing operating costs. Could cloud systems work out more expensive?
- Greater dependency on service providers. Can you get problems resolved quickly, even with SLAs?
- Risk of being locked into proprietary or vendor-recommended systems? How easily can you migrate to another system or service provider if you need to?
- What happens if your supplier suddenly decides to stop supporting a product or system you've come to depend on?
- Potential privacy and security risks of putting valuable data on someone else's system in an unknown location?
- If lots of people migrate to the cloud, where they're no longer free to develop neat and whizzy new things, what does that imply for the future development of the Internet?
- Dependency on a reliable Internet connection.