CC 1
CC 1
UNIT - 1
UNIT I CLOUD ARCHITECTURE MODELS AND INFRASTRUCTURE
Cloud Architecture: System Models for Distributed and Cloud Computing – NIST Cloud Computing
Reference Architecture – Cloud deployment models – Cloud service models; Cloud Infrastructure:
Architectural Design of Compute and Storage Clouds – Design Challenges
Distributed and cloud computing systems are built over a large number of autonomous computer
nodes. These node machines are interconnected by SANs, LANs, or WANs in a hierarchical man-
ner.
With today’s networking technology, a few LAN switches can easily connect hundreds of machines
as a working cluster..
massive systems are classified into four groups: clusters, P2P networks, computing grids,
and Internet clouds over huge data centers..
These machines work collectively, cooperatively, or collaboratively at various levels.
1. Cluster Architecture
the architecture of a typical server cluster built around a low-latency, high-bandwidth interconnection
network. This network can be as simple as a SAN (e.g., Myrinet) or a LAN (e.g., Ethernet).
The cluster is connected to the Internet via a virtual private network (VPN) gateway. The gateway IP
address locates the cluster. The system image of a computer is decided by the way the OS manages the
shared cluster resources. Most clusters have loosely coupled node computers. All resources of a server node
are managed by their own OS..
1.2 Single-System Image
ideal cluster should merge multiple system images into a single-system image (SSI).. SSI makes the cluster
appear like a single machine to the user. A cluster with multiple system images is nothing but a collection of
inde-pendent computers.
1.3 Hardware, Software, and Middleware Support
Most clusters run under the Linux OS. The computer nodes are interconnected by a high-bandwidth
network (such as Gigabit Ethernet, Myrinet, InfiniBand, etc.).
2. Grid Computing Infrastructures
The grid refer distributed dataset a natural growth path from Internet to web and grid computing services.
Internet services such as the Telnet command enables a local computer to connect to a remote
computer. A web service such as HTTP enables remote access of remote web pages. simultaneously.
2.1 Computational Grids
The grid is often con-structed across LAN, WAN, or Internet backbone networks at a regional,
national, or global scale.
The computers used in a grid are pri-marily workstations, servers, clusters, and supercomputers.
Personal computers, laptops, and PDAs can be used as access devices to a grid system.
Figure 1.16 shows an example computational grid built over multiple resource sites owned by different
organizations. The resource sites offer complementary computing resources, including workstations, large
servers, a mesh of processors, and Linux clusters to satisfy a chain of computational needs.
The grid is built across various IP broadband networks including LANs and WANs already used by
enterprises or organizations over the Internet.
Grid technology demands new distributed computing models, software/middleware support, network
protocols, and hardware infrastructures. National grid projects are followed by industrial grid plat-form
development by IBM, Microsoft, Sun, HP, Dell, Cisco, EMC, Platform Computing, and others. New grid
service providers (GSPs) and new grid applications have emerged rapidly, similar to the growth of Internet
and web services in the past two decades, grid systems are classified in essentially two
categories: computational or data grids and P2P grids. Computing or data grids are built primarily at the
national level.
An example of a well-established distributed system is the client-server architecture. In this sce-nario, client machines
(PCs and workstations) are connected to a central server for compute, e-mail, file access, and database applications.
The P2P architecture offers a distributed model of networked systems. First, a P2P network is client-oriented instead
of server-oriented.
P2P computing faces three types of heterogeneity problems in hardware, software, and network requirements. There
are too many hardware models and architectures to select from; incompatibility exists between software and the OS;
and different network connections and protocols
P2P performance is affected by routing efficiency and self-organization by participating peers. Fault
tolerance, failure management, and load balancing are other important issues in using overlay networks.
Lack of trust among peers poses another problem. Peers are strangers to one another. Security, privacy, and
copyright violations are major worries by those in the industry in terms of applying P2P technology in
business applications . In a P2P network, all clients provide resources including computing power, storage
space, and I/O bandwidth. The distributed nature of P2P net-works also increases robustness, because
limited peer failures do not form a single point of failure.
By replicating data in multiple peers, one can easily lose data in failed nodes. On the other hand,
disadvantages of P2P networks do exist. Because the system is not centralized, managing it is difficult. In
addition, the system lacks security. Anyone can log on to the system and cause damage or abuse. Further, all
client computers connected to a P2P network cannot be considered reliable or virus-free.
4. Cloud Computing over the Internet
Cloud computing has been defined differently by many users and designers. For example, IBM, a major
player in cloud computing, has defined it as follows: “A cloud is a pool of virtualized computer
resources. The cloud supports redundant, self-recovering, highly scalable programming models that allow
workloads to recover from many unavoidable hardware/software failures. Finally, the cloud system should
be able to monitor resource use in real time to enable rebalancing of allocations when needed.
4.1 Internet Clouds
Cloud computing applies a virtualized platform with elastic resources on demand by provisioning hardware, software,
and data sets dynamically (see Figure 1.18). The idea is to move desktop computing to a service-oriented platform
using server clusters and huge databases at data centers. Cloud computing leverages its low cost and simplicity to
benefit both users and providers. Machine virtualization has enabled such cost-effectiveness. Cloud computing intends
to satisfy many user
applications simultaneously. The cloud ecosystem must be designed to be secure, trustworthy, and
dependable. Some computer users think of the cloud as a centralized resource pool. Others consider the
cloud to be a server cluster which practices distributed computing over all the servers used.
4.2 The Cloud Landscape
• Infrastructure as a Service (IaaS) This model puts together infrastructures demanded by users—namely
servers, storage, networks, and the data center fabric. The user can deploy and run on multiple VMs running
guest OSes on specific applications. The user does not manage or control the underlying cloud
infrastructure, but can specify when to request and release the needed resources.
• Platform as a Service (PaaS) This model enables the user to deploy user-built applications onto a
virtualized cloud platform. PaaS includes middleware, databases, development tools, and some runtime
support such as Web 2.0 and Java. The platform includes both hardware and software integrated with
specific programming interfaces. The provider supplies the API and software tools (e.g., Java, Python, Web
2.0, .NET). The user is freed from managing the cloud infrastructure.
• Software as a Service (SaaS) This refers to browser-initiated application software over thousands of paid
cloud customers. The SaaS model applies to business processes, industry applications, consumer
relationship management (CRM), enterprise resources planning (ERP), human resources (HR), and
collaborative applications. On the customer side, there is no upfront investment in servers or software
licensing. On the provider side, costs are rather low, compared with conventional hosting of user
applications.
The following list highlights eight reasons to adapt the cloud for upgraded Internet applications and web services:
1. Desired location in areas with protected space and higher energy efficiency
2. Sharing of peak-load capacity among a large pool of users, improving overall utilization
4. Significant reduction in cloud computing cost, compared with traditional computing paradigms
🞂 The cloud consumer is the principal stakeholder for the cloud computing service.
🞂 A cloud consumer represents a person or organization that maintains a business relationship with, and uses the
service from a cloud provider. The cloud consumer may be billed for the service provisioned, and needs to arrange
payments accordingly.
The consumers of SaaS can be organizations that provide their members with access to software
applications, end users or software application administrators.
SaaS consumers can be billed based on the number of end users, the time of use, the network bandwidth
consumed, the amount of data stored or duration of stored data.
Cloud consumers of PaaScan employ the tools and execution resources provided by cloud providers to
develop, test, deploy and manage the applications.
PaaS consumers can be application developers or application testers who run and test applications in cloud-
based environments,.
PaaS consumers can be billed according to, processing, database storage and network resources consumed.
Consumers of IaaS have access to virtual computers, network-accessible storage & network infrastructure
components.
The consumers of IaaS can be system developers, system administrators and IT managers.
IaaS consumers are billed according to the amount or duration of the resources consumed, such as CPU
hours used by virtual computers, volume and duration of data stored.
Cloud Provider
🞂 A cloud provider is a person, an organization;
🞂 It is the entity responsible for making a service available to interested parties.
🞂 A Cloud Provider acquires and manages the computing infrastructure required for providing the services.
🞂 Runs the cloud software that provides the services.
Makes arrangement to deliver the cloud services to the Cloud Consumers through network access.
Cloud Provider - Major Activities
Cloud Auditor
🞂 A cloud auditor is a party that can perform an independent examination of cloud service controls.
🞂 Audits are performed to verify conformance to standards through review of objective evidence.
🞂 A cloud auditor can evaluate the services provided by a cloud provider in terms of security controls,
privacy impact, performance, etc.
Cloud Broker
🞂 Integration of cloud services can be too complex for cloud consumers to manage.
🞂 A cloud consumer may request cloud services from a cloud broker, instead of contacting a cloud provider
directly.
🞂 A cloud broker is an entity that manages the use, performance and delivery of cloud services. Negotiates
relationships between cloud providers and cloud consumers.
Services of cloud broker
Service Intermediation:
🞂 A cloud broker enhances a given service by improving some specific capability and providing value-
added services to cloud consumers.
Service Aggregation:
🞂 A cloud broker combines and integrates multiple services into one or more new services.
🞂 The broker provides data integration and ensures the secure data movement between the cloud consumer
and multiple cloud providers.
Services of cloud broker
Service Arbitrage:
🞂 Service arbitrage is similar to service aggregation except that the services being aggregated are not fixed.
🞂 Service arbitrage means a broker has the flexibility to choose services from multiple agencies. Eg: The
cloud broker can use a credit-scoring service to measure and select an agency with the best score.
Cloud Carrier
🞂 A cloud carrier acts as an intermediary that provides connectivity and transport of cloud services between
cloud consumers and cloud providers.
🞂 Cloud carriers provide access to consumers through network.
🞂 The distribution of cloud services is normally provided by network and telecommunication carriers or a
transport agent
🞂 A transport agent refers to a business organization that provides physical transport of storage media such
as high-capacity hard drives and other access devices.
Scope of Control between Provider and Consumer
The Cloud Provider and Cloud Consumer share the control of resources in a cloud system
The application layer includes software applications targeted at end users or programs.
The applications are used by SaaS consumers, or installed/managed/maintained by PaaS consumers, IaaS
consumers and SaaS providers.
🞂 The middleware layer provides software building blocks (e.g., libraries, database, and Java virtual
machine) for developing application software in the cloud.
🞂 Used by PaaS consumers, installed/ managed/ maintained by IaaS consumers or PaaS providers, and
hidden from SaaS consumers.
🞂 The OS layer includes operating system and drivers, and is hidden from SaaS consumers and PaaS
consumers.
🞂 An IaaS cloud allows one or multiple guest OS to run virtualized on a single physical host.
The IaaS consumers should assume full responsibility for the guest OS, while the IaaS provider controls the
host OS,
Public cloud
🞂 A public cloud is one in which the cloud infrastructure and computing resources are made available to the general
public over a public network.
🞂 A public cloud is meant to serve a multitude(huge number) of users, not a single customer.
🞂 Multitenancy allows multiple users to work in a software environment at the same time, each with their own
resources.
🞂 Built over the Internet (i.e., service provider offers resources, applications storage to the customers over the
internet) and can be accessed by any user.
🞂 Best Option for small enterprises, which are able to start their businesses without large up-front(initial) investment.
🞂 By renting the services, customers were able to dynamically upsize or downsize their IT according to the demands
of their business.
🞂 Public clouds have geographically dispersed datacenters to share the load of users and better serve them according
to their locations
🞂 Provider is in control of the infrastructure
Examples:
Advantage
🞂 Offers unlimited scalability – on demand resources are available to meet your business needs.
🞂 Lower costs—no need to purchase hardware or software and you pay only for the service you use.
🞂 Offers reliability: Vast number of resources are available so failure of a system will not interrupt service.
🞂 Services like SaaS, PaaS, IaaS are easily available on Public Cloud platform as it can be accessed from anywhere
through any Internet enabled devices.
Disadvantage
Private Cloud
🞂 Cloud services are used by a single organization, which are not exposed to the public
🞂 Services are always maintained on a private network and the hardware and software are dedicated only to single
organization
By a third party
government agencies
financial institutions
Advantage
🞂 Highly reliable
🞂 Saves money by virtualizing the resources
Disadvantage
Hybrid Cloud
🞂 Built with both public and private clouds
high-volume of data
🞂 The resources or services are temporarily leased for the time required and then released. This practice is also known
as cloud bursting.
Advantage
🞂 It is scalable
Disadvantage
🞂 Infrastructure Dependency
Data of multiple
Data of a single Data is stored in the public cloud,
organizations is
Tenancy organization is stored in a and provide security in the public
stored in the public
clouds the public cloud cloud.
cloud
Third-party service
Operated by Specific organization Can be a combination of both
provider
Cost-effective: Community cloud is cost-effective since its infrastructure cost is shared among number of
enterprises or communities.
Shared resources: Infrastructure and other resources shared with multiple organizations.
Data sharing and collaboration: It is excellent for both data sharing and collaboration.
Setup Benefits: Customers may be able to work more efficiently as a consequence of these shared resources.
o service availability
o performance
data protection
o Security
🞂 SaaS is a software delivery methodology that provides licensed multi-tenant access to software and its functions
remotely as a Web-based service. Usually billed based on usage
🞂 The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure.
🞂 The applications are accessible from various client devices through a thin client interface such as a web browser
(e.g., web-based email).
🞂 The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating
systems, storage, data or even individual application capabilities, with the possible exception of limited user specific
application configuration settings.
🞂 It is a “one-to-many” software delivery model, whereby an application is shared across multiple users
E.g. Gmail and docs, Microsoft SharePoint, and the CRM software(Customer
Relationship management)
🞂 SaaS providers
🞂 SalesForce,
🞂 Yahoo
◦ User can choose his OS, storage, deployed app, networking components
◦ The capability provided to the consumer is to provision processing, storage, networks, and other fundamental
computing resources.
◦ Consumer is able to deploy and run arbitrary software, which may include operating systems and applications.
◦ The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems,
storage and deployed applications.
🞂 IaaS/HaaS solutions bring all the benefits of hardware virtualization: workload partitioning, application isolation,
sandboxing, and hardware tuning
IaaS providers
🞂 RackSpace Hosting
🞂 Joyent Cloud
🞂 Go Grid
🞂 The capability provided to the consumer is to deploy onto the cloud infrastructure consumer created or acquired
applications created using programming languages and tools supported by the provider.
🞂 The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating
systems, or storage.
The user is freed from managing the cloud infrastructure
Characteristics of PaaS
Runtime framework: Executes end-user code according to the policies set by the user and the provider.
Automation: Automates the process of deploying applications to the infrastructure, additional resources are provided
when needed.
Cloud services: helps the developers to simplify the creation and delivery cloud applications.
PaaS providers
🞂 Microsoft Azure
🞂 Sales Force
🞂 VMware,
🞂 Zoho
Infrastructure as a
Platform as a service. Software as a service.
Stands for service.
It is a cloud computing
It is a service model that It is a service model in
model that delivers tools
provides virtualized cloud computing that hosts
that are used for the
computing resources software to make it
development of
over the internet. available to clients.
Model applications.
There is no requirement
Some knowledge is
It requires technical about technicalities
required for the basic
Technical knowledge. company handles
setup.
understanding. everything.
Outsourced
Salesforce Force.com, Gigaspaces. AWS, Terremark
cloud services.
Operating System,
Runtime, Middleware, Data of the application Nothing
User Controls and Application data
Service Availability
Service Availability in Cloud might be affected because of Single Point Failure Distributed Denial of Service Single
Point Failure
o In case of single service providers, even if company has multiple data centres
located in different geographic regions, it may have common software infrastructure and accounting systems.
Solution:
o Multiple cloud providers may provide more protection from failures and they provide High
Availability(HA)
o Cyber criminals, attack target websites and online services and makes services unavailable to users.
o DDoS tries to overwhelm (disturb) the services unavailable to user by having more traffic
Solution:
o Some SaaS providers provide the opportunity to defend against DDoS attacks by using quick scale-ups. Customers
cannot easily extract their data and programs from one site to run on another.
Data Lock-in
is a situation in which a customer using service of a provider cannot be moved to another service provider because
technologies used by a provider will be incompatible with other providers. This makes a customer dependent on a
vendor for services and makes customer unable to use service of another vendor.
Solution:
o Have standardization (in technologies) among service providers so that customers can easily move from a service
provider to another.
Cloud services are prone to attacks because they are accessed through internet. Security is given by
o Firewalls, filters.
o Guest hopping
o Hijacking
o VM rootkits.
Guest Hopping: Virtual machine hyper jumping (VM jumping) is an attack method that exploits(make use of)
hypervisor’s weakness that allows a virtual machine (VM) to be accessed from another.
Hijacking: Hijacking is a type of network security attack in which the attacker takes control of a communication
VM Rootkit: is a collection of malicious (harmful) computer software, designed to enable access to a computer that is
not otherwise allowed.
Multiple VMs can share CPUs and main memory in cloud computing, but I/O sharing is problematic.
Internet applications continue to become more data-intensive (handles huge amount of data). Handling huge amount
of data (data intensive) is a bottleneck in cloud environment. Weak Servers that does not provide data transfers
properly must be removed from cloud environment
The database is always growing in cloud applications. There is a need to create a storage system that meets this
growth. This demands the design of efficient distributed SANs (Storage Area Network of Storagedevices). Data
centres must meet
o Scalability
o Data durability
o HA(High Availability)
o Data consistence
Cloud Scalability
Cloud resources are scalable. Cost increases when storage and network bandwidth scaled(increased)
Interoperability
Open Virtualization Format (OVF) describes an open, secure, portable, efficient, and extensible format for the
packaging and distribution of VMs. OVF defines a transport mechanism for VM, that can be applied to different
virtualization platforms
Standardization
Cloud standardization, should have ability for virtual machine to run on any virtual platform.
Cloud providers can use both pay-for-use and bulk-use licensing schemes to widen the business coverage. Cloud
providers must create reputation-guarding services similar to the “trusted e-mail” services Cloud providers want legal
liability to remain with the customer, and vice versa.
The front end is used by the client. It contains client-side interfaces and applications that are required to
access the cloud computing platforms. The front end includes web servers (including Chrome, Firefox,
internet explorer, etc.), thin & fat clients, tablets, and mobile devices.
Back End
The back end is used by the service provider. It manages all the resources that are required to provide cloud
computing services. It includes a huge amount of data storage, security mechanism, virtual machines,
deploying models, servers, traffic control mechanisms, etc.
1. Client Infrastructure
Client Infrastructure is a Front end component. It provides GUI (Graphical User Interface) to interact with
the cloud.
2. Application
The application may be any software or platform that a client wants to access.
3. Service
A Cloud Services manages that which type of service you access according to the client’s requirement.
ii. Platform as a Service (PaaS) – It is also known as cloud platform services. It is quite similar to SaaS,
but the difference is that PaaS provides a platform for software creation, but using SaaS, we can access
software over the internet without the need of any platform.
iii. Infrastructure as a Service (IaaS) – It is also known as cloud infrastructure services. It is responsible
for managing applications data, middleware, and runtime environments.
Example: Amazon Web Services (AWS) EC2, Google Compute Engine (GCE), Cisco Metapod.
4. Runtime Cloud
Runtime Cloud provides the execution and runtime environment to the virtual machines.
5. Storage
It provides a huge amount of storage capacity in the cloud to store and manage data.
6.Infrastructure
It provides services on the host level, application level, and network level. Cloud infrastructure includes
hardware and software components such as servers, storage, network devices, virtualization software, and
other storage resources that are needed to support the cloud computing model.
7. Management
Management is used to manage components such as application, service, runtime cloud, storage,
infrastructure, and other security issues in the backend and establish coordination between them.
8. Security
Security is an in-built back end component of cloud computing. It implements a security mechanism in the
back end.
9. Internet
The Internet is medium through which front end and back end can interact and communicate with each
other.
The SLA Resource Allocator act as the interface between the data center/cloud service provider and external
users.
When a service request is first submitted the service request examiner interprets the submitted request
for Qos Requirements before determining whether to accept or Reject the Request
Cloud Storage
Storing your data on the storage of a cloud service provider rather than on a local system.
Data stored on the cloud are accessed through Internet.
Cloud Service Provider provides Storage as a Service
Storage as a Service
🞂 Customers move to cloud storage when they lack in budget for having their own storage.
🞂 Storage service providers takes the responsibility of taking current backup, replication,and disaster recovery needs.
o cost-per-gigabyte-stored (or)
o cost-per-data-transferred
🞂 The end user doesn’t have to pay for infrastructure (resources), they have to pay only for
Providers
🞂 Web email providers like Gmail, Hotmail, and Yahoo! Mail, store email messages on
🞂 Users can access their email from computers and other devices connected to the Internet.
🞂 Flicker and Picasa host millions of digital photographs, Users can create their own online
photo albums.
🞂 Facebook and MySpace are social networking sites and allow members to post pictures
🞂 MediaMax and Strongspace offer storage space for any kind of digital data.
Data Security
o Encryption
o Authentication
o Authorization
Encryption
o Algorithms are used to encode information. To decode the information keys are required.
Authentication processes
Authorization practices
o The client lists the people who are authorized to access information stored on the cloud system.
If information stored on the cloud, the head of the IT department might have complete and
Reliability
🞂 Service Providers gives reliability for data through redundancy (maintaining multiple
copies of data).
Reputation is important to cloud storage providers. If there is a perception that the provider is
Advantages
🞂 Move data among various datacenters, ensuring that information is stored close and
Theft (Disadvantage)
🞂 User data could be stolen or viewed by those who are not authorized to see it.
🞂 Whenever user data is let out of their own datacenter, risk trouble occurs from a