2. 1.1 CLOUD COMPUTING
• Cloud computing is a pool of resources used by a user over a network connection. It is a new
technology that allows the Information Technology (IT) world to efficiently use the dynamic and
scalable cloud data center resources, which consist of a group of servers.
• Cloud computing means storing and accessing data, programs, infrastructure, and services on-
demand over the internet rather than your premise.
• Cloud Computing can be used over the network just with a simple web browser and a fast
internet connection.
3. • Cloud computing, from the standpoint of a cloud provider, is virtualization.
• Virtualization, which creates a virtual environment of resources, allows better
use of server resources by storing multiple operating systems known as Virtual
Machine (VM) on a single shared computer.
4. Cloud computing features
Cloud computing contains certain features such as availability,
elasticity, on-demand resource, and pay-as-you-go for cloud services
based on usage:
• Availability provides efficient and convenient services always.
• Elasticity: users can increase or decrease the resource based on their
needs.
• On-demand: users can use the resources at any time base on their
requirements.
• Pay-as-you-go: users can be charged based on usage per time.
5. • Cloud users can access services in the cloud from any location
globally without knowing the underlying infrastructure or where the
services originate.
• Within a web browser, users can access the operational capability
faster in a cloud computing environment. Some of the service
providers available in the cloud include Microsoft, Amazon, Google
and IBM.
6. 1.2 CLOUD SERVICE MODELS
• There are three main service models in cloud computing namely
(NIST, 2011)
• Software as a Service (SaaS)
• Platform as a Service (PaaS)
• Infrastructure as a Service (IaaS).
8. 1.2.2 Software-as-a-Service (SaaS)
• SaaS is a cloud service model where the cloud service provider leases the
software (Application) to the cloud's consumer.
• By using an internet browser, Cloud consumers can access the application
by any device connected to the internet.
• The software is controlled, owned, maintained by the cloud service
provider, and installed or updated in the cloud provider's data center.
Farther, it does not demand any additional new infrastructure from the
clients end. For Example, Google Mail, Google Documents (figure 1.2), and
Google Calendar.
• SaaS offers the following advantages: - Anyone can access the application
from anywhere. The automatic updates and patch management are
carried out on the part of the Cloud service provider.
• The main disadvantage of SaaS is its slow speed, depending on the
internet connection.
10. 1.2.2 Platform-as-a-Service (PaaS)
• PaaS is a cloud service model where the cloud provider provides an
environment, tools, and infrastructure to develop, test, host,
manage and deliver applications. e.g., Google apps engine (figure.
1.3).
• Some of the advantages of PaaS is that it enables a user to focus on
development without worrying about the underlying infrastructure
and the application inherits all the cloud characteristics.
• The prime disadvantages of PaaS are compatibility between a)
current user's infrastructure and cloud provider and also between b)
one cloud provider and the other.
12. 1.2.3 Infrastructure-as-a-Service (IaaS)
• IaaS is a cloud service model introduced in 2006, which offers the cloud’s
consumer access to computing resources and uses them on a rental basis
over the internet.
• Computing resources could be virtual machines (server), networking, or
storage.
• The user is responsible for updating new versions of these infrastructure
models and charging based on the duration and consumption of resources.
Since data and files have multiple copies in multiple servers, it is impossible
for a system to fail. Example: Microsoft Azure, Google Compute Engine,
and Amazon Web Services (figure 1.4).
• Some of the advantages of IaaS are a) scalability, b) no single point of
failure, c) cost effectiveness its cheaper than setting up one’s own
infrastructure.
• However, IaaS is costly when compared to the other two models PaaS and
SaaS models.
16. • 1.3.1 Clients
A client is an interface between the cloud provider and the user. It
could be any device that accesses and uses a service made available by
cloud services such as a desktop computer, laptop, tablet, and cell
phone.
• 1.3.2 Data Centers
A data center comprises of physical and virtual devices such as
computers, servers, and networking devices used to store, process, and
serve clients in a client/server architecture. Besides, it can be accessed
using the Internet connection from anywhere using client devices. The
cloud service provider has many data centers worldwide for load
balance, but users advise using the nearest data center for getting a
fast service.
17. • 1.3.3 Regions and Availability Zones (AZ)
• Regions are separate geographic areas in the world where cloud
providers cluster data centers. The resources do not replicate
automatically across regions. Users can choose a region closest to
them to host their cloud infrastructure to reduce network latency.
Each region has numerous Availability Zone (AZ) and multiple data
centers located close together with redundant power, networking,
and infrastructure. It minimizes a single AZ failure, used for replicating
data, and is easily available. The low latency private fiber-optic
connections connect each AZ.
19. • Cloud contains various types of cloud models that can be classified as
follows:
• Public Cloud
• Private Cloud
• Hybrid Cloud
• Community Cloud
20. 1.4.1 Public cloud
• The public cloud is a platform meant for public use and can be
accessed via the internet, which has different resources such as
applications and storage. The resources are owned and managed by
the cloud service provider. This model is widely used and is in
demand. Some of the examples of public cloud providers include
• Amazon AWS
• Microsoft Azure
• Google Cloud
• IBM cloud
21. 1.4.2 Private cloud
• A private cloud is a platform where the infrastructure is managed,
owned, and operated by a single organization. It is known as the
internal cloud, in which the data center is protected by a firewall and
not shared with any other organization. Private clouds are more
secure and offer greater control than public clouds. Microsoft Azure
Stack and VMWARE vCloud Suite are two examples of Private cloud
providers.
22. 1.4.3 Hybrid cloud
• Hybrid cloud is a platform Combination of private cloud and public
cloud and combines the advantage of both. Amazon AWS Outposts
are some examples of Hybrid Cloud:
23. 1.4.4 Community cloud
• A community cloud is a private cloud platform that supports multiple
organizations from a specific group with common computing
concerns. A community cloud shares computing resources and
manages them internally or either by a third party externally.
Some examples of Community cloud include
• Microsoft Government Community Cloud
• Google Apps for the government
24. Others Cloud Service Models
• There are three primary service types as I said in lecture 1 , with many
others being created all the time. Software as a Service (SaaS),
Infrastructure as a Service (IaaS), and Platform as a Service (PaaS) are
the primary service offerings.
• Many cloud service providers offer more descriptive terms in their
marketing and sales offerings, including Communications as a Service
(CaaS), Anything as a Service (XaaS),Desktop as a Service (DaaS), and
Business Process as a Service (BPaaS), to name a few.
25. • Communications as a Service
• Communications as a Service includes hosted voice, video
conferencing, instant messaging,e-mail, and all other communication
services that are hosted in the cloud.
• There is no need for a staff to manage these communication services
since the CaaS cloud provider takes responsibility.
26. • Desktop as a Service
• Desktop as a Service supports a virtual desktop that is hosted in the
cloud and accessed by desktop computers, laptops, tablets, and
phones .
• All desktop applications are hosted in the cloud and can consist of any
type of application such as spreadsheets, word processing, and any
other common application.
• Business Process as a Service
• BPaaS is similar to SaaS except it focuses specifically on applications
that support a company’s business operations.
27. on-premise and off-premise
• The differences between on-premise and off-premise hosting.
• On-premise hosting describes creating and managing your own cloud
service in-house in a private enterprise data center. This type of
approach can be found in large enterprise environments where
control of the operations and data is required to be within
corporate data centers.
• Off-premise is a hosting service that is located remotely from a
company’s data center and is usually in a cloud service company’s
data center.
29. cloud components
some common cloud components:-
• Computing : The compute resources are the actual central processing of
data and applications on either a physical or virtualized server running a
variety of operating systems.
• Networking :Network cloud services include traditional switching and
routing as well as services such as load balancing, DNS, DHCP, and virtual
private networks.
• Security :Just as security is a critical component in private and corporate
data centers, so is it in the cloud. Cloud service providers offer many
security services including firewalls, access control, intrusion detection
and prevention systems, and encryption services.
30. • Storage :Large storage arrays and storage area networks exist in the
cloud for use by cloud service consumers. Common storage media are
solid-state drives (SSDs) and magnetic physical drives. Some storage is
optimized for high availability and permanence, and others are less
expensive and offer long-term, or archival storage.
• Virtualization: Virtualization is the ability to take physical data center
resources such as RAM, CPU, storage, and networking and create a
software representation of those resources in large-scale cloud
offerings. These virtualized resources are used up by a hypervisor for
allocation to virtualized computers, or virtual machines.
31. • Applications :The term application is broad but in this context is used
to mean user applications, including databases, web servers, e-mail,
and other common business software applications.
• Automation :Automation plays a critical role in modern cloud
services. Automation software systems operate in a cloud provider’s
data center that automates the deployment and monitoring of
cloud offerings.
32. • The Cloud Shared Resource Pooling Model:
• Resource pooling is when the cloud service provider allocates resources
into a group, or pool, and then these pools are made available to a
multitenant cloud environment.
• Resource pooling hides the physical hardware from the virtual machines
and allows for many renters to share resources such as storage, processors,
RAM, and networks to allow for the economies of cloud computing.
• The hypervisor will pool the resources and make them available to the
VMs for consumption; following Figure shows this relationship between
the virtual machines and the hardware resources.
• The resources are then dynamically allocated and reallocated as the
demand requires and can be used by cloud consumers as-needed basis
33.
34. • Overcommitting Your Memory Resources
• Overcommitting that enables a virtual machine running on that
hypervisor to use more memory than is physically installed on the
server’s motherboard. As an example, the server’s physical RAM
installed on the motherboard may be 64GB, and the 32 VMs running
on that server are all configured for 4GB of RAM each; this would be a
2:1 overcommitment with 128GB allocated and with 64GB physically
available.
The concept of overcommitting is based on the assumption that not
all servers will use the memory assigned to them. This unused
memory is dynamically allocated to the other VMs that require
additional RAM for operations.
35. • CPU Overcommitment Ratios
• the cloud server hypervisors overcommit RAM resources; the same
is true for CPU resources.
• Overcommitting is based on the assumption that not all servers will use the CPU
resources allocated to them and those cycles can be dynamically reassigned to
VMs that require the allocated compute resources.
• CPU wait time is the time that a process or thread has to wait to access a CPU for
processing. With a hypervisor supporting many virtual machines running on it,
the VMs may, at times, have to wait for the finite physical CPU resources to
become available.
• Hypervisor and monitoring tools can collect and display CPU wait statistics for
performance tuning and capacity planning of processing requirements.
36. Shared vs. Dedicated Hardware Resources
in a Cloud Data Center
• The primary economic cost advantages of cloud computing are based
on shared virtualized resources. Virtualized storage, networking, and,
of course, compute compose the vast majority of a cloud data
center’s operations. However, there may be times where a dedicated
server is your only option. This usually is because of security
regulations or application restrictions and special hardware
requirements that limit you to a bare metal server dedicated to one
customer.
While the shared model is the most common and most cost
effective, most cloud service providers offer dedicated servers at a
much higher cost because of the need to allocate a complete server
to one customer.
37. 1.5 VIRTUALIZATION
• Virtualization is the process of emulating a software or hardware
environment. Virtualization also creates and runs multiple
operating systems (Virtual Machine) on a physical server. Each VM is
independent.
• Virtualization technology improves resource utilization and
improves power consumption by creating multiple virtual machines
and virtual storage disks in a single server to serve multiple users.
Sharing of resources in a cloud helps to reduce the cost
38.
39. 1.5.1 Types of virtualization
There are two types of virtualization namely ,
• full virtualization
• paravirtualization
40. 1.5.1.1 Full virtualization and paravirtualization
• In full virtualization, the guest OS is not aware of being virtualized.
Further, it does not need any modification to the guest operating
system kernel. It has direct access to the hardware by providing a
complete simulation of the underlying hardware. It requires that
every relevant feature of the hardware be reflected into every VM.
• Paravirtualization requires certain adjustments to the guest operating
system kernel to use the hypercall mechanism. Paravirtualization is
incapable of supporting unmodified operating systems (e.g.,
Windows). Xen hypervisor is an example of paravirtualization.
41. 1.5.2 Virtualization elements
• Virtualization has two main elements namely , the Virtual Machine
and the Hypervisors (Virtual Machine Manager).
1.5.2.1 Virtual machine (VM)
• A VM is a complete computer system simulated in software.
Several VMs run on a single server. VM contains the entire hardware
system functions and runs in an isolated environment. Large
computers or servers might run various VMs providing different
services.
42. • 1.5.2.2 Hypervisors (Virtual Machine Manager)
• Hypervisors (VM manager) is software used to manage a group of
virtual machines in a single host. There are two types of hypervisors
• Type 2 is software installed in an operating system such as (Windows
or Linux). Example: Virtual Box, Xen, VMware Player. Though, it is not
capable of controlling the hardware directly, it can do so through the
operating system.
• Type 1 is software installed directly on the hardware. It has the power
to control the hardware without any interface (no intermediate
interface is required)
43. 1.6 virtual machine migration
• There are two main types of virtual machine migration:
migration (offline).
• migration (online).
44. 1.6.1 Non-live (cold) migration
• Non-Live migration or Cold migration is the process of moving the VM
from one host to another in an easy manner by sending all data at
once after the OS of the VM is shut. Shut down the VM in the source
host and start the VM in the destination host might take a long time
45. 1.6.2 Live (Hot) migration
• Live migration (Hot migration technique) is the process of migrating
the virtual machine without shutting down, suspending, or
interrupting the guest OS. Still, it consumes a long time to send the
data from one physical server to another within the same data center
or across a remote data center.
• The three types of live virtual machine migration include
• post-copy
• pre-copy
• Hybrid
46. 1.6.2.1 Pre-copy approach
• A live VM migration mechanism named pre-copy migration first
transfers the memory page from the source physical machine to the
destination and then the CPU state without suspending the execution
of the virtual machine.
47. 1.6.2.2 post-copy
• The Post-copy approach has been proposed in 2009.The VM's
memory content transfers from source to destination only after a
complete CPU state and process is replicated to the target. The
advantage of using post-copy is reducing total migration time by
pulling only the needed memory page .The VM starts working on the
target host as the migration of the CPU state is complete.
48. 1.6.2.3 Hybrid
• The hybrid algorithm merges the pre-copy advantage with the post-
copy advantage to droop the pre-copy and post-copy weaknesses. It
copies all the memory pages from source to target at once. The main
target is to improve the performance by changing the migration type
from pre-copy to post-copy at a specific time to reduce the number of
fault pages and to maintain the migration time at the same level.
50. What Are the Tools Used for Remote
Management?
• VPN Access
• A virtual private network (VPN) allows for secure and usually encrypted
connections over a public network, as shown in Figure
Usually a VPN connection is set up between the network management location or
customer managing their cloud deployment and the cloud services being
monitored and managed.
However, a cloud provider will offer network connections for management or
monitoring using a direct dedicated connection or a VPN connection.
51. Is My Data Safe? (Replication and
Synchronization)
• Synchronous replication is the process of replicating data in real time
from the primary storage system to a remote facility.
52. • Replication is the transfer and synchronization of data between
multiple data centers, For disaster recovery purposes and data
security, your data must be transferred, or replicated, between data
centers. Remote copies of data have traditionally been implemented
with storage backup applications.
• However, with the virtualization of servers in the cloud, you can now
replicate complete VM instances, which allows you to replicate
complete server instances, with all of the applications, service packs,
and content, to a remote facility.
53.
54. • Asynchronous replication works off a store-and-forward model and is
a cost-effective protection and backup solution. With asynchronous
replication, the data is first written to the primary storage system in
the primary storage facility or cloud location. After the data is stored,
it is then copied to remote replicas on a scheduled basis.
• Asynchronous replication is much more cost effective than
implementing a synchronous replication offering. Since asynchronous
replication is not in real time, it works well over slower wider area
network links, where a certain amount of network delay is to be
expected.
55.
56. Understanding Load Balancers
• Load balancing addresses the issues found when cloud workloads
and connections increase to the point where a single server can no
longer handle the workload or performance requirements of web,
DNS, or FTP servers; firewalls; and other network services.
• With load balancing, you can configure the cloud for many servers
working together and sharing the load. Therefore, redundancy and
scalability can be achieved.
57.
58. • A load balancer is commonly found in front of web servers. The
website’s IP address is advertised on the network via DNS. This IP
address is not of the real web server but instead is an interface on the
load balancer. The load balancer allocates the traffic by distributing
the connections to one of many servers connected to it.
• A load balancer can check the health of each server and remove a
server from the network if there is a hardware, network, or
application issue.
59. First Movers in the Cloud
• Cloud computing is a growing field, and there will likely be new players in
the market in the foreseeable future. For now, let’s look at the names you
already know: Amazon,Google, and Microsoft.
• Amazon
Amazon was one of the first companies to offer cloud services to the
public, and they are very sophisticated.
Amazon offers a number of cloud services, like:
• Elastic Compute Cloud (EC2)
• Simple Storage Service (S3)
• SimpleDB : providing the ability to store, process, and query data sets in
the cloud.
60. • Google:
Google offers online documents and spreadsheets, and encourages
developers to build features for those and other online software, using
its Google App Engine. Google reduced the web applications to a core
set of features, and built a good framework for delivering
them. Google also offers handy debugging features.
• Microsoft
Microsoft’s cloud computing solution is called Windows Azure, an
operating system that allows organizations to run Windows
applications and store files and data using Microsoft’s datacenters.
61. • Grid Computing:
• Grid computing is often confused with cloud computing, but they are quite
different.
• Grid computing applies the resources of numerous computers in a network to
work on a single problem at the same time.
• Grid computing needs the use of software that can divide and then send out
pieces of the program to thousands of computers.
• Sun Microsystems offers Grid Engine software that allows engineers at companies
to pool the computer cycles on up to 80 workstations at a time.
• Grid computing is attractive for several reasons:
• It is a cost-effective way to use a given amount of computer resources.
• It is a way to solve problems that need a tremendous amount of computing
power.
• Cloud computing does just the opposite.
62. Network Protocols
• HTTP refers to the Hypertext Transfer Protocol and uses port 80. HTTP is a
common application and is used primarily on web browsers to access
World Wide Web servers in the cloud.
• FTP, or the File Transfer Protocol, dates back to the earliest days of IP
networking and is used to send and receive files between systems on a
network. FTP has a standard command set to achieve this and uses both
ports 20 and 21.
• HTTPS is the Hypertext Transfer Protocol Secure and uses port 443, HTTPS
provides an encrypted connection from the client to the server to protect
the interception of critical information
• FTPS File Transfer Protocol Secure, is the encrypted version of the FTP and
uses ports 989 and 990. FTPS uses the TLS/SSL encryption processes.
63. • SFTP is closely related to FTPS and uses port number 22 for secure file
transfers.
• Secure Shell, or SSH, is the encrypted version of the Telnet protocol and is
used to access remote devices using a command-line interface. SSH uses
port 22 with other security protocols.
• The SSH command-line interface, Secure Copy (SCP), and SFTP use port 22
for communications.
• DNS To resolve a name to an IP address that the IP protocols uses to
connect to a remote device, the server or workstation will perform a DNS
or domain name service server. The DNS server will have the domain name
to IP address mapping and reply with the correct IP address for any given
domain name. DNS uses well-known port 53.
64. • DHCP The Dynamic Host Configuration Protocol, or DHCP, allows for
automatic assignment of IP addressing information to devices on a
network. This eliminates the need to statically configure addressing
information when you connect to a network. DHCP listens on port
number 68.
• SMTP The Simple Mail Transfer Protocol (SMTP) is used to send e-mail
messages between mail servers and uses port 25.
66. 1. Network-Attached Storage
• Network-attached storage (NAS) is file-level access to data across a
network. For example, a file server sitting on an Ethernet-based LAN
and hosting shared directories is a type of NAS. In a NAS
configuration, files are sent over the network rather than blocks of
data as in storage area networks. The data is not stored on a local
computer, as with direct attached storage, but over a LAN.
•
67. 2. Direct-Attached Storage
• In home and small business environments, direct-attached storage
(DAS) is common and the easiest method to implement. Just as the
name implies, a computer, laptop, or other computing device that has
its own storage directly connected is considered to be direct attached
storage.
• These devices can be hard drives, flash drives, or any other type of
storage that is connected to the computer and not over a network.
The connection used is commonly an ATA, SATA, or SCSI interface
connecting the storage media to the motherboard of the computer.
68.
69. 3. Storage Area Networks
• In large computing environments, storage systems are disaggregated
from the servers and are enclosed in their own racks in a data center.
• These storage arrays are connected to networks dedicated to storage
traffic and are separate from the Ethernet LANs you are familiar with.
A storage area network (SAN) is high-speed, highly redundant, and
completely dedicated to interconnecting storage devices
• When a server accesses storage over a SAN network, the SAN must be
completely lossless and highly available.
• The most common dedicated store networking technology is Fibre
Channel.
70.
71. 4. Object-Based Storage
• Object storage is a technology that stores and manages data in an
unstructured format called objects. Modern organizations create and
analyze large volumes of unstructured data such as photos, videos,
email, web pages, sensor data, and audio files. Cloud object storage
systems distribute this data across multiple physical devices but allow
users to access the content efficiently from a single, virtual storage
repository. Object storage solutions are ideal for building cloud native
applications that require scale and flexibility, and can also be used to
import existing data stores for analytics, backup, or archive.
72. • Metadata is part of a file or sector header in a storage system that is used to identify the
content of the data. It is used in big data applications to index and search for data inside
the file. Metadata can consist of many different types of information, such as the type of
data or application and the security level. Object storage allows the administrators to define
any type of information in metadata and associate it with a file.
Extended metadata includes a long list of data that can be attached to a data file.
Examples include the author, authentication type, username, password,
certificates,encoding, or any other type of user-defined attribute. User-defined information
about the files, its access, and its usage enables the creation of specific and sophisticated
index schemes.
73. Storage Provisioning
• 1. Thick Provisioning
When deploying a new storage system in the cloud, the automation
systems can either allocate all the storage capacity at the time of the
volume creation or start with a smaller volume size and add storage
capacity as needed.
Thick provisioning is the allocation of all of the requested virtual
storage capacity at the time the disk is created. For example, when
creating a virtual disk in the cloud, you request a capacity of 100GB
for your volume. With thick provisioning, all 100GB will be
pre-allocated when the disk is created
74. • 2. Thin Provisioning
Thin provisioning refers to storage capacity that is allocated on an as-needed
basis. This prevents wasting storage capacity if it is unused. When the volume is
created, it will not allocate all the capacity requested. Instead, a smaller amount
is provisioned, and then additional capacity is added, up to the maximum volume
size as required. Because of the need of a thin-provisioned volume to occasionally
add capacity, there will at times be greater latency in accessing your storage
resources than compared to thick provisioning, which has all of the storage
capacity allocated and ready for use.
• Thin provisioning may only allocate 10GB, for example, and then expand to the
maximum requested volume size of 100GB as storage needs require. If the
additional space is never needed, then the additional capacity never gets
allocated to the disk volume.
75. Storage Overcommitment
• Over committing storage resources allows you to allocate more
storage space that is physically available to increase operational
efficiency. When overcommitting storage, you configure disk
capacity to be larger than the actual available disk capacity. You will
also need to configure the storage volumes to be thin provisioned,
the actual disk allocation for each VM starts small and expands are
required.
• Since you are allocating more storage to VMs than is actually
available, you will need to closely manage your storage to avoid
resource starvation such as storage write failures due to lack of disk
space.