Cloud Computing Concepts and Technologies
Cloud Computing Concepts and Technologies
Chapter 1
2 Marks Questions
1. What is the innovative characteristic of Cloud computing?
o The most innovative feature of Cloud computing is on-
demand self-service. It allows users to automatically
provision computing resources like storage, servers, and
applications without needing human intervention from
the service provider. This makes the process fast, scalable,
and user-driven.
2. Which are the technologies that Cloud computing relies on?
o Cloud computing is built on multiple technologies such as:
▪ Virtualization: abstracts physical hardware.
▪ Service-Oriented Architecture (SOA): enables
modular service-based systems.
▪ Web 2.0: allows interactive and user-generated
content.
▪ Utility computing: metered usage model.
▪ Grid computing: pooling resources from multiple
locations.
3. Provide a brief characterization of a distributed system.
o A distributed system is a collection of independent
computers that work together as a single system. These
systems share resources, communicate over a network,
and coordinate to accomplish a common goal, appearing
as a single entity to the user.
4. Define Cloud computing and identify its core features.
o Cloud computing is the delivery of computing services
(like servers, storage, databases, networking, software)
over the Internet.
Core features include:
▪ On-demand self-service
▪ Broad network access
▪ Resource pooling
▪ Rapid elasticity
▪ Measured service (pay-per-use)
5. What are the major distributed computing technologies that
led to Cloud computing?
o Technologies include:
▪ Grid computing: parallel processing across
distributed resources.
▪ Cluster computing: multiple linked computers acting
as one.
▪ Utility computing: offering computing resources as
metered services.
▪ These formed the foundation for scalable, remote
computing in the cloud.
6. What is virtualization?
o Virtualization is a technology that allows you to run
multiple virtual machines on a single physical machine.
Each VM operates with its own OS and applications, which
improves hardware utilization, scalability, and flexibility.
7. What is the major revolution introduced by Web 2.0?
o Web 2.0 shifted the web from static content to dynamic,
user-driven platforms. Users could now interact, create,
and share content. This led to the rise of social media,
blogs, and collaborative tools.
8. Give some examples of Web 2.0 applications.
o Common Web 2.0 apps include:
▪ Facebook – social networking
▪ YouTube – video sharing
▪ Wikipedia – collaborative knowledge
▪ Twitter – microblogging
▪ Google Docs – real-time collaboration
9. Describe the main characteristics of service orientation.
o Characteristics include:
▪ Loose coupling: minimal dependencies between
services
▪ Reusability: services can be reused across
applications
▪ Discoverability: services can be easily found and
used
▪ Interoperability: services work across platforms and
languages
10 . What is utility computing?
• Utility computing provides computing resources as a metered
service, similar to traditional utilities like electricity or water.
Users pay only for what they use, which helps reduce cost and
optimize resource usage.
5 Marks Questions
[Link] the vision introduced by Cloud computing.
• Cloud computing envisions a world where computing resources
are available as a utility—easily accessible, scalable, and
affordable. Instead of managing hardware/software, businesses
can focus on innovation and agility. This model supports rapid
provisioning, cost-efficiency, and anywhere-access to resources,
changing how services are delivered and consumed globally.
[Link] summarize the Cloud computing reference model.
• The reference model includes:
o Service Models:
▪ IaaS (Infrastructure as a Service) – raw infrastructure
like VMs (e.g., AWS EC2)
▪ PaaS (Platform as a Service) – development
platforms (e.g., Google App Engine)
▪ SaaS (Software as a Service) – complete apps
delivered via browser (e.g., Gmail)
o Deployment Models:
▪ Public Cloud – available to the public (e.g., AWS,
Azure)
▪ Private Cloud – operated for one organization
▪ Hybrid Cloud – mix of public and private
▪ Community Cloud – shared by similar organizations
o Essential Characteristics:
▪ On-demand self-service, broad network access,
resource pooling, rapid elasticity, measured service
[Link] is the major advantage of Cloud computing?
• The biggest advantage is cost-efficiency. Cloud computing
eliminates the need for heavy upfront infrastructure costs.
Additional benefits include:
o Scalability: resources can scale up/down as needed
o Accessibility: services can be accessed anywhere via the
internet
o Reliability: high availability and disaster recovery
o Focus on Core Business: less time spent on IT
infrastructure
[Link] summarize the challenges still open in Cloud computing.
• Despite its benefits, cloud computing faces several challenges:
o Security and Privacy: data stored on third-party servers
may be vulnerable
o Data Compliance: adhering to global regulations like
GDPR
o Vendor Lock-in: difficult migration between providers
o Downtime: reliance on internet availability and cloud
service uptime
o Interoperability: challenges in integrating across different
platforms or clouds
[Link] does Cloud development differentiate from traditional
software development?
• Cloud development emphasizes agility, scalability, and
automation:
o Microservices vs Monoliths: cloud uses microservices for
modularity
o CI/CD Pipelines: faster development and deployment
o Serverless & Containers: no server management needed
o Global Deployment: deploy apps closer to users via CDNs
o Cost Model: pay-as-you-go vs fixed capital expenses in
traditional models
Chapter 2
2 Marks Questions
1. What is the difference between parallel and distributed
computing?
o Parallel computing involves multiple processors working
simultaneously on a common task in a tightly coupled
system (often sharing memory).
o Distributed computing involves multiple autonomous
systems connected via a network, working together but
having their own local memory.
2. Identify the reasons why parallel processing constitutes an
interesting option for computing.
o It enhances computational speed, improves system
performance, allows solving large and complex problems
faster, and makes efficient use of multicore systems.
3. What is a SIMD architecture?
o SIMD (Single Instruction, Multiple Data) is a parallel
computing architecture where a single instruction
operates on multiple data streams. It is used in vector
processing and GPUs for tasks like image processing.
4. List the major categories of parallel computing systems.
o Major categories include:
▪ Shared memory systems
▪ Distributed memory systems
▪ Hybrid systems
▪ Multicore and many-core architectures
5. Describe the different levels of parallelism that can be
obtained in a computing system.
o Levels include:
▪ Instruction-level parallelism (ILP): executing
multiple instructions per clock cycle
▪ Data parallelism: distributing data across different
processors
▪ Task parallelism: executing different tasks or threads
simultaneously
▪ Bit-level parallelism: processing multiple bits at
once
6. What is a distributed system? What are the components
characterizing it?
o A distributed system is a collection of independent
computers that appear as a single system to the user.
Components include:
▪ Nodes (independent machines)
▪ Middleware (communication layer)
▪ Network (connectivity)
▪ Services (offered to users/applications)
7. What is an architectural style and what is its role in the
context of a distributed system?
o An architectural style defines a set of principles or
patterns for system design.
In distributed systems, it guides component organization,
interaction, scalability, and fault tolerance (e.g., client-
server, peer-to-peer).
8. List the most important software architectural styles.
o Examples include:
▪ Layered architecture
▪ Client-server
▪ Event-driven
▪ Microservices
▪ Service-oriented architecture (SOA)
9. What are the fundamental system architectural styles?
o These include:
▪ Monolithic
▪ Layered
▪ Object-oriented
▪ Service-oriented
▪ Component-based
▪ Microkernel
[Link] is the most relevant abstraction for inter-process
communication in a distributed system?
• The most relevant abstraction is Remote Procedure Call (RPC),
which allows a program to cause a procedure to execute on
another machine as if it were local.
5 Marks Questions
11. Discuss the most important model for message-based
communication.
• Message Passing Model is the most important for distributed
systems. It involves processes communicating by sending and
receiving messages over a network.
Features:
o No shared memory
o Synchronous/asynchronous communication
o Reliability mechanisms
o Supports scalability and fault tolerance
Common implementations: Message Queue (MQ), MPI,
ZeroMQ.
12. Discuss RPC and how it enables inter-process
communication.
• Remote Procedure Call (RPC) allows a program to invoke a
function on a remote server as if it were local.
o Hides complexity of network communication
o Supports synchronous and asynchronous calls
o Enables distributed computing by abstracting low-level
details
o Components: client stub, server stub, and network
transport
o Examples: gRPC, Java RMI, XML-RPC
13. What is the difference between distributed objects and
RPC?
• RPC is procedural and focuses on invoking remote functions.
• Distributed objects encapsulate both data and behavior,
supporting object-oriented interactions.
o In distributed objects, communication happens through
method calls on remote objects.
o RPC is simpler; distributed objects support
polymorphism, encapsulation, and state retention.
14. What are object activation and lifetime? How do they
affect the consistency of state within a distributed system?
• Object activation refers to creating and initializing a distributed
object when a client accesses it.
• Object lifetime is the duration an object exists in memory and
is available.
o Improper management may lead to inconsistent state or
resource leakage.
o Techniques like persistent objects, garbage collection,
and state replication help maintain state consistency.
15. What are the most relevant technologies for distributed objects
programming?
Here are some key technologies:
1. CORBA (Common Object Request Broker Architecture)
o Language-agnostic object invocation using IDL.
o Allows interoperability across platforms and languages.
2. Java RMI (Remote Method Invocation)
o Native to Java, allows remote objects to be invoked
seamlessly.
o Supports object serialization, garbage collection.
3. .NET Remoting
o Framework for communication between .NET
applications.
o Replaced largely by WCF (Windows Communication
Foundation).
4. gRPC
o High-performance RPC framework by Google.
o Uses Protocol Buffers for serialization.
o Supports multiple languages (Go, Python, Java, etc.)
5. DCOM (Distributed COM)
o Microsoft's extension of COM for network-based object
communication.
o Deprecated in favor of modern web services.
6. ORB (Object Request Broker)
o Middleware component in CORBA to enable location
transparency.
Benefits of These Technologies:
• Help abstract network layers.
• Enable reuse of components across platforms.
• Support rich communication patterns.
16. Discuss CORBA.
CORBA (Common Object Request Broker Architecture) is a standard
defined by the OMG (Object Management Group) for enabling
communication between objects in a heterogeneous and distributed
environment.
• Core Concepts:
o Object Request Broker (ORB): Acts as middleware to
manage communication between client and server
objects.
o IDL (Interface Definition Language): Describes the
interfaces that CORBA objects present to the outside
world.
o Stubs and Skeletons: Automatically generated code for
sending/receiving messages.
• Features:
o Language Independence: Supports C++, Java, Python,
Ada, and more.
o Platform Independence: Clients and servers can run on
different operating systems.
o Dynamic Invocation Interface (DII): Enables clients to
construct requests at runtime.
o Naming and Trading Services: For object discovery and
advertisement.
• Advantages:
o Enables legacy systems to integrate with new ones.
o Promotes reuse and modular development.
• Limitations:
o Can be complex and heavyweight.
o Gradually replaced by lighter technologies like gRPC, REST,
and SOAP.
17. What is service-oriented computing?
Service-Oriented Computing (SOC) is a paradigm where applications
are designed as a collection of loosely coupled and interoperable
services.
• Core Principles:
o Modularity: Services are independent and self-contained.
o Interoperability: Different systems can work together
using common protocols.
o Reusability: Services are generic and can be reused across
applications.
o Discoverability: Services can be published and discovered
dynamically.
• Enabling Technologies:
o Web Services (SOAP, REST): Allow services to
communicate over HTTP.
o WSDL (Web Services Description Language): Describes
the service.
o UDDI (Universal Description, Discovery, and Integration):
Registry for services.
• Examples:
o Travel booking systems using external hotel, flight, and car
rental services.
o E-commerce platforms integrating with payment
gateways.
• Benefits:
o Faster time-to-market.
o Easier integration with external partners.
o Encourages agile and flexible system design.
18. What is market-oriented Cloud computing?
Market-Oriented Cloud Computing refers to the approach of
managing cloud resources based on economic and business models,
where services are treated as tradable commodities.
• Key Concepts:
o Service-Level Agreements (SLAs): Define the quality and
terms of service.
o Dynamic Pricing: Resources priced based on
supply/demand (e.g., AWS spot instances).
o Resource Allocation via Markets: Auctions, tenders, and
negotiations for compute/storage.
o QoS (Quality of Service) Guarantees: Ensures reliability,
availability, and performance.
• Components:
o Cloud Providers: Offer infrastructure and services (e.g.,
AWS, Azure).
o Cloud Consumers: Select and pay for services.
o Brokers: Match consumer needs with available services.
• Advantages:
o Optimal resource utilization.
o Promotes competition among providers.
o Aligns computing with business goals.
• Examples:
o Amazon EC2 Spot Instances.
o Google Cloud’s committed use discounts.
19. What is SOA (Service-Oriented Architecture)?
SOA is a software design pattern in which application components
provide services to other components via a communication protocol
over a network.
• Characteristics:
o Loose Coupling: Services maintain a relationship that
minimizes dependencies.
o Interoperability: Works across platforms and languages.
o Reusability: Common services can be reused in multiple
applications.
o Discoverability: Services can be published and located
dynamically.
• Core Components:
o Service Provider: Implements and publishes the service.
o Service Consumer: Uses the service.
o Service Registry: Directory for publishing and finding
services.
• Technologies:
o SOAP, REST, WSDL, UDDI
• Benefits:
o Easier integration across different systems.
o Better scalability and maintainability.
o Supports legacy system integration.
• Real-world Example:
o A bank’s loan approval service accessed by web portals,
mobile apps, and partner firms.
Chapter 3
1. What is virtualization and what are its benefits?
Virtualization is technology that you can use to create virtual
representations of servers, storage, networks, and other physical
machines. Virtual software mimics the functions of physical hardware
to run multiple virtual machines simultaneously on a single physical
machine. Businesses use virtualization to use their hardware
resources efficiently and get greater returns from their investment. It
also powers cloud computing services that help organizations
manage infrastructure more efficiently.
Benefits:
• Efficient resource use
Virtualization improves hardware resources used in your data
center. For example, instead of running one server on one
computer system, you can create a virtual server pool on the
same computer system by using and returning servers to the
pool as required. Having fewer underlying physical servers
frees up space in your data center and saves money on
electricity, generators, and cooling appliances.
• Automated IT management
Now that physical computers are virtual, you can manage
them by using software tools. Administrators create
deployment and configuration programs to define virtual
machine templates. You can duplicate your infrastructure
repeatedly and consistently and avoid error-prone manual
configurations.
• Faster disaster recovery
When events such as natural disasters or cyberattacks
negatively affect business operations, regaining access to IT
infrastructure and replacing or fixing a physical server can take
hours or even days. By contrast, the process takes minutes
with virtualized environments. This prompt response
significantly improves resiliency and facilitates business
continuity so that operations can continue as scheduled.
• Server virtualization
Server virtualization is a process that partitions a physical server
into multiple virtual servers. It is an efficient and cost-effective
way to use server resources and deploy IT services in an
organization. Without server virtualization, physical servers use
only a small amount of their processing capacities, which leave
devices idle.
• Storage virtualization
Storage virtualization combines the functions of physical
storage devices such as network attached storage (NAS) and
storage area network (SAN). You can pool the storage hardware
in your data center, even if it is from different vendors or of
different types. Storage virtualization uses all your physical data
storage and creates a large unit of virtual storage that you can
assign and control by using management software. IT
administrators can streamline storage activities, such as
archiving, backup, and recovery, because they can combine
multiple network storage devices virtually into a single storage
device.
• Network virtualization
Any computer network has hardware elements such as
switches, routers, and firewalls. An organization with offices in
multiple geographic locations can have several different
network technologies working together to create its enterprise
network. Network virtualization is a process that combines all
of these network resources to centralize administrative tasks.
Administrators can adjust and control these elements virtually
without touching the physical components, which greatly
simplifies network management.
• Application virtualization
Application virtualization pulls out the functions of applications
to run on operating systems other than the operating systems
for which they were designed. For example, users can run a
Microsoft Windows application on a Linux machine without
changing the machine configuration. To achieve application
virtualization, follow these practices:
1. Application streaming – Users stream the application from
a remote server, so it runs only on the end user's device
when needed.
2. Server-based application virtualization – Users can access
the remote application from their browser or client
interface without installing it.
3. Local application virtualization – The application code is
shipped with its own environment to run on all operating
systems without changes.
• Desktop virtualization
Most organizations have nontechnical staff that use desktop
operating systems to run common business applications. For
instance, you might have the following staff:
1. A customer service team that requires a desktop
computer with Windows 10 and customer-relationship
management software
2. A marketing team that requires Windows Vista for sales
applications
10-Marks Questions
9. What is Xen? Discuss its elements of virtualization.
Architecture:
1. Hypervisor Layer: Sits between hardware and VMs, controls
access.
2. Root Partition: Runs Windows OS with direct hardware access.
Hosts management stack.
3. Child Partitions (Guest VMs): Run guest OS like Linux or
Windows.
4. Virtualization Stack: Manages devices, memory, and CPU for
VMs.
5. VMBus: High-speed communication between host and guest.
6. Synthetic and Emulated Devices: Improves performance
(synthetic) or compatibility (emulated).
Features:
• Dynamic Memory: Adjust RAM on the fly.
• Live Migration: Move VMs without downtime.
• Snapshots & Checkpoints: For backups and rollback.
• Secure Boot & Shielded VMs: Enhanced security for guest OS.
8. What does the acronym SaaS mean? How does it relate to Cloud
computing?
SaaS (Software-as-a-Service) is a cloud computing model where
software applications are delivered over the internet. Instead of
purchasing and installing software, users access it through web
browsers on a subscription basis.
Relation to cloud computing:
• Hosted in the cloud: SaaS apps run on the provider’s cloud
infrastructure.
• No maintenance for users: Updates, backups, and security are
handled by the service provider.
• Accessible anywhere: Users can access services from any
device with internet connectivity.
• Scalable and flexible: Users can scale usage up or down based
on need.
SaaS is a core part of the cloud ecosystem and is widely adopted for
both personal and business use.
10 Marks Questions
14. Describe the fundamental features of the economic and
business model behind Cloud computing.
Cloud computing has transformed traditional IT economics by
offering a flexible, scalable, and pay-as-you-go model. Here's how it
supports business efficiency and innovation:
• Cost Optimization: Cloud eliminates the need for capital
investment in physical infrastructure. Businesses only pay for
what they use (OPEX vs CAPEX).
• Elasticity and Scalability: Resources can be scaled up or down
dynamically based on demand, preventing over-provisioning
and underutilization.
• Faster Time to Market: Ready-to-use services and development
tools enable quicker product launches and innovation cycles.
• Global Accessibility: Services are accessible from anywhere,
allowing global teams to collaborate effectively.
• Focus on Core Business: By offloading infrastructure
management, businesses can focus on delivering value to
customers.
• Business Agility: Companies can experiment with new ideas,
adopt new technologies faster, and respond swiftly to market
changes.
• Improved Utilization: Multi-tenancy and resource pooling
improve hardware utilization, reducing waste and cost.
• Subscription Model: Predictable monthly or annual fees help
manage cash flow more effectively.
Overall, the cloud model promotes innovation, enhances
competitiveness, and supports sustainable IT practices.
15. How does Cloud computing help to reduce the time to market
applications and to cut down capital expenses?
Cloud computing offers a strategic advantage in speeding up
application development and reducing costs:
• Instant Infrastructure Provisioning: Developers can quickly spin
up servers, databases, and networking components without
waiting for hardware procurement.
• No Upfront Capital Investment: Cloud replaces large capital
expenses with flexible operational costs.
• PaaS and SaaS Acceleration: Pre-built environments and tools
reduce the time needed for configuration, deployment, and
updates.
• Automated Deployment: Tools like CI/CD pipelines, containers,
and serverless functions speed up development and
deployment processes.
• Access to Latest Technologies: Businesses can use cutting-edge
services (AI, ML, analytics) without having to invest in them
directly.
• Testing and Prototyping: Rapid prototyping and A/B testing can
be done without long setup times.
• Global Reach and CDN Support: Deploying globally using CDNs
ensures quick delivery and availability of applications.
• Reduced Downtime and Maintenance: Cloud service providers
manage infrastructure, reducing the burden of maintenance
and freeing up teams to innovate.
This drastically shortens the development lifecycle and allows
businesses to respond faster to customer needs and market
demands.