Cloud Computing Test Bank
Cloud Computing Test Bank
Compute Virtualization:
Bare-Metal (Type 1) Hosted (Type 2)
No Host OS Host OS between VMM and Hardware
Better performance Worse Performance
Hard to develop kernel Easy to implement
Run different Guest OSs Limited in terms of resource access
Characteristics of virtualization:
1. Partitioned
2. Isolated
3. Encapsulated
4. Independent
CPU Virtualization
Full Virtualization Paravirtualization
VM requests are forwarded to VMM Guest OS is modified to be aware of
for binary translation and emulation. virtualization and uses hyper calls to
access hypervisor.
Worse performance due to binary Offers performance similar to non-
translation. virtualized systems.
Supports all types of Guest OSs Only open source OSs that can be
modified.
Memory Virtualization:
VMM stores mapping between guest machine address spaces and physical
machine.
VM OS VMM
Virtual memory Physical memory Machine Memory
Lecture 3
I/O Virtualization
Full Virtualization Paravirtualization I/O through
VMM intercepts the requires each VM to run • Guest can access
request sent by the VM, a frontend driver. When the device directly.
and then sends the real VMs need to access an • Virtually
access request to the I/O device, the VMs send eliminates all
physical device for I/O requests to the emulation and
processing. privileged VM (act as back-end
hypervisor) through the overhead.
Best option for frontend driver, and the • Each device is
correctness and backend driver of the limited to use by
abstraction. privileged VM collects one VM.
the I/O request sent by • Introduces strong
each VM. coupling between
the VM OS needs to be Guest and
modified (usually Linux). hardware.
Specifically, the I/O
request processing
method of the OS needs
to be changed.
Causes severe reduces the performance Best option for
performance loss to the loss of VMM and performance
server. therefore delivers better
I/O performance.
For example, keyboard For example, hard disks
and mouse. and Network Interface
Cards
KVM Modes
Guest Mode User Mode Kernel Mode
VMs, including their The quick emulator In this mode, the
CPUs, memory, and (QEMU) typically runs in hardware can be
disks, run in a restricted this mode. QEMU operated. When the
CPU mode. emulates I/O requests. guest OS executes an I/O
operation or privileged
**the simulation instruction, a request
performance delivered needs to be submitted to
by QEMU is low. the user mode, and then
the user mode initiates a
hardware operation
request to the kernel
mode again to operate
the hardware.
NAT vs Bridged
NAT Bridged
NAT is used for address translation. When the virtual NIC is connected to a
When a VM communicates with an port of the switch, the virtual NIC and
external network the network bridge, with the same IP
through the NAT gateway, the source address configuration, communicate
IP address of the IP packet is with each other in broadcast mode.
translated into the IP address of the
physical network and a record is
produced accordingly.
When the external network accesses
the VM, the NAT gateway forwards
data packets to the
VM based on the record.
The source IP address can be Faster
concealed.
SAN NAS
SAN-connected disks appear to the NAS devices deliver shared storage as
user as local drives. network mounted volumes
The Internet of Things (IoT) is the concept of connecting everything through the
Internet, including all sorts of communication and interaction: people-people,
people-things, and things-things.
Main IoT Technologies:
• RFID
• Sensors
• Embedded Systems
Big data refers to data sets that are too large or complex to be handled by
traditional data-processing application software.
Characteristics of Big Data:
• Volume: the amount of data
• Variety: the different types of data
• Velocity: the speed at which data is generated
• Value: the value that can be extracted from data.
Artificial intelligence (AI) is an area of computer science that focuses on the
research into and development of theories, methodology, technology, and
application systems for simulating and extending human intelligence with
machines.
Elements of AI:
• Big Data
• Computing Power
• Algorithms
• Scenario
5G refers to the 5th generation of mobile communications technologies and
standards.
5G:
• Enhanced mobile broadband.
• Reliable, low latency.
• Massive number of connections
Containerization is a lightweight virtualization technology that uses OS-level
virtualization. The primary difference between containers and VMs is that each
VM includes the operating system (OS) but a container does not.
Docker is an open-source application container engine. It allows developers to
pack their applications and dependency packages into a portable container, and
later run them on any other Linux machine.
Compared with containers, VMs have the following limitations:
• High resource overheads.
• Redundant operations.
• Slow startup.
Containers benefits are as follows:
• Quick startup.
• Small size.
• Small resource overheads.
OpenStack is a free open-source software platform for cloud computing.
OpenStack requires contributions to be released under the Apache 2.0 license.
OpenStack provides the framework for building a cloud OS. To build a complete
cloud OS, a large number of software components need to be integrated and
work together to provide functionalities and services required by system
administrators and tenants.
OpenStack must integrate with virtualization software to achieve compute
resource pooling of servers.
OpenStack delivers control commands to KVM and performs VM lifecycle
management operations, such as creating, deleting, starting, and stopping VMs.
Cloud Computing Disadvantages:
• Latency.
• Network Congestion.
• Security.
Four steps of data utilization:
• Collect data.
• Cleanse data.
• Associate information.
• Use knowledge.
Fog Computing Edge Computing
Fog computing is an extension of cloud Edge computing creates an open
computing services to the edge of the platform that integrates core
network to decrease latency and capabilities including network,
network congestion. Fog computing compute, storage, and applications at
uses edge devices to carry out a the edge of your
substantial amount of computation, network, to process data where it is
storage, and communication locally, being generated.
instead of storing all data in cloud data
centers.
Fog computing takes place further Edge computing takes place right on
away (in physical distance) from the devices attached to the sensors, or
sensors that generate data. in some cases, on a gateway device
that is physically close to sensors.
• Low latency
• HD video, bandwidth-intensive
• Transmission network efficiency
• High-quality user experience
Microservices Serverless
Microservices are a software Serverless is a cloud-native
development technique that development model that allows
structures an application as a developers to build and run
collection of loosely coupled, fine- applications without having to manage
grained services. servers.
Microservices are an architecture in Serverless is an execution model
which a monolithic application is where the cloud is responsible for
divided into multiple small services executing a piece of code by
such as logging, data search, and dynamically allocating the resources.
more. These services coordinate and And only charging for the amount of
cooperate with each other to provide resources used to run the code.
users with the required functionalities. Serverless computing offerings
Together, these microservices form a typically fall into two groups:
single application. FaaS, BaaS
Pros: To sum up, serverless architecture is
• Independent deployment, designed to allow programmers
flexible scalability focusing on code running without the
• Effective resource isolation complexity of building and maintaining
• Optimized development teams the infrastructure typically associated
with developing and launching an
application
Cons: Serverless computing is a model for
• Complex development and building and managing microservices-
testing process due to project based architectures.
splitting
• Difficulty of ensuring data
consistency between services
Microservices is a way to design an serverless is a way to run an
application. application (or a part of an
application).
Function as a Service (FaaS) Backend as a Service (BaaS)
The service provider provides a The service provider provides a
platform where the developer serverless backend, also known as
develops, runs, and manages their self- backend as a service for the mobile
contained functions without the need application developer. BaaS shifts
to build and maintain an backend functions including data/file
infrastructure. storage, account management, data
collection, operation analysis, message
push, and social media integration to
the cloud, allowing the developer to
focus on their apps’ frontend.