Course Objectives:
To explain the evolving utility computing model called cloud computing
To introduce the various levels of services offered by cloud
To discuss the fundamentals of cloud enabling technologies such as distributed computing,
service-oriented architecture and virtualization
To emphasize the security and other challenges in cloud computing
To introduce the advanced concepts such as containers, server less computing and cloud-
centric Internet of Things
Course Outcomes:
Explain cloud computing concepts, service models, deployment models, and major
cloud service providers.
Analyze enabling technologies
Implement virtualized environments and container-based solutions
Evaluate cloud challenges and security solutions
Apply advanced cloud concepts
UNIT I
Introduction to Cloud Computing Fundamentals: Cloud computing at a glance, defining a cloud, cloud computing reference model, types of services (IaaS, PaaS, SaaS), cloud deployment models (public, private, hybrid), utility computing, cloud computing characteristics and benefits, cloud service providers (Amazon Web Services, Microsoft Azure, Google App Engine).
UNIT II
Cloud Enabling Technologies: Ubiquitous Internet, parallel and distributed computing, elements of parallel computing, hardware architectures for parallel computing (SISD, SIMD, MISD, MIMD), elements of distributed computing, Inter-process communication, technologies for distributed computing, remote procedure calls (RPC), service-oriented architecture (SOA), Web services, virtualization.
UNIT III
Virtualization and Containers: Characteristics of virtualized environments, taxonomy of virtualization techniques, virtualization and cloud Computing, pros and cons of virtualization, technology examples (XEN, VMware), building blocks of containers, container platforms (LXC, Docker), container orchestration, Docker Swarm and Kubernetes, public cloud VM (e.g. AmazonEC2) and container (e.g. Amazon Elastic Container Service) offerings.
UNIT IV
Cloud computing challenges: Economics of the cloud, cloud interoperability and standards, scalability and fault tolerance, energy efficiency in clouds, federated clouds, cloud computing security, fundamentals of computer security, cloud security architecture, cloud shared responsibility model, security in cloud deployment models.
UNIT V
Advanced concepts in cloud computing: Serverless computing, Function-as-a-Service, serverless computing architecture, public cloud (e.g.AWSLambda) and open-source (e.g.OpenFaaS) serverless platforms, Internet of Things (IoT), applications, cloud-centric IoT and layers, edge and fog computing, DevOps, infrastructure-as-code, quantum cloud computing
TEXT BOOKS
1. Mastering Cloud Computing, 2nd edition, Rajkumar Buyya, Christian Vecchiola, Thamarai Selvi, Shivananda Poojara, Satish N. Srirama, McGraw Hill, 2024.
2. Distributed and Cloud Computing, Kai Hwang, Geoffery C. Fox, Jack J. Dongarra, Elsevier,2012.
REFERENCE BOOKS
1. Cloud Computing, Theory and Practice, DanCMarinescu, 2nd edition, MK Elsevier, 2018.
2. Essentials of cloud Computing, K.Chandrasekhran, CRC press,2014.
3. Online documentation and tutorials from cloud service providers (e.g.,AWS,Azure,GCP)
WEB RESOURCES
1. https://onlinecourses.nptel.ac.in/noc21_cs14/preview
2. https://onlinecourses.nptel.ac.in/noc22_cs18/preview
3. https://www.coursera.org/learn/introduction-to-cloud
4. https://www.coursera.org/learn/gcp-fundamentals
UNIT-WISE OVERVIEW
UNIT I: Introduction to Cloud Computing Fundamentals
"What is" ,"Why" Cloud => definitions and the business case for cloud computing.
• Reference Model: Understanding the abstraction layers.
• Service Models (The Pyramid):
o IaaS (Infrastructure as a Service): Renting raw hardware/servers (e.g., AWS EC2).
o PaaS (Platform as a Service): Renting tools to build apps (e.g., Google App Engine).
o SaaS (Software as a Service): Renting finished software (e.g., Gmail, Salesforce).
• Deployment Models: Public (AWS), Private (Company data center), Hybrid (Mix).
• Utility Computing: The concept of paying for computing like you pay for electricity (pay-as-you-go).
UNIT II: Cloud Enabling Technologies
"How" => Pre-Cloud History
Cloud didn't appear out of nowhere; it evolved from these technologies.
• Parallel Computing & Flynn’s Taxonomy: How computers process data simultaneously.
o SISD: Single Instruction, Single Data (Standard PC).
o SIMD: Single Instruction, Multiple Data (Graphics cards).
o MISD: Multiple Instruction, Single Data (Fault tolerance).
o MIMD: Multiple Instruction, Multiple Data (Modern supercomputers).
• Distributed Computing: Connecting multiple computers to act as one (RPC, Inter-process communication).
• SOA (Service-Oriented Architecture): The architectural predecessor to microservices; allowing services to talk to each other via Web Services.
UNIT III: Virtualization and Containers
"Engine" of the Cloud => distinguishes between heavy Virtual Machines and lightweight Containers.
Be able to draw the architectural difference between a Virtual Machine and a Container
• Virtualization (Hypervisors):
o Type 1 (Bare Metal): Runs directly on hardware (VMware ESXi, Xen).
o Type 2 (Hosted): Runs on an OS (VMware Workstation, VirtualBox).
• Containers (Docker): Unlike VMs, containers share the host OS kernel, making them faster and lighter.
• Orchestration (Kubernetes/Docker Swarm): Managing thousands of containers automatically (scaling up/down, healing crashes).
UNIT IV: Cloud Computing Challenges
Risks and Operations= >Moving to the cloud isn't perfect => covers the hurdles.
• Economics: CAPEX (Capital Expenditure - buying servers) vs. OPEX (Operating Expenditure - renting cloud).
• Scalability vs. Fault Tolerance: The ability to grow effortlessly vs. the ability to survive hardware failures.
• Security & The Shared Responsibility Model:
o Cloud Provider: Responsible for security of the cloud (hardware, network).
o Customer: Responsible for security in the cloud (data, passwords, permissions).
UNIT V: Advanced Concepts
Future & Niche =>Where the industry is heading right now.
Understand the difference between Edge Computing and Cloud Computing regarding latency and bandwidth.
• Serverless (FaaS): You write code (functions), and the cloud provider handles everything else (e.g., AWS Lambda). You pay only when the code runs (down to the millisecond).
• IoT & Edge/Fog: Processing data closer to where it is generated (Edge) rather than sending it all to a central cloud, to reduce latency.
• DevOps & IaC: Using code to manage infrastructure (Infrastructure as Code), bridging the gap between developers and operations.
UNIT-I: Introduction to Cloud Computing Fundamentals
1. Define Cloud Computing.
Ans: Cloud computing is the on-demand delivery of IT resources (compute, storage, database) over the Internet with pay-as-you-go pricing. It allows users to access technology services without managing physical infrastructure.
2. What is Utility Computing?
Ans: Utility computing is a service provisioning model where the service provider makes computing resources available to the customer and charges them based on actual usage (like electricity or water metering).
3. Differentiate between Public and Private Cloud.
Ans: Public Cloud is open to the general public and owned by a service provider (e.g., AWS). Private Cloud is used exclusively by a single organization and can be hosted on-premise or by a third party.
4. Define IaaS (Infrastructure as a Service).
Ans: IaaS provides virtualized computing resources over the internet. Users rent raw servers, storage, and networking. Example: Amazon EC2, Google Compute Engine.
5. Define PaaS (Platform as a Service).
Ans: PaaS provides a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure. Example: Google App Engine, Heroku.
6. Define SaaS (Software as a Service).
Ans: SaaS delivers software applications over the internet on a subscription basis. The software is managed entirely by the provider. Example: Gmail, Salesforce, Dropbox.
7. What is a Hybrid Cloud?
Ans: Hybrid Cloud is a computing environment that connects a public cloud and a private cloud (on-premise data center), allowing data and applications to be shared between them.
8. List four key characteristics of Cloud Computing.
Ans: On-demand self-service, Broad network access, Resource pooling, and Rapid elasticity.
9. What is the Cloud Computing Reference Model?
Ans: It is an abstract framework that divides cloud computing into layers (Physical, Virtual, Control, and Service layers) to standardize the functions and activities involved in cloud computing.
10. Name three major Cloud Service Providers (CSPs).
Ans: Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP).
UNIT-II: Cloud Enabling Technologies
1. Define Parallel Computing.
Ans: Parallel computing is the simultaneous use of multiple compute resources (like multiple processors) to solve a computational problem by breaking it into smaller discrete parts that can be solved concurrently.
2. Define Distributed Computing.
Ans: Distributed computing is a field where components of a software system are shared among multiple computers to improve efficiency and performance, communicating via a network to achieve a common goal.
3. What is SISD in Flynn’s Taxonomy?
Ans: Single Instruction, Single Data (SISD) is a computer architecture where a single processor executes a single instruction stream to operate on data stored in a single memory. (Standard traditional PC).
4. What is MIMD?
Ans: Multiple Instruction, Multiple Data (MIMD) is a technique where multiple autonomous processors simultaneously execute different instructions on different data.
5. What is SIMD?
Ans: Single Instruction, Multiple Data (SIMD) describes computers with multiple processing elements that perform the same operation on multiple data points simultaneously (common in Graphics Processing Units).
6. What is RPC (Remote Procedure Call)?
Ans: RPC is a protocol that one program can use to request a service from a program located in another computer on a network without having to understand the network's details.
7. Define Service-Oriented Architecture (SOA).
Ans: SOA is an architectural style where software components are designed as reusable services that communicate with each other over a network using a standard protocol (usually Web Services).
8. What are Web Services?
Ans: A Web Service is a software system designed to support interoperable machine-to-machine interaction over a network, typically using HTTP, XML, or JSON.
9. What is Inter-Process Communication (IPC)?
Ans: IPC refers to the mechanisms an operating system provides to allow the processes to manage shared data. Ideally, it allows processes to communicate and synchronize their actions.
10. What is "Ubiquitous Internet"?
Ans: It refers to the concept where internet connectivity is available everywhere and anywhere, enabling devices to connect to the cloud from any location, which is a fundamental requirement for Cloud Computing.
UNIT-III: Virtualization and Containers
1. Define Virtualization.
Ans: Virtualization is the process of creating a software-based (or virtual) representation of something, such as virtual applications, servers, storage, and networks, rather than a physical one.
2. What is a Hypervisor?
Ans: A Hypervisor (or Virtual Machine Monitor) is software that creates and runs virtual machines. It isolates the hypervisor operating system and resources from the virtual machines.
3. Differentiate between Type 1 and Type 2 Hypervisors.
Ans: Type 1 (Bare Metal) runs directly on the hardware (e.g., VMware ESXi). Type 2 (Hosted) runs as an application on top of an existing OS (e.g., VirtualBox).
4. What is a Container?
Ans: A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another.
5. List two main differences between a VM and a Container.
Ans: 1) VMs virtualize the hardware, while containers virtualize the Operating System. 2) Containers are lightweight (MBs) and start fast; VMs are heavy (GBs) and start slow.
6. What is Docker?
Ans: Docker is an open-source platform that enables developers to automate the deployment of applications inside lightweight, portable containers.
7. What is Kubernetes?
Ans: Kubernetes is an open-source container orchestration platform that automates many of the manual processes involved in deploying, managing, and scaling containerized applications.
8. Define Container Orchestration.
Ans: It is the automated management of the lifecycle of containers, including provisioning, deployment, scaling, networking, and load balancing (e.g., Docker Swarm, Kubernetes).
9. Give two examples of Virtualization Technologies.
Ans: XEN, VMware, KVM (Kernel-based Virtual Machine), and Microsoft Hyper-V.
10. What is Amazon EC2?
Ans: Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides secure, resizable compute capacity in the cloud. It is a classic example of an IaaS/Virtual Machine offering.
UNIT-IV: Cloud Computing Challenges
1. Define Scalability in Cloud Computing.
Ans: Scalability is the ability of a system to handle a growing amount of work by adding resources to the system (Vertical Scaling - adding power, or Horizontal Scaling - adding more machines).
2. What is Fault Tolerance?
Ans: Fault tolerance is the ability of a system (cloud infrastructure) to continue operating without interruption when one or more of its components fail.
3. Explain the concept of CAPEX vs. OPEX.
Ans: CAPEX (Capital Expenditure) is the upfront cost of buying hardware. OPEX (Operating Expenditure) is the ongoing cost of running services (pay-as-you-go). Cloud shifts costs from CAPEX to OPEX.
4. What is the "Shared Responsibility Model"?
Ans: A security framework that dictates that the Cloud Provider is responsible for security of the cloud (hardware/network), while the Customer is responsible for security in the cloud (data/access management).
5. What is Cloud Interoperability?
Ans: It is the ability of different cloud services and platforms to work together and exchange information, allowing users to move data and applications between different cloud providers easily.
6. Define Federated Cloud.
Ans: Cloud federation is the deployment and management of multiple external and internal cloud computing services to match business needs, essentially a "cloud of clouds."
7. What is the main security risk in a Public Cloud?
Ans: Multi-tenancy: Since multiple users share the same physical hardware, there is a risk that a vulnerability in the isolation layer could allow one tenant to access another's data.
8. Why is Energy Efficiency a challenge in Cloud?
Ans: Data centers consume massive amounts of electricity for cooling and operation. Improving energy efficiency is critical to reduce environmental impact and operational costs.
9. What is Vendor Lock-in?
Ans: A situation where a customer becomes dependent on a cloud provider for products and services and cannot easily switch to another vendor without substantial costs or technical difficulty.
10. What is Cloud Security Architecture?
Ans: It is the collection of hardware, software, controls, and policies designed to protect data, applications, and infrastructure within the cloud environment.
UNIT-V: Advanced Concepts
1. Define Serverless Computing.
Ans: A cloud execution model where the cloud provider dynamically manages the allocation of machine resources. The user writes code, and the provider handles the servers (e.g., AWS Lambda).
2. What is FaaS (Function-as-a-Service)?
Ans: FaaS is a category of cloud computing services that provides a platform allowing customers to develop, run, and manage application functionalities (functions) without building an application structure.
3. What is AWS Lambda?
Ans: AWS Lambda is a serverless compute service that runs your code in response to events and automatically manages the underlying compute resources for you.
4. Define Internet of Things (IoT).
Ans: IoT refers to the network of physical objects ("things") embedded with sensors, software, and other technologies to connect and exchange data with other devices and systems over the internet.
5. Differentiate between Edge Computing and Fog Computing.
Ans: Edge Computing processes data on the device itself or very close to it. Fog Computing processes data on the local network (LAN) level, acting as a bridge between the Edge and the Cloud.
6. What is Infrastructure-as-Code (IaC)?
Ans: IaC is the managing and provisioning of computer data centers through machine-readable definition files (code) rather than physical hardware configuration or interactive configuration tools.
7. What is DevOps?
Ans: DevOps is a set of practices that combines software development (Dev) and IT operations (Ops) to shorten the systems development life cycle and provide continuous delivery with high software quality.
8. What is OpenFaaS?
Ans: OpenFaaS (Function as a Service) is an open-source framework for building serverless functions with Docker and Kubernetes.
9. What is Quantum Cloud Computing?
Ans: It is the use of quantum computers (which use quantum bits or qubits) accessed via the cloud, allowing users to run complex algorithms that classical supercomputers cannot handle.
10. List the layers of Cloud-centric IoT Architecture.
Ans: Typically: 1. Perception Layer (Sensors), 2. Network Layer (Transmission), 3. Middleware/Processing Layer (Fog/Cloud), 4. Application Layer (User Interface).