BIT408 · TU past paper
Cloud Computing 2082 question paper
The complete TU 2082 exam paper for Cloud Computing (BIT408), all 12 questions with solved model answers written to the mark scheme.
Tap a question to open its answer.
- 110 marksCharacteristics and challenges of serverleHideAnswer
What is server less computing? How FAAS works? What are the characteristics and challenges of cloud computing?[10]
Model Answer: Serverless Computing, FaaS, and Cloud Computing
1. Serverless Computing
Definition: Serverless computing is a cloud computing execution model where the cloud provider dynamically manages the allocation and provisioning of servers. Developers write and deploy code without worrying about underlying infrastructure, server management, or capacity planning.
Key Concept: Despite the name "serverless," servers still exist, but they are abstracted away from the developer. The cloud provider handles all infrastructure concerns.
2. How FaaS (Function as a Service) Works
FaaS is the primary serverless computing model. The workflow operates as follows:
Process Flow:
-
Code Deployment: Developer writes a function (small, single-purpose code unit) and uploads it to the FaaS platform
-
Event Triggering: Functions are triggered by events such as:
- HTTP requests
- Database changes
- File uploads
- Timer/scheduled events
- Message queue events
-
Automatic Scaling: When an event occurs:
- The platform automatically provisions resources
- The function executes in a container
- Resources scale up/down based on demand
-
Execution & Response: Function runs, processes the event, and returns results
-
Resource Release: After execution completes, resources are released immediately
Example: AWS Lambda, Google Cloud Functions, Azure Functions
3. Characteristics of Cloud Computing
Characteristic Description On-Demand Self-Service Users provision resources without human intervention Broad Network Access Services accessible via standard protocols (HTTP, HTTPS) Resource Pooling Provider's resources shared among multiple users; resources dynamically allocated Rapid Elasticity Resources scale quickly up or down based on demand Measured Service Resource usage monitored, controlled, and billed transparently Cost Efficiency Pay-as-you-go model; no upfront capital investment Accessibility Available 24/7 from anywhere with internet connection Reliability & Redundancy Built-in backup and disaster recovery mechanisms
4. Challenges of Cloud Computing
Challenge Description Security & Privacy Data stored on third-party servers; risk of unauthorized access, data breaches, compliance issues (GDPR, etc.) Vendor Lock-in Difficult to migrate from one provider to another; proprietary tools and formats Downtime & Availability Service outages can disrupt business; dependent on provider's infrastructure Network Latency Internet-dependent; slower performance compared to local systems Data Compliance Meeting regulatory requirements across different jurisdictions Cost Management Unpredictable billing; costs can escalate with increased usage Limited Control Users have limited control over infrastructure and underlying systems Skill Gap Requires specialized knowledge for cloud platform management Integration Issues Integrating cloud services with existing on-premise systems can be complex Performance Variability Shared resources may cause performance fluctuations -
- 210 marksDefinition and characteristics of virtualiHideAnswer
Define virtualization. What is the significance of virtualization in cloud computing? How VMware and hypervisor work?[10]
Model Answer: Virtualization in Cloud Computing
1. Definition of Virtualization
Virtualization is a technology that allows the creation of multiple virtual instances (virtual machines, virtual servers, virtual storage, etc.) from a single physical hardware resource. It abstracts the physical hardware layer and presents logical or virtual computing resources to users and applications, enabling multiple operating systems and applications to run simultaneously on a single physical machine while remaining isolated from each other.
2. Significance of Virtualization in Cloud Computing
Virtualization is fundamental to cloud computing for the following reasons:
a) Resource Optimization
- Maximizes utilization of physical hardware by running multiple VMs on a single server
- Reduces idle time and improves overall system efficiency
- Lowers hardware costs by consolidating workloads
b) Scalability and Flexibility
- Enables dynamic allocation of resources based on demand
- Allows rapid provisioning and deployment of new virtual machines
- Supports elastic scaling up or down as needed
c) Cost Reduction
- Decreases capital expenditure (CapEx) on physical infrastructure
- Reduces operational expenditure (OpEx) through efficient resource management
- Minimizes energy consumption and cooling requirements
d) Isolation and Security
- Provides logical isolation between virtual machines
- Prevents one VM from directly accessing another's resources
- Enhances security by containing failures and threats
e) High Availability and Disaster Recovery
- Enables easy migration of VMs between physical servers
- Supports backup and recovery mechanisms
- Reduces downtime through redundancy
f) Multi-tenancy
- Allows multiple users/organizations to share the same physical infrastructure
- Each tenant operates independently with dedicated virtual resources
- Foundation for cloud service delivery models (IaaS, PaaS, SaaS)
3. How VMware and Hypervisor Work
a) Hypervisor: Definition and Role
A hypervisor (also called Virtual Machine Monitor or VMM) is software that creates and manages virtual machines. It sits between the physical hardware and virtual machines, controlling hardware access and resource allocation.
Types of Hypervisors:
- Type 1 (Bare-metal): Runs directly on physical hardware (e.g., VMware ESXi, Hyper-V)
- Type 2 (Hosted): Runs on top of a host operating system (e.g., VMware Workstation, VirtualBox)
b) How Hypervisor Works
-
Hardware Abstraction: The hypervisor abstracts physical hardware resources (CPU, memory, disk, network) and presents them as virtual resources to guest operating systems
-
Resource Allocation: Allocates and manages physical resources among multiple VMs based on configuration and demand
-
VM Isolation: Maintains isolation between VMs so they operate independently without interfering with each other
-
Instruction Translation: Intercepts and translates privileged instructions from guest OS to ensure safe execution
-
I/O Management: Manages input/output operations and device access for all virtual machines
c) How VMware Works
VMware is a virtualization platform that uses hypervisor technology:
-
VMware ESXi (Type 1 Hypervisor):
- Installed directly on physical server hardware
- Manages multiple guest VMs
- Provides direct hardware access for better performance
-
Resource Management:
- Allocates CPU cores, memory, and storage to each VM
- Dynamically adjusts resources based on VM requirements
- Implements scheduling algorithms for fair resource distribution
-
VM Operations:
- Creation: Defines VM specifications (vCPU, RAM, disk)
- Execution: Runs multiple VMs concurrently
- Migration: Moves VMs between physical servers (vMotion)
- Monitoring: Tracks performance and resource utilization
-
Key Features:
- vMotion: Live migration of running VMs without downtime
- High Availability: Automatic restart of failed VMs
- Resource Pools: Groups VMs and allocates shared resources
- Snapshots: Creates point-in-time copies of VM state
Summary Diagram
Physical Hardware (CPU, Memory, Disk, Network) | v [Hypervisor Layer] | | | | v v v v VM1 VM2 VM3 VM4 (OS) (OS) (OS) (OS)This architecture enables cloud providers to deliver Infrastructure-as-a-Service (IaaS) by efficiently managing and allocating virtualized resources to multiple tenants.
- 310 marksThread programming in cloudHideAnswer
What is thread programming? How can map reducing is used in cloud programming model? Support your answer with suitable example.[10]
Model Answer: Thread Programming and MapReduce in Cloud Computing
Part 1: Thread Programming (3-4 marks)
Definition
Thread programming is a concurrent programming model where multiple threads of execution run within a single process, sharing the same memory space and resources. A thread is the smallest unit of execution that can be scheduled independently by the operating system.
Key Characteristics
- Lightweight: Threads are lighter than processes; creating and context-switching between threads is faster
- Shared Memory: All threads within a process share the same heap and global variables
- Independent Execution: Each thread has its own stack, program counter, and local variables
- Concurrent Execution: Multiple threads can execute simultaneously on multi-core systems
Basic Thread Operations
- Thread Creation: Instantiate and start a new thread
- Thread Synchronization: Use locks, semaphores, and monitors to coordinate access to shared resources
- Thread Termination: Gracefully end thread execution
- Thread Communication: Exchange data between threads safely
Advantages
- Improved responsiveness and interactivity
- Better resource utilization
- Simplified program structure for concurrent tasks
Part 2: MapReduce in Cloud Programming Model (5-6 marks)
What is MapReduce?
MapReduce is a distributed computing framework for processing large datasets across clusters of computers in a cloud environment. It follows a divide-and-conquer approach with two main phases: Map and Reduce.
How MapReduce Works
Phase 1: Map Phase
- Input data is divided into independent chunks
- Each chunk is processed by a mapper function in parallel
- Mapper transforms input into intermediate key-value pairs:
(key, value) - Output:
List<(key, value)>
Phase 2: Reduce Phase
- Intermediate key-value pairs are grouped by key
- All values for the same key are sent to a single reducer
- Reducer aggregates/combines values for each key
- Output: Final result
List<(key, final_value)>
Advantages in Cloud Computing
- Scalability: Processes petabytes of data across thousands of nodes
- Fault Tolerance: Automatic re-execution of failed tasks
- Data Locality: Computation moves to data, reducing network traffic
- Parallelism: Massive parallel processing capability
Practical Example: Word Count
Problem
Count the frequency of each word in a large collection of documents.
Solution Using MapReduce
Input Data:
Document 1: "cloud computing cloud" Document 2: "cloud programming" Document 3: "computing programming"Map Phase:
Mapper 1 processes Doc 1: Input: "cloud computing cloud" Output: (cloud, 1), (computing, 1), (cloud, 1) Mapper 2 processes Doc 2: Input: "cloud programming" Output: (cloud, 1), (programming, 1) Mapper 3 processes Doc 3: Input: "computing programming" Output: (computing, 1), (programming, 1)Shuffle and Sort Phase:
(cloud, [1, 1, 1]) (computing, [1, 1]) (programming, [1, 1])Reduce Phase:
Reducer 1: (cloud, [1, 1, 1]) → (cloud, 3) Reducer 2: (computing, [1, 1]) → (computing, 2) Reducer 3: (programming, [1, 1]) → (programming, 2)Final Output:
cloud: 3 computing: 2 programming: 2Why MapReduce is Effective Here
- Large documents are processed in parallel by multiple mappers
- Network traffic is minimized by processing data locally
- Reducers efficiently aggregate counts across the entire dataset
- Fault tolerance ensures completion even if nodes fail
Conclusion
Thread programming enables concurrent execution within a single process, while MapReduce provides a distributed framework for processing massive datasets across cloud clusters. Together, they represent different levels of parallelism: thread-level (within a machine) and data-level (across machines).
- 45 marksCloud computing vs fog computingHideAnswer
Differentiate Grid Computing from Fog Computing. [5]
Definition: Grid computing is a distributed computing model where geographically dispersed computers (nodes) are connected via networks to work together as a unified system to solve large-scale computational problems. Key Characteristics...
- 55 marksHideAnswer
Discuss cloud deployment models. [5]
Cloud deployment models refer to the different ways cloud computing services can be deployed and made available to users. There are four primary deployment models: - Services are provided over the internet and made available to the gener...
- 65 marksServer virtualizationHideAnswer
How server and storage virtualization can be done? [5]
Server virtualization involves running multiple virtual servers (VMs) on a single physical server. It can be done through: - Install a hypervisor (Type 1 or Type 2) on the physical server - The hypervisor abstracts hardware resources (CP...
- 75 marksWeb services development using SOAP and REHideAnswer
How web services can be developed using SOAP and REST? [5]
Web services are software systems designed to support interoperable machine-to-machine interaction over a network. Two primary architectural approaches for developing web services are SOAP and REST. --- SOAP (Simple Object Access Protoco...
- 85 marksCloud availability mechanismsHideAnswer
How cloud availability and disaster recovery is done in cloud computing? [5]
Model Answer: Cloud Availability and Disaster Recovery
Cloud Availability
Definition: Cloud availability refers to the ability of cloud services to remain accessible and operational with minimal downtime.
Key Mechanisms:
-
Redundancy
- Multiple copies of data and services distributed across different servers
- Ensures service continuity if one component fails
- Reduces single points of failure
-
Load Balancing
- Distributes incoming requests across multiple servers
- Prevents any single server from becoming overloaded
- Automatically routes traffic away from failed nodes
-
Geographic Distribution
- Services deployed across multiple data centers in different locations
- Protects against regional outages or disasters
- Reduces latency for geographically dispersed users
-
Service Level Agreements (SLAs)
- Cloud providers guarantee uptime percentages (e.g., 99.9%, 99.99%)
- Defines compensation if availability targets are not met
Disaster Recovery
Definition: Disaster recovery is the process of restoring cloud services and data after catastrophic failures or disasters.
Key Strategies:
-
Data Backup
- Regular automated backups stored in geographically separate locations
- Multiple backup copies maintained for data protection
- Enables data restoration in case of loss or corruption
-
Replication
- Real-time or near-real-time copying of data to secondary sites
- Synchronous replication (immediate) or asynchronous replication (delayed)
- Ensures minimal data loss (Recovery Point Objective - RPO)
-
Failover Mechanisms
- Automatic switching to backup systems when primary systems fail
- Reduces Recovery Time Objective (RTO)
- Can be manual or automatic depending on configuration
-
Business Continuity Planning
- Documented procedures for recovery operations
- Regular testing and drills to ensure effectiveness
- Clear roles and responsibilities defined
Conclusion: Together, cloud availability and disaster recovery ensure business continuity, data protection, and minimal service interruption in cloud computing environments.
-
- 95 marksCloud security architecture designHideAnswer
Explain cloud security architecture. [5]
Cloud Security Architecture
Definition
Cloud security architecture is a comprehensive framework of policies, technologies, and controls designed to protect data, applications, and infrastructure in cloud computing environments. It addresses security at multiple layers and across the entire cloud service delivery model.
Key Components of Cloud Security Architecture
1. Identity and Access Management (IAM)
- Controls who can access cloud resources and what they can do
- Implements authentication (verifying user identity) and authorization (granting permissions)
- Uses role-based access control (RBAC) and multi-factor authentication (MFA)
2. Data Security
- Encryption in transit: Protects data moving between client and cloud servers (SSL/TLS protocols)
- Encryption at rest: Protects stored data using encryption algorithms
- Data classification: Categorizing data by sensitivity level
- Data loss prevention (DLP): Monitoring and preventing unauthorized data transfer
3. Network Security
- Firewalls and intrusion detection/prevention systems (IDS/IPS)
- Virtual Private Networks (VPNs) for secure communication
- Network segmentation and demilitarized zones (DMZ)
- DDoS protection mechanisms
4. Application Security
- Secure coding practices and code review
- Web application firewalls (WAF)
- Vulnerability scanning and penetration testing
- Patch management and regular updates
5. Compliance and Governance
- Adherence to regulatory standards (GDPR, HIPAA, ISO 27001)
- Audit logging and monitoring
- Security policies and procedures
- Regular security assessments and certifications
6. Physical Security
- Data center access controls
- Environmental monitoring
- Disaster recovery and business continuity planning
Layered Security Model
Cloud security follows a defense-in-depth approach with multiple overlapping security layers to ensure that if one layer is compromised, others provide continued protection.
- 105 marksIdentity management in cloudHideAnswer
How identity management and access control is done in cloud security? [5]
Identity management is the process of identifying, authenticating, and authorizing users and resources in cloud environments. It involves: 1. User Identification - Creating unique identities for each user, service, or application - Assig...
- 115 marksColumnar storage formatHideAnswer
How data is stored in columnar storage and row storage? [5]
Structure: - Data is stored row by row (horizontally) - All columns of a single row are stored contiguously in memory - Each complete record is stored together Example: Characteristics: - Entire row retrieved in one disk access - Efficie...
- 125 marksGraph database definition and applicationsHideAnswer
What is graph database? How graph processing is done? [5]
Model Answer: Graph Database and Graph Processing
What is a Graph Database?
A graph database is a specialized database management system designed to store, manage, and query data organized as graphs. It represents data as a collection of:
- Nodes (Vertices): Entities or objects in the system
- Edges (Relationships): Connections or relationships between nodes
- Properties: Attributes associated with nodes and edges
Graph databases are optimized for traversing relationships and are particularly effective for data with complex interconnections, such as social networks, recommendation systems, knowledge graphs, and organizational hierarchies.
Key Characteristics:
- Relationship-centric rather than table-centric
- Fast traversal of connections
- Efficient for highly connected data
- Support for complex queries involving multiple relationships
How Graph Processing is Done
Graph processing involves several key steps:
1. Graph Representation
- Data is modeled as nodes and edges
- Each node contains entity information
- Edges represent relationships with properties
2. Query Execution
- Queries traverse the graph structure
- Pattern matching identifies relevant subgraphs
- Algorithms compute results based on graph topology
3. Traversal Methods
- Depth-First Search (DFS): Explores deep into branches
- Breadth-First Search (BFS): Explores level by level
- Graph algorithms: Shortest path, centrality measures, clustering
4. Optimization
- Index structures for fast node/edge lookup
- Caching frequently accessed paths
- Query optimization to minimize traversals
5. Result Aggregation
- Collecting results from traversals
- Computing aggregates across matched patterns
- Returning structured results to users
Example Use Case: In a social network graph, finding "friends of friends" involves traversing two levels of edges from a starting node efficiently.