COMPUTING
Lecture # 22
CSE 423
The Law of Cloudonomics
Specifying SLA, Defining Licensing Models
Cloud Computing
Cloud computing is particularly valuable because it shifts capital
expenditures into operating expenditures.
It also shifts risk away from an organization and onto the cloud
provider.
Cloud computing presents new opportunities to users and
developers because it is based on the paradigm of a shared
multitenant utility.
A cloud is an infrastructure that can be partitioned and
provisioned, and resources are pooled and virtualized. If the
cloud is available to the public on a pay-as-you-go basis, then the
cloud is a public cloud, and the service is described as a utility
Laws of Behavioral
Cloudonomics
1. People are risk averse and loss
averse.
2. People have a flat-rate bias.
3. People have the need to control their
environment and remain anonymous.
4. People fear change.
5. People value what they own more
than what they are given.
6. People favor the status quo and
invest accordingly.
Measuring cloud
computing costs
The cost of a cloud computing
deployment is roughly estimated to
be
CostCLOUD = (UnitCostCLOUD x
(Revenue CostCLOUD))
where the unit cost is usually defined
as the cost of a machine instance per
hour or another resource.
The costs associated with the cloud model are calculated rather differently.
Each resource has its own specific cost and many resources can be
provisioned independently of one another. In theory, therefore,
the CostCLOUD is better represented by the equation:
CostCLOUD = 1n(UnitCostCLOUD x (Revenue CostCLOUD))INSTANCEn +
1n(UnitCostCLOUD x (Revenue CostCLOUD))STORAGE_UNITn +.
1n(UnitCostCLOUD x
(Revenue CostCLOUD))NETWORK_UNITn +
Defining Licensing
Models
When you purchase shrink-wrapped software, you are using that software
based on a licensing agreement called a EULA or End User License
Agreement. The EULA may specify that the software meets the following
criteria:
It is yours to own.
It can be installed on a single or multiple machines.
It allows for one or more connections.
It has whatever limit the ISV(independent software vendor) has
placed on its software.
In most instances, the purchase price of the software is directly tied to the
EULA.
Chapter 3:
Understanding
Cloud Architecture
IN THIS CHAPTER
Using the cloud computing stack to
describe different models
Understanding how platforms and
virtual appliances are used
Learning how cloud communications
work
Discovering the new world of the cloud
client
Cloud computing requires some standard protocols with which different layers of hardware,
software,and clients can communicate with one another. Many of these protocols are
standard Internet protocols.
Cloud computing relies on a set of protocols needed to manage interprocess communications
that have
been developed over the years. The most commonly used set of protocols uses XML as the
messaging
format, the Simple Object Access Protocol (SOAP) protocol as the object model, and a set of
discovery
and description protocols based on the Web Services Description Language (WSDL) to manage
transactions.
Some completely new clients are under development that are specifically meant to connect to
the cloud.
These clients have as their focus cloud applications and services, and are often hardened and
more
securely connected. Two examples presented are Jolicloud and Google Chrome OS. They
represent a
new client model that is likely to have considerable impact.
Composability
Infrastructure
Platforms
Virtual Appliances
Communication Protocols
Applications
Composability
A composable component must be:
Modular: It is a self-contained
and independent unit that is
cooperative,
reusable,
and
replaceable.
Stateless: A transaction is
executed without regard to other
transactions or requests.
Infrastructure
Most large Infrastructure as a Service (IaaS) providers rely on virtual machine
technology to deliver servers that can run applications.
Virtual servers described in terms of a machine image or instance have
characteristics that often can be described in terms of real servers
delivering a certain number of microprocessor (CPU) cycles, memory
access, and network bandwidth to customers.
Virtual machines are containers that are assigned specific resources. The
software that runs in the virtual machines is what defines the utility of the
cloud computing system.
Platforms
Platform in the cloud is a software
layer that is used to create higher
levels of service.
Salesforce.com's Force.com
Platform
Windows Azure Platform
Google Apps and the Google
AppEngine
Virtual Appliances