Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Cloud computing refers to the delivery of computing services over a proprietary network or
the Internet. Those services mainly include infrastructure (i.e. servers, storage devices,
etc.), development platforms, and software applications. The Cloud refers to the many data
centers located throughout the world that house the hardware necessary to offer cloud
services. The recent proliferation of virtualization technology, on which cloud computing is
based, has contributed to its current popularity.
The buzz around cloud computing is deafening. As the technology matures and best
practices are developed, it is clear that it offers numerous advantages. Many IT managers
see moving to the Cloud as a way to stay lean after trimming the fat with virtualization.
The International Data Corporation (IDC) expects worldwide spending on public cloud
services to triple over the next several years, from $21.5 billion in 2010 to $72.9 billion in
2015.
At the outset, the topic was so broad, it was hard to define. However, a general consensus
has been reached among experts about the main characteristics of a cloud service:
On-demand, self-service provided as part of a standard package that includes
everything the user needs. The user can start using the service immediately and also
administer and provision resources without any interaction with the service provider.
Any changes are configured by the user; no code modification is required.
The service is available anytime, anywhere via standard web browsers and Rich
Internet Application (RIA) clients on desktops, laptops, smart phones, tablets, or any
other type of hand held device. It should not require installing any application or plug-
in, or purchasing additional hardware or software licenses to use the service itself.
The collective resources of the provider are pooled through multi-tenancy, which
basically means that software is installed once on a server and then its data and
configuration settings are partitioned virtually so that multiple entities or tenants
operate in isolation of each other while sharing the same physical resources, like
storage, processing power and memory.
The capacity of the service is scalable and elastic. Scalability refers to the service
providers ability to increase or decrease the amount of resources allocated to the
users applications and data. Elasticity, on the other hand, refers to how quickly those
resources can be allocated. An applications architecture determines its scalability but
elasticity is a direct result of being deployed on a cloud infrastructure. In short, the
service must allocate resources dynamically, and rapidly, based on the demands of the
application.
And lastly, public cloud services are paid for by the user on a pay-as-you-go basis.
Whether that is by hour or by data transfer or some other metric is determined by the
service provider and the type of service in question.
3 Types of Cloud Computing
Cloud computing services fall into three categories, Infrastructure-as-a-Service (IaaS),
Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS).
Infrastructure-as-a-Service
An IaaS provider satisfies its customers needs for computing resources by supplying
servers (both physical computers and virtual machines), block storage, networking
components and other hardware like firewalls and load balancers. All of these resources
across the data center are pooled to provide on-demand access. The service provider may
also provide the operating system and some applications with which users build their own
customized software images. Ultimately, though, the provider is responsible for the
equipment and the customer is responsible for the applications running on the equipment.
Each virtual machine can be directly accessible through the Internet or placed on a Virtual
Private Network (VPN). A private virtual LAN (VLAN) with static IP addresses may be part
of the package, if required. The exact services provided depend on the vendor.
IaaS saves companies money because they do not have to invest in expensive equipment
and only have to pay for what they use. Customers are billed using a utility model, whereby
the resources are made available to them on an as-needed basis and they are charged
based on actual usage. Consequently, IaaS is also referred to as Utility Computing.
IaaS is the basis of public, private and hybrid clouds as well as cloud hosting, backup and
storage services. IaaS is also used by application developers to test new software before it
is released and when a lot of resources are required to process large batches of data.
Amazon, IBM, HP and Rackspace are some of the leading IaaS vendors. VMware is the
leading supplier of virtualization software.
Note: Cloud storage services are usually offered in conjunction with other types of cloud
services, often IaaS.
Platform-as-a-Service
A PaaS provider supplies an environment in which software developers can build and
deliver web-based applications and services over the Internet. Once the application is built,
it runs on the providers servers and is delivered to the users via the Internet. Again, the
exact services provided will vary by vendor but all will include tools for design, development,
testing, deployment, and hosting. Other support services like developer collaboration and
community forums, security, storage, application versioning and more are also likely to be
included. Like IaaS, the cost of PaaS is determined by actual usage.
The advantages of using a PaaS provider are that operating systems can be changed easily
to ensure compatibility, development teams from all over can work together on a project,
and development costs are greatly reduced.
Examples of PaaS providers are Microsoft Azure, Bungee
Labs, WorkXpress, Force.com (part of Salesforce.com), Google App
Engine, CrunchBase and OrangeScape.
Software-as-a-Service
A SaaS provider hosts software applications and the data stored therein. No part of the
software resides on the users computer. Rather, users access the software over the
Internet and typically pay for it with a subscription. The subscription replaces the need for
licenses. The costs of SaaS are minimal considering the amount of functionality and
computing resources you get compared to the cost of buying your own software and
equipment.
The advantages of a SaaS for the user are that they do not have to pay huge licensing fees,
need massive amounts of storage in-house, or have to worry about backing up data.
Another plus is that specially trained IT staffers are not required to maintain the software as
that is all taken care of by the vendor.
Business applications like Salesforce.com, NetSuite, Cornerstone OnDemand, Google
Appsand MSOffice 365 are examples of SaaS. So are web-based email services designed
for use by the general public like those of Yahoo!, Gmail and Hotmail. Web services fall into
this category as well and provide direct marketing functions, financial data, payroll
processing and credit card processing. Examples are ADP, Bloomberg, PayPal, Strike
Iron and Xignite.