Architectural Design of Compute and Storage Clouds: Unit - Iii
Architectural Design of Compute and Storage Clouds: Unit - Iii
These three development layers are implemented with virtualization and standardization of
hardware and software resources provisioned in the cloud. The services to public, private, and hybrid
clouds are conveyed to users through networking support over the Internet and intranets involved. It
is clear that the infrastructure layer is deployed first to support IaaS services. This infrastructure layer
serves as the foundation for building the platform layer of the cloud for supporting PaaS services. In
turn, the platform layer is a foundation for implementing the application layer for SaaS applications.
Different types of cloud services demand application of these resources separately.
The infrastructure layer is built with virtualized compute, storage, and network resources. The
platform layer is for general-purpose and repeated usage of the collection of software resources. This
layer provides users with an environment to develop their applications, to test operation flows, and to
monitor execution results and performance. Virtualized cloud platform serves as a “system
middleware” between the infrastructure and application layers of the cloud.
The application layer is formed with a collection of all needed software modules for SaaS
applications. Service applications in this layer include daily office management work, such as
information retrieval, document processing, and calendar and authentication services. The application
layer is also heavily used by enterprises in business marketing and sales, consumer relationship
management (CRM), financial transactions, and supply chain management. In general, SaaS demands
the most work from the provider, PaaS is in the middle, and IaaS demands the least.
Users or brokers submit service requests to the data center and cloud to be processed. The
SLA resource allocator acts as the interface between the data center/cloud service provider and
external users/brokers. When a service request is first submitted the service request examiner
interprets the request for QoS requirements before determining whether to accept or reject the
request.
The request examiner ensures that there is no overloading of resources, after that it assigns
requests to VMs and determines resource entitlements for allocated VMs. The Pricing mechanism
decides how service requests are charged. Pricing serves as a basis for managing the supply and
demand of computing resources within the data center and facilitates in prioritizing resource
allocations effectively. The Accounting mechanism maintains the actual usage of resources by
requests so that the final cost can be computed and charged to users. In addition, the maintained
historical usage information can be utilized by the Service Request Examiner and Admission Control
mechanism to improve resource allocation decisions.
The VM Monitor mechanism keeps track of the availability of VMs and their resource
entitlements. The Dispatcher mechanism starts the execution of accepted service requests on allocated
VMs. The Service Request Monitor mechanism keeps track of the execution progress of service
requests. Multiple VMs can be started and stopped on demand on a single physical machine to meet
accepted service requests, hence providing maximum flexibility to configure various partitions of
resources on the same physical machine to different specific requirements of service request.
Quality of Service Factors
There are critical QoS parameters to consider in a service request, such as time, cost,
reliability, and trust/security. QoS requirements cannot be static and may change over time due to
continuing changes in business operations. Negotiation mechanisms are needed to respond to
alternate offers protocol for establishing SLAs.
Commercial cloud offerings must be able to support customer-driven service management
based on customer profiles and requested service requirements. Commercial clouds define
computational risk management tactics to identify, assess, and manage risks involved in the execution
of applications with regard to service requirements and customer needs. The system incorporates
autonomic resource management models that effectively self-manage changes in service requirements
to satisfy both new service demands and existing service obligations, and leverage VM technology to
dynamically assign resource shares according to service requirements.
Demand-driven method
This method adds or removes computing instances based on the current utilization level of the
allocated resources. In general, when a resource has surpassed a threshold for a certain amount of
time, the scheme increases that resource based on demand. When a resource is below a threshold for a
certain amount of time,that resource could be decreased accordingly. Amazon implements such an
auto-scale feature in its EC2 platform.
Event-driven method
This scheme adds or removes machine instances based on a specific time event. The scheme
works better for seasonal or predicted events such as Christmastime in the West and the Lunar New
Year in the East. During these events, the number of users grows before the event period and then
decreases during the event period. This scheme anticipates peak traffic before it happens. The method
results in a minimal loss of QoS, if the event is predicted correctly.
Popularity-driven method
In this method, the Internet searches for popularity of certain applications and creates the
instances by popularity demand. The scheme anticipates increased traffic with popularity. Again, the
scheme has a minimal loss of QoS, if the predicted popularity is correct. Resources may be wasted if
traffic does not occur as expected.
Dynamic Resource Deployment
The cloud uses VMs as building blocks to create an execution environment across multiple
resource sites. Dynamic resource deployment can be implemented to achieve scalability in
performance. The InterGrid is a Java-implemented software system that lets users create execution
cloud environments on top of all participating grid resources. Peering arrangements established
between gateways enable the allocation of resources from multiple grids to establish the execution
environment. In figure, a scenario is illustrated by which an Intergrid gateway (IGG) allocates
resources from a local cluster to deploy applications in three steps: (1) requesting the VMs, (2)
enacting the leases, and (3) deploying the VMs as requested. Under peak demand, this IGG interacts
with another IGG that can allocate resources from a cloud computing provider.
grid has predefined peering arrangements with other grids, which the IGG manages. Through
multiple IGGs, the system coordinates the use of InterGrid resources. An IGG is aware of the peering
terms with other grids, selects suitable grids that can provide the required resources, and replies to
requests from other IGGs. An IGG can also allocate resources from a cloud provider. The cloud
system creates a virtual environment to help users deploy their applications. These applications use
the distributed grid resources.
The InterGrid allocates and provides a distributed virtual environment (DVE). This is a virtual
cluster of VMs that runs isolated from other virtual clusters. A component called the DVE manager
performs resource allocation and management on behalf of specific user applications. The core
component of the IGG is a scheduler for implementing provisioning policies and peering with other
gateways. The communication component provides an asynchronous message-passing mechanism.
Received messages are handled in parallel by a thread pool.
Provisioning of Storage Resources
The data storage layer is built on top of the physical or virtual servers. provider. The service
can be accessed anywhere in the world. One example is e-mail systems. A typical large e-mail system
might have millions of users and each user can have thousands of e-mails and consume multiple
gigabytes of disk space. Another example is a web searching application. In storage technologies,
hard disk drives may be augmented with solid-state drives in the future. The biggest barriers to
adopting flash memory in data centers have been price, capacity, and, to some extent, a lack of
sophisticated query-processing techniques.
Distributed file system is very important for storing large-scale data. However, other forms of
data storage also exist. Some data does not need the namespace of a tree structure file system, and
instead, databases are built with stored data files. In cloud computing, another form of data storage is
(Key, Value) pairs.
Many cloud computing companies have developed large-scale data storage systems to keep
huge amount of data collected every day. For example, Google’s GFS stores web data and some
other data, such as geographic data for Google Earth. A similar system from the open source
community is the Hadoop Distributed File System (HDFS) for Apache. Hadoop is the open source
implementation of Google’s cloud computing infrastructure. Similar systems include Microsoft’s
Cosmos file system for the cloud.
The main purpose is to store the data in structural or semi-structural ways so that application
developers can use it easily and build their applications rapidly. Web pages are an example of
semistructural data in HTML format. For example, applications might want to process the
information contained in a web page. Traditional databases will meet the performance bottleneck
while the system is expanded to a larger scale. However, some real applications do not need such
strong consistency. The scale of such databases can be quite large. Typical cloud databases include
BigTable from Google, SimpleDB from Amazon, and the SQL service from Microsoft Azure.
Global Exchange of Cloud Resources
In order to support a large number of application service consumers from around the world,
cloud infrastructure providers have established data centers in multiple geographical locations. For
example, Amazon has data centers in the United States (e.g., one on the East Coast and another on the
West Coast) and Europe. Amazon does not provide seamless/automatic mechanisms for scaling its
hosted services across data centers.
It is difficult for cloud customers to determine in advance the best location for hosting their
services as they may not know the origin of consumers of their services. SaaS providers may not be
able to meet the QoS expectations of their service consumers originating from multiple geographical
locations. Figure shows the high-level components of the Melbourne group’s proposed InterCloud
architecture
In order to meet the QoS expectations of customer, it is required make use of services of
multiple cloud infrastructure service providers who can provide better support for their specific
consumer needs. This necessitates federation of cloud infrastructure service providers for seamless
provisioning of services across different cloud providers. Cloudbus Project at the University of
Melbourne has proposed InterCloud architecture supporting brokering and exchange of cloud
resources for scaling applications across multiple clouds.
System consists of client brokering and coordinator services that support utility-driven
federation of clouds: application scheduling, resource allocation, and migration of workloads. The
architecture cohesively couples the administratively and topologically distributed storage and
compute capabilities of clouds as part of a single resource leasing abstraction. The system will ease
the cross-domain capability integration for on-demand, flexible, energy-efficient, and reliable access
to the infrastructure based on virtualization.
The Cloud Exchange (CEx) acts as a market maker for bringing together service producers
and consumers. It aggregates the infrastructure demands from application brokers and evaluates them
against the available supply currently published by the cloud coordinators. It supports trading of
cloud services based on competitive economic models such as commodity markets and auctions. CEx
allows participants to locate providers and consumers with fitting offers. An SLA specifies the
details of the service to be provided in terms of metrics agreed upon by all parties, and incentives and
penalties for meeting and violating the expectations, respectively. The availability of a banking
system within the market ensures that financial transactions pertaining to SLAs between participants
are carried out in a secure and dependable environment.