2.2 Virtualization and Cloud Computing Concepts

Cloud Models

IaaS = infrastructure as a service - you will be managing the system, data security, software installation - cloud service only provides the hardware for you

SaaS = software as a service - on demand software you simply login and use - no need to maintain the application or installation

PaaS = platform as a service - no servers, no software, no maintenance - usually hosted with a third party, they give you the building blocks

XaaS = anything as a service - any type of sevice provided in cloud - pay for what you're using

Edge and Fog Computing

Edge computing = practice of processing data as close as possible to the location where it is generated or needed - it pushes computational resources and data storage closer to the "edge" of the network, which can be IoT devices, sensors, or user devices. - no latency, no network requirement - increased speed and performance, process where the data is, instead of processing in the cloud - by processing data locally, it minimizes the delay caused by sending data to a centralized data center or cloud server - used in systems where log latency is crucial

Fog computing = an extension of edge computing that adds a layer of computing resources and intelligence between edge devices and centralized cloud data centers. The "fog" represents the intermediate layer - edge devices send data to nearby fog nodes, which can be gateways or small data centers - preprocess data, perform analytics, and make decisions locally - filter and process data before forwarding relevant information to the cloud


Designing the Cloud

Virtualization = running many different operating systems on the same hardware - each application instance has its own operating system - adds overhead and complexity

Application containerization container = contains everything you need to run an application - isolated process in a sandbox - lightweight, uses the host kernel - secure separation between applications

Monolithic application = each component and its associated components must all be present for code to be executed or compiled and for the software to run - multiple components are combined into one large application - application contains all decision making process like user interface, busines logic, data input/output

Microservice architecture = uses APIs which breaks down one single service into many different microservices - scalable, resilient, higher security

Serverless architecture = an approach to software that allows developers to build and run services without having to manage the underlying infrastructure - applications are separated into individual, autonomous functions - removes the operating system from the equation

Transit gateway = router in cloud which connects multiple VPCs (virtual private cloud) together


Infrastructure as Code

IaC is an approach to managing and provisioning computing infrastructure through code and automation scripts, rather than manual configurations. e.g. Terraform, AWS CloudFormation

Software defined networks = innovative approach to network management that uses software-based controllers or application programming interfaces (APIs) to communicate with the underlying hardware infrastructure and direct traffic on the network. - SDN separates the control plane (manages traffic) from the data plane (forwards traffic), enabling dynamic and programmable network management

Last updated

Was this helpful?