and subcomponents required for cloud computing. These components typically consist of: 1. Front-End and Back-End Platforms o Front-End Platform: ▪ This includes the client-side interfaces and applications that users interact with. It typically comprises web browsers, thin clients, or mobile applications that allow users to access cloud services. o Back-End Platform: ▪ This includes servers, storage systems, databases, and other infrastructure that powers cloud services. The back-end is responsible for providing the resources, processing power, and data storage required to deliver cloud services. 2. Cloud-Based Delivery Models o Infrastructure as a Service (IaaS): ▪ Provides virtualized computing resources over the internet. Users can rent virtual machines, storage, and networks. ▪ Example: Amazon Web Services (AWS) EC2. o Platform as a Service (PaaS): ▪ Provides a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining infrastructure. ▪ Example: Google App Engine. o Software as a Service (SaaS): ▪ Delivers software applications over the internet, typically on a subscription basis. Users can access the software without needing to install or maintain it. ▪ Example: Microsoft Office 365. 3. Service-Oriented Architecture (SOA) and Microservices o Service-Oriented Architecture (SOA): ▪ A design principle where software components (services) are provided to other components via a network, often using protocols like HTTP/HTTPS. ▪ Each service in SOA performs a specific function and communicates with other services through a well- defined interface. o Microservices: ▪ A variant of the SOA architectural style that structures an application as a collection of loosely coupled services. Each microservice focuses on a specific business function and can be developed, deployed, and scaled independently. ▪ Microservices offer greater flexibility and scalability compared to traditional monolithic architectures. Virtualization in Cloud Computing Virtualization is a fundamental technology for cloud computing, allowing multiple virtual environments to run on a single physical hardware system. 1. Role of Virtualization in Cloud Computing o Virtualization enables the abstraction of physical hardware resources into virtual resources, allowing for better utilization and management of these resources. o It allows multiple operating systems and applications to run on a single physical machine, reducing costs and increasing efficiency. o Virtualization also provides scalability, flexibility, and easier disaster recovery in cloud environments. 2. Types of Virtualization o Server Virtualization: ▪ Involves partitioning a physical server into multiple virtual servers, each running its own operating system and applications. ▪ Example: VMware ESXi, Microsoft Hyper-V. o Storage Virtualization: ▪ Abstracts physical storage resources into a single, manageable virtual storage pool. This allows for easier storage management and allocation. ▪ Example: SAN (Storage Area Network) and NAS (Network Attached Storage). o Network Virtualization: ▪ Combines hardware (switches, routers) and software network resources into a single, virtualized network entity. It allows for network configuration and management via software. ▪ Example: Software-defined networking (SDN), Virtual LANs (VLANs). 3. Virtualization Technologies o Hypervisors: ▪ A hypervisor is software that creates and runs virtual machines. It allows multiple operating systems to share a single hardware host. ▪ Type 1 Hypervisor (Bare-Metal Hypervisor): ▪ Runs directly on the physical hardware. Examples: VMware ESXi, Microsoft Hyper-V. ▪ Type 2 Hypervisor (Hosted Hypervisor): ▪ Runs on a conventional operating system. Examples: VMware Workstation, Oracle VirtualBox. o Containers: ▪ A lightweight form of virtualization that packages an application and its dependencies together. Containers share the host system’s OS kernel but run in isolated environments. ▪ Example: Docker, Kubernetes.