itcmsy notes.pdf
Document Details
Uploaded by BeautifulRomanesque
Full Transcript
Virtualization and Cloud Computing Traditional Computing ○ Refers to the use of physical servers and datacenters to deliver computing and other IT services ○ Used to be the practice during the early days of using computers in organizations, where dedicat...
Virtualization and Cloud Computing Traditional Computing ○ Refers to the use of physical servers and datacenters to deliver computing and other IT services ○ Used to be the practice during the early days of using computers in organizations, where dedicated servers are the commonly used ○ Host computer would be installed with a single OS directly on the hardware ○ Typically run one or few applications per machine, resulting in possible issues in resource allocation as well as difficulty in scaling ○ Characteristics: Computer with a physical hardware Local environment Physical deployment or server Use of an on-premise datacenter Dedicated Physical Machine Virtualization ○ Technology that you can use to create virtual representations of servers/storage/networks and other physical machine/resources ○ Virtual software mimics the functions of physical hardware to run multiple VMs simultaneously on a single physical machine ○ Virtual machines are self-contained, completely independent, and isolated software container with an operating system and application inside. ○ Multiple VMs on a single computer results in several OS and applications to run on one physical server/host ○ Characteristics: Software versions of hardware and OS Emulation of physical machines and OS Multiple computers and/or OS in a single host machine Virtual equivalent of computing resources Multiple systems and apps running on a single machine ○ Properties: Partitioning Divide resources between virtual machines Run multiple OS or virtual machines in a single physical machine Isolation Fault isolation at the hardware level Reduce risk of dependencies and conflicts Encapsulation Move and copy virtual machines as files Improved portability Hardware Independence Provision/migrate to any server without the need to perform reconfigurations on the virtual machine Cloud ○ Multiple servers ○ Delivery of computing resource through the internet ○ Centralized resource and access via the Internet ○ Renting and using computer services ○ Offer scalability and flexibility without the need for local hardware Types of Virtualization Server Virtualization ○ Enable multiple OS to run on a single physical server ○ Partitions a physical server into multiple virtual servers Benefits: Greater IT efficiencies Reduced operating costs Maximization of resource Faster workload deployment Increased application performance Higher server availability Eliminated server sprawl and complexity Network Virtualization ○ Completely 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 ○ Network virtualization presents logical networking devices and services to connected workloads, such as: Logical ports Switches Routers Firewalls Load balancers VPNs and more Desktop Virtualization ○ 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 ○ Makes desktop management efficient, secure, and saves money on desktop hardware ○ Types include: Desktop as a Service (DaaS) Cloud service that delivers virtualized desktops and applications Types: client-defined, vendor-defines, and managed DaaS Virtual Desktop Infrastructure (VDI) A product usually deployed on an on-premise datacenter Users access the virtual desktop on the server by using client devices Local Desktop Virtualization Hypervisor runs on a local computer containing virtual machines Switch between local and virtual environment as applications Remote Desktop Services (RDS) Remote access Windows desktop sessions, also known as Terminal Service Multiple users are using a shared virtual machine Storage Virtualization ○ Combines the functions of physical storage devices such as network attached storage and storage area network ○ Storage can be pooled despite being heterogeneous from different vendors or of different types ○ Uses multiple physical data storage and creates a large unit of virtual storage that you can assign and control by using management software ○ IT admins can streamline storage activities, such as archiving, backup, and recovery because multiple storage devices are virtually combined into a single storage devices Data Virtualization ○ 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 ○ Tools process an applications data request and return results in a suitable format ○ Increased flexibility for data integration and support cross-functional data analysis 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 windows machine) ○ Application streaming - users stream the application from a remote server ○ Server-based application virtualization - users access the remote application from their browser/client interface without installing (google docs for example) ○ Local application virtualization - application code is deployed with its own environment to run on all operating systems without changes Virtualization and Hypervisors Virtualization works by abstracting physical hardware and devices from the applications running on that hardware Hypervisors make virtualization possible by translating requests between the physical and virtual resources Hypervisors support the creation and management of VMs by abstracting a computers software from its hardware Bare metal hypervisors are sometimes embedded into the firmware to enable the OS of a computer to access and use virtualization software Hypervisor Also known as a virtual machine monitor or VMM, is software that creates and runs virtual machines A hypervisor allows a host computer to support multiple guest VMs by virtually sharing its resources Hypervisors provide greater IT mobility since the guest VMs are independent of the host hardware Multiple virtual machines can run on one physical server, reducing space, energy, and maintenance requirements Benefits of hypervisors Speed ○ Virtual machines can be created instantly, making it easier to provide resources as needed for dynamic workloads Efficiency ○ Running several VMs on a physical machine is more efficient than to run multiple underutilized physical machines Flexibility ○ Separates the OS from the underlying hardware, so the software no longer relies on specific hardware devices or drivers Portability ○ Multiple OS to reside on the same physical server; VMs in the hypervisor run independently from the physical machine; allows shifting of workloads and allocate resources as needed Types of Hypervisor Type 1 - Bare Metal or native Hypervisor ○ Lightweight OS directly running on top of the host machine ○ Isolated from the guest OS, results in better security ○ Better performance than hosted hypervisors ○ Mostly used by enterprise for data center computing needs Type 2 - Hosted/Client Hypervisor ○ Runs as a software on an OS, like other programs ○ Can still run the same or a different guest OS from the host oS ○ Have higher latency than bare metal hypervisors ○ Mostly used by end users and software testing, where higher latency is less of a concern Feature Container Virtual Machine Operating Shares the host operating systems kernel Has its own kernel System Portability More portable Less portable Speed Faster to start up and shut down Slower to start up and shut down Resource Uses fewer resources Uses more resources usage Use cases Good for portable and scalable Good for isolated applications applications Containers Virtual Machines Web development Testing Microservices architecture Development CI/CD Isolation (for security) Cloud computing Cloud computing Disaster recovery Cloud Computing & Concepts Virtualization Cloud Definition Is the concept of Methodology translating physical to software Translation & Abstraction Purpose Creates multiple simulated Pool and automate virtual environment from 1 physical resources for on-demand use hardware system Use Deliver packaged resources Deliver variable resources to to specific users for a specific groups of users for a variety purpose of purpose Variable resources: different needs Multiple organizations Needs change over time Configuration Image-based Template-based Flexible, customizable Fixed prizes for public and configurable clouds Depends on cloud providers offerings Lifespan Years, long-term Hours to months, short-term Specific for the Scale along need organization Organization buys equipment Cost High CAPEX, low OPEX Private Cloud: High CAPEX, Investing in own low OPEX hardware is Same as virtualization expensive, but low Public Cloud: Low CAPEX, cost to maintain high OPEX No need to buy hardware, but payment would add up Scalability Scale up Scale out Vertical scaling Horizontal scaling Increase resources of Through load the machine balancing on the cloud’s machines Workload Stateful Stateless Tenancy Single Tenant Multiple Tenant Infrastructure as a service ○ Cloud computing enables you to stop thinking of your infrastructure as hardware, and instead think of it as software Problems with Traditional Computing Model ○ High CAPEX, low OPEX ○ Hardware solutions are clunky and inefficient Requires space, staff, physical security, planning, capital expenditure Have a long hardware procurement cycle (buying process) - bidding, delivery, setup, alongside convincing management Requires to provision capacity by guessing theoretical maximum peaks Cloud Computing Model ○ Infrastructure as a Software (IaaS) ○ Software solutions are more efficient Are flexible (only limited through software, is very fast to provision) Can change more quickly, easily, and cost-effectively than hardware Eliminate the undifferentiated heavy-lifting tasks Paying an expensive rental fee for Public cloud Private clouds still struggle with the same issues as Traditional Computing models Cloud Service Models ○ Infrastructure as a Service (IaaS) Good for Ops/DevOps Closer to traditional data center capabilities Can control network, servers, OS, apps, resources ○ Platform as a Service (PaaS) Good for Dev App & Version shopping cart Less IT knowledge needed No hardware, OS, network, and IT resources Apps are still configurable, with its versions and options ○ Software as a Service (Saas) Use the service No configurability on Hardware, OS, Network, and IT resources Only single version, user is subscribing to an already made application Cloud Computing Deployment Models ○ Public Cloud Rent / Pay-as-you-go / Pay-as-you-use Low CAPEX, High OPEX Global reach AWS, Google Cloud, and Microsoft Azure ○ Private Cloud Closer to a traditional data center Agility because of virtualization On-premises High CAPEX, Low OPEX Infrastructure as Hardware but with virtualization ○ Hybrid Cloud Mid CAPEX, Mid OPEX Uses both public and private Similarities between AWS and Traditional IT ○ Security Traditional: Firewalls, ACL, Administrator AWS: Security groups, Network ACLs, IAM (Identity and Access Management) ○ Networking Traditional: Router, Network Pipeline, Switch AWS: Elastic Load Balancing, Amazon VPC ○ Compute Traditional: on-premises servers AWS: AMI, Amazon EC2 instances ○ Storage and Database Traditional: DAS, SAN, NAS, RDMS AWS: Amazon EBS, Amazon EFS, Amazon S3, Amazon RDS Benefits of Cloud Computing ○ Trade Capital Expense for Variable Expense Traditional - Data center investment based on forecast Cloud Computing - Pay only for the amount you consume Trade high CAPEX for high OPEX ○ Massive Economies of Scale Because of aggregate usage from all customers, cloud can achieve higher economies of scale and pass savings on to customers. The more users that use their services, the lesser they sell their services, there more users can use the services ○ Stop guessing capacity Avoid overestimated and underestimated server capacity Ability to scale on demand ○ Increase speed at agility Traditional makes you wait for weeks between wanting and having resources Cloud has minutes between wanting and having resources through the click of a button ○ Stop spending money on running and maintaining data centers ○ Go global in minutes Less latency backup/redundancy