STCLOUD_virtualization recap, types of virtualization, desktop vs storage virtualization, data virtualization, app virtualization
RAW FILE
This note has not been edited yet.
Virtualization Recap
- traditional: dedicated, single OS, issues with resource maximization, compatibility
- virtualization: fixes issue with resource maximization, resource pooling
Virtualization Properties
- partitioning → resource allocation
- isolation → security because of fault isolation at the hardware level
- encapsulation → portability because they're all just files, you can just roll back to previous states
- hardware independence → provision or migrate to any server without the need to perform reconfigurations bc they're independent of the hardware
Types of Virtualization
- main ones are Server, Network, and Storage
- Server Virtualization → compute, CPU
- Network Virtualization→ I/O of data
- Storage Virtualization → memory and volatile/non-volatile
Server Virtualization
- virtualizing the concept or idea of a server
- enables multiple OS to run on a single physical server
- partitions (partitionability, scalability) a physical server into multiple virtual servers
- multiple virtual machines on a single machine
Network Virtualization
- virtualizing the concept of a network (fiber optic, cables, LAN cable, etc.)
- reproduces a physical network allowing applications to run on a virtual network as if they were running on a physical network
- achieves greater operational benefits and all the hardware independencies of virtualization
- presents logical networking devices and services to connected workloads, such as
- logical ports, switches, routers
- firewalls
- load balancers
- VPNs and more
- VFW - Virtual FireWall for over a thousand VMs in CCSCloud
Desktop Virtualization
- idea of a desktop - laptop, PC
- deploying desktops as a managed service enables IT organizations to respond faster to changing workplace needs and emerging opportunities
- virtualized desktops and applications can also be quickly and easily delivered to branch offices, outsourced and offshore employees, and mobile workers using tablets
- typically categorized as Local Desktop Virtualization or Remote Desktop Virtualization
- LDV → this is your machine (you're using your machine to virtualize ex. windows VM on my mac laptop, lower latency)
- RDV → a different machine (the resources that you're using is someone elses machine on a server somewhere, high latency bc of network)
- makes desktop management efficient, secure, and saves money on desktop hardware
Types of Desktop Virtualization (32:12)
- Desktop as a Service (DaaS)
- cloud service that delivers virtualized desktops and applications
- service in a datacenter
- Cloud service models: PaaS, SaaS, IaaS. DaaS is like SaaS
- types: client-defined, vendor-defined, managed DaaS
- typically rental, subscription-based
- cloud uses virtualization
- cloud service that delivers virtualized desktops and applications
- Virtual Desktop Infrastructure (VDI)
- a product usually deployed on an on-premise datacenter
- users access the virtual desktop on the sever by using client devices
- VDI is the technology that makes DaaS work
- Local Desktop Virtualization (LDV)
- hypervisor runs on a local computer containing virtual machines
- switch between local and virtual environment as applications
- using your own machines resources
- Remote Desktop Services (RDS)
- remote access Windows desktop sessions, also called Terminal Service
- multiple users and using a shared virtual machine
- single OS, multi session
- just run a single VM
Storage Virtualization
- combines the functions of physical storage devices such as network attached storage (NAS) and storage area network (SAN)
- storage can be pooled despite being heterogeneous (regardless of heteroginity), from different vendors or of different types
- storage virtualization uses multiple physical data storage and creates a large unit of virtual storage that you can assign and control by using management software
- IT administrators can streamline storage activities such as archiving, backup, and recovery, because multiple storage devices are virtually combined into a single storage device
- usage is on top
- total capacity of each is 1TB
- let's say there's a 4th server that needs 700GB
- purple is the available amt of GB in each server
- we're looking at storage as capacity so instead of 3 physical servers, think of it as one singular server with 3 hard disks.
- you have to combine all of them first and pool the resources together before being able to use something → via logical volume group (computer will view it as a single large disk)
- so 3x 1TB, its 1x 3TB
NAS vs SAN
NAS Network Attached Storage
- single storage device (like a small computer with a storage-based OS and connected to the network)
- file-based storage (hierarchical with files and folders)
SAN Storage Area Network
- network of storage devices using blocks (bigger than NAS)
- block storage (your computer defines the file system so it's not hierarchical)
- file system is managed by the machine or user
- the blocks are what you store in the SAN
Even though they are different kinds of devices (heterogeneous), they can be combined to pool resources, virtually because of Storage Virtualization
if File A is 300gb, 200GB is in SSD A, and 100GB is in HDD B (100mbps), if you want to transfer the storage in SSD A in SSD C, it will still take you at least 1000 seconds to do so (i have no idea what sir is talking about here. check 1:11:30)
- more prone to corruption if namatay ung isa
- RAID5 technologies → RAID5 has storage A, B, and C all each 1TB. RAID only uses A and B and the third one is a Party. It stores A xor B so if A dies, you only have B. So if you do B xor P, you'll be able to regenerate A.
- the drawback is that you buy more replicated storage.
- if the parity dies then it's gone lol
we're not IT so just think of the high level stuff, we're not gonna be tested on the specifics of the technology
(01:18:38)
Data Virtualization
- virtualizes the concept of data storage
- creates a software layer between this data and the applications that need it
- modern organizations collect data from several sources and in different formats and are stored in different places, such as in a cloud infrastructure or on-premises data center
- data visualization tools process an application's data request and return results in a suitable format
- this results in increased flexibility for data integration and support cross-functional data analysis regardless of the heterogeneity
- makes big data analysis easier to perform
ex. dev wants to do data analytics but the dataset comes from different physical locations and are in different formats (xml, csv, etc.), and are different types (IoT, survey, sales, etc.)
- if you want to process the data without virtualization, you have to get the data, convert the data, look at the data for the different standards, etc. (harder for the developer)
- data virtualization gives you an extra abstraction layer. it does everything for you (it aggregates the data, translates them, prepares for you etc.)
- all the developer has to do is make a query of all sites of all IoT products, run the API to call the data, and you receive the result you need from the abstraction layer.
- left: query + API
- right side first arrow: diff loc(ations)
(01:25:39)
Application Virtualization
- pulls out the functions of applications to run on operating systems other than the operating systems for which they were designed (i.e. run Linux apps on a Windows machine without any configurations)
- Virtual Machines → desktop virtualization
- Wine or Crossover, GBA Emulators → application virtualization
- Application Streaming - users stream the application from a remote server. runs only on the users' device when needed
- might be steam remote play, sir mentioned xbox live?
- an application you cancel or you run
- Server-based Application virtualization - users access the remote application from their browser or client interface without installing
- your usual MS365, Google Suite... the application is on a remote server, you're just accessing them via your interface (browser) → server-based applications
- its as if you're running the app natively
- this is remote
- Local Application virtualization - the application code is deployed with its own environment to run on all operating systems without changes
- Wine, Crossover, etc. to play Windows games on Mac without using a VM
- using your local machine's resources