0% found this document useful (0 votes)
18 views

#4 Cloud Computing

Uploaded by

Waqas Ali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

#4 Cloud Computing

Uploaded by

Waqas Ali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 40

DS-6223, Cloud Computing

Presented by:
Dr. Atta Ur Rahman

1
Table of Contents
 Cloud Computing Vs Grid, Fog Computing
 Edge Computing
 Virtualization
 OS in Virtualization
 Types of Virtualization
 Architecture, Isolation, advantages
 Virtualization & Hypervisor
 Hypervisor, types, examples
 Containers, vs VM, Isolation
 Orchestration, Docker & VMs
 Kubernetes, Services, installation guide

2
Cloud Computing Vs Grid Computing

 Cloud Computing is a Client-


server computing architecture.
In cloud computing, resources
are used in centralized pattern
and cloud computing is a high
accessible service. It is a pay
and use business means, in
cloud computing, the users
pay for the use.

3
Cloud Computing Vs Grid Computing

 Grid Computing is a
Distributed computing
architecture.
 In grid computing,
resources are used in
collaborative pattern,
and also in grid
computing, the users
do not pay for use.

4
Cloud Computing Vs Grid Computing

 Cloud computing is based on service-oriented.


 Cloud computing uses service like IAAS, PAAS, SAAS.
 It can be accessed through standard web protocols.

 Grid computing is based on application-oriented.


 Grid computing uses service like distributed
computing, distributed pervasive, distributed information.
 While it is accessible through grid middleware.

5
Cloud Computing Vs Fog Computing

 Fog computing is a decentralized computing infrastructure


or process in which computing resources are located
between the data source and the cloud or any other data
center.
 Fog computing is a paradigm that provides services to user
requests at the edge networks. The devices at the fog layer
usually perform operations related to networking such as
routers, gateways, bridges, and hubs.

6
Example

 Example:
 Consider a popular cloud service like Dropbox. When you
upload a file to Dropbox, it's stored in a data center, and you
can access it from anywhere with an internet connection.
 Example:
 Imagine a smart city system that monitors traffic conditions in
real time using a network of sensors and cameras at various
intersections. Instead of sending all the data to a distant cloud
data center for processing, fog computing can be applied.

7
Fog Computing

8
Edge Computing

 Computation takes place at the


edge of a device’s network, which
is known as edge computing. That
means a computer is connected
with the network of the device,
which processes the data and
sends the data to the cloud in real-
time. That computer is known as
“edge computer” or “edge node”.

9
Virtualization

 Virtualization is a process that allows a computer to share


its hardware resources with multiple digitally separated
environments.
 Each virtualized environment runs within its allocated
resources, such as memory, processing power, and
storage.
 With virtualization, organizations can switch between
different operating systems on the same server without
rebooting.

10
Virtualization in Cloud Computing

 In cloud computing, a cloud vendor


will provide cloud services have all
physical resources like server,
storage device, network device etc.
 The physical services are rented by
cloud vendors so that user’s are not
worry about these physical
services.

11
OS in Virtualization

 A virtual machine is a software-defined computer that runs on a


physical computer with a separate operating system and computing
resources.
 The physical computer is called the host machine and virtual
machines are guest machines. Multiple virtual machines can run on a
single physical machine.
 The hypervisor is a software component that manages multiple
virtual machines in a computer. It ensures that each virtual machine
gets the allocated resources and does not interfere with the operation
of other virtual machines.

12
Virtualization

13
Architecture

14
Isolation in Virtualization

 Virtualization is a technology that allows multiple virtual instances


(Virtual Machines or VMs) to run on a single physical server or host.
Each VM operates independently, as if it were running on its own
dedicated hardware.

 Isolation: Virtualization provides strong isolation between virtual


machines. Each VM has its own operating system, and they do not
share kernel-level resources. This isolation makes VMs suitable for
running different operating systems and applications.

15
Types of Virtualization

16
Types of Virtualization

 Server virtualization: Server virtualization is a process that partitions


a physical server into multiple virtual servers. It is an efficient and
cost-effective way to use server resources and deploy IT services in an
organization.
 Storage virtualization: Storage virtualization combines the functions
of physical storage devices such as network attached storage (NAS)
and storage area network (SAN).
 Network virtualization: Network virtualization is a process that
combines all of these network resources to centralize administrative
tasks. Administrators can adjust and control these elements virtually
without touching the physical components, which greatly simplifies
network management.

17
Types of Virtualization

 Data virtualization: Modern organizations collect data from several


sources and store it in different formats. They might also store data in
different places, such as in a cloud infrastructure and an on-premises
data center.
 Data virtualization creates a software layer between this data and the
applications that need it. Data virtualization tools process an
application’s data request and return results in a suitable format.
Thus, organizations use data virtualization solutions to increase
flexibility for data integration and support cross-functional data
analysis.

18
Types of Virtualization

 Application virtualization: Application virtualization pulls out the


functions of applications to run on operating systems other than the
operating systems for which they were designed. For example, users
can run a Microsoft Windows application on a Linux machine without
changing the machine configuration.

19
Advantages

 The main cost-effective, hardware-reducing, and energy-saving


techniques used by cloud providers is Virtualization.
 Virtualization allows sharing of a single physical instance of a resource
or an application among multiple customers and organizations at one
time.
 It does this by assigning a logical name to physical storage and
providing a pointer to that physical resource on demand.
 The term virtualization is often synonymous with hardware
virtualization, which plays a fundamental role in efficiently delivering
Infrastructure-as-a-Service (IaaS) solutions for cloud computing.

20
Advantages

 More flexible and efficient allocation of resources.


 Enhance development productivity.
 It lowers the cost of IT infrastructure.
 Remote access and rapid scalability.
 High availability and disaster recovery.
 Pay peruse of the IT infrastructure on demand.
 Enables running multiple operating systems.

21
Virtualization & Hypervisor

 Virtualization: Virtualization is a technology that allows


creating multiple simulated environments or dedicated
resources from a single, physical hardware system.
 Software called hypervisors connects directly to that
hardware and allows us to split 1 system into separate,
distinct, and secure environments known as Virtual
machines(VMs).
 These VMs rely on the hypervisor’s ability to separate the
machine’s resources from the hardware and distribute
them appropriately.

22
Hypervisor

 A hypervisor is a form of virtualization software used in


Cloud hosting to divide and allocate the resources on
various pieces of hardware.
 The program which provides partitioning, isolation, or
abstraction is called a virtualization hypervisor.
 The hypervisor is a hardware virtualization technique that
allows multiple guest operating systems (OS) to run on a
single host system at the same time.
 A hypervisor is sometimes also called a virtual machine
manager(VMM).
23
Types

 TYPE-1 Hypervisor:
 The hypervisor runs directly on the underlying host
system.
 It is also known as a “Native Hypervisor” or “Bare metal
hypervisor”. It does not require any base server operating
system.
 It has direct access to hardware resources. Examples of
Type 1 hypervisors include VMware ESXi, Citrix
XenServer, and Microsoft Hyper-V hypervisor.

24
Types

 TYPE-2 Hypervisor:
 Such kind of hypervisors doesn’t run directly over the underlying
hardware rather they run as an application in a Host
system(physical machine).
 Basically, the software is installed on an operating system.
Hypervisor asks the operating system to make hardware calls.
 An example of a Type 2 hypervisor includes VMware Player or
Parallels Desktop.
 The type-2 hypervisor is very useful for engineers, and security
analysts (for checking malware, or malicious source code and
newly developed applications).

25
Containers

 Containerization is a way to deploy application code to run on any


physical or virtual environment without changes.
 Developers bundle application code with related libraries,
configuration files, and other dependencies that the code needs to
run.
 This single package of the software, called a container, can run
independently on any platform. Containerization is a type of
application virtualization.

26
Containers

 Containers are packages of software that contain all of the necessary


elements to run in any environment.
 In this way, containers virtualize the operating system and run
anywhere, from a private data center to the public cloud or even on a
developer’s personal laptop.
 From Gmail to YouTube to Search, everything at Google runs in
containers. Containerization allows our development teams to move
fast, deploy software efficiently, and operate at an unprecedented
scale.

27
Containers Vs VMs

 Containers are much more lightweight than VMs.


 Containers virtualize at the OS level while VMs virtualize at the
hardware level.
 Containers offer a logical packaging mechanism in which applications
can be abstracted from the environment in which they actually run.
 This decoupling allows container-based applications to be deployed
easily and consistently, regardless of whether the target environment
is a private data center, the public cloud, or even a developer’s
personal laptop.

28
Containers Vs VMs

 In the case of containers, only the OS is virtualized and


not the hardware, creating a lightweight environment that
houses the application and the dependent assets.
 Containers have continued to gain popularity since 2014
and Virtual machines have existed for a very long time,
the difference between the two is known to all.
 As the world keeps comparing the two, it is imperative to
remember both are here to serve different purposes.

29
Isolation in Containers

 Containers are a lightweight form of virtualization that package


applications and their dependencies into a single, portable unit.
Unlike VMs, containers share the host's operating system kernel but
run in isolated user spaces.

 Isolation: Containers provide a level of isolation between


applications, but it is not as strong as VMs. They share the same OS
kernel, which makes them more efficient but potentially less secure in
some contexts.

30
Containers as a Service

 Containers are a usable unit of software in which application


code is inserted, as well as libraries and their dependencies,
in the same way that they can be run anywhere, be it on
desktop, traditional IT, or in the cloud.
 Containers as a service (CaaS) is a cloud service model that
allows users to upload, edit, start, stop, rate and otherwise
manage containers, applications and collections.
 It enables these processes through tool-based virtualization,
a programming interface (API) or a web portal interface.

31
Orchestration

 Orchestration, in the context of computing and software


development, refers to the automated management and
coordination of various components, services, and
processes within a system or application.
 It involves controlling the flow of execution, coordinating
interactions between different elements, and managing
resources to achieve a desired outcome.
 The most widely used container orchestration platform is
Kubernetes.

32
Docker

 Docker is a set of platforms as a service (PaaS) products


that use the Operating system level virtualization to
deliver software in packages called containers.
 Docker is a containerization platform that allows you to
package code and dependencies into a Docker image that
can be run on any machine. Docker allows your
application to be separated from your infrastructure.
 The image that you created is portable, so you can run it
on any machine that has Docker installed.

33
Docker & VMs

 Docker and VMs are two popular technologies used in cloud


computing to deploy and manage applications.
 Docker is a containerization platform that allows you to package
an application and its dependencies into a container image.
 Docker is an excellent choice for microservices architecture and
applications that require rapid deployment and scalability.
 Example:
 Suppose you have a web application built with Node.js. You can
use Docker to create a container image that includes the Node.js
runtime, your application code, and all required dependencies.

34
Docker & VMs

 Virtual machines provide full isolation by running an entire operating


system on a virtualized hardware infrastructure. VMs are suitable for
applications that require different operating systems, legacy software
support, or strong security boundaries between applications.
 Example:
 Imagine you have an enterprise application that relies on Windows
Server, but your cloud infrastructure primarily uses Linux. In this
case, you can create a Windows Server VM in the cloud to host your
application. You can install the required Windows-specific software,
set up security policies, and have full control over the VM.

35
Kubernetes

 Kubernetes is an open-source container orchestration


framework that was originally developed by Google.

 Within the year 2014 Kubernetes was released for the first
time and made open-sourced too after using it to run
production workloads at scale for quite a decade.

 Also, pure open-source Kubernetes is free and might be


downloaded from its repository on GitHub.

36
Services

 Multi-Host Container Scheduling: It assigns containers (by


Kube-scheduler), also referred to as pods in Kubernetes to
nodes at runtime. It accounts for resources, quality of service,
and policies before scheduling.
 Scalability and availability: The Kubernetes master is often
deployed during a highly available configuration. Multi-region
deployments are available as well.
 Flexibility and modularization: Kubernetes includes a plug-and-
play architecture that permits you to increase it when you need
to. There are specific add-ons from network drivers, service
discovery, container runtime, visualization, and command.

37
Services

 Registration: New worker nodes can register themselves with the


Kubernetes master node.
 Service discovery: Service discovery allows for automatic detection
of new services and endpoints via DNS or environment variables.
 Persistent storage: It is a much-requested feature when working
with containers. Pods can use persistent volumes to store data and
therefore the data is retained across pod restarts and crashes.
 Secrets Management: Sensitive data is a first-class citizen in
Kubernetes. Secrets mounted to data volumes or environment
variables. They’re also specific to a single namespace so aren’t
shared across all applications.

38
Kubernetes Installation

 https://kubernetes.io/docs/tasks/tools/
 kubectl is installable on a variety of Linux platforms,
macOS and Windows.

 Using the above link, you can find the documentation,


installation guide and use cases.

39
Thank You!
Any Question

40

You might also like