1) Explain The Cloud Computing Reference Model With A Neat Diagram
1) Explain The Cloud Computing Reference Model With A Neat Diagram
like servers, storage, applications, network and services over the internet, allowing users
to use these resources without managing physical infrastructure."
MODULE 1
1) Explain the cloud computing reference model with a neat diagram.
1. Infrastructure-as-a-Service (IaaS)
• Definition: Provides virtual infrastructure (hardware, storage, and networking) on
demand.
• Features:
o Users get virtual machines (VMs) to install and configure software.
o Includes virtual storage (raw disk space or object storage).
o Provides virtual networking for connecting instances to the internet.
• Examples: Amazon EC2, S3, vCloud.
• Use Case: Ideal for developers creating scalable systems or websites.
2. Platform-as-a-Service (PaaS)
• Definition: Offers a runtime environment for application development and
deployment.
• Features:
o Developers focus on application logic using APIs and libraries.
o The provider handles infrastructure, scalability, and fault tolerance.
o Reduces the need for system setup and configuration.
• Examples: Windows Azure, Hadoop, Google App Engine, Aneka.
• Use Case: Useful for programmers building new applications.
3. Software-as-a-Service (SaaS)
• Definition: Provides ready-to-use software applications over the internet.
• Features:
o No need for installation or maintenance by the user.
o Accessible through a browser; shared across multiple users.
• Examples: Google Documents, Facebook, Gmail, Salesforce.
• Use Case: End users benefit from pre-built apps for tasks like email or document
management.
Key Points:
1. Layered Structure: Each layer builds on the one below it.
2. Target Users:
o IaaS: Developers managing infrastructure.
o PaaS: Programmers focusing on coding.
o SaaS: End users accessing complete software.
2) Explain the differences between public, private and hybrid cloud deployment
models.
Differences Between Public, Private, and Hybrid Cloud Deployment Models (7 Marks)
1. Public Cloud
• Definition: IT infrastructure (like data centers, storage, and servers) is owned and
managed by a third-party provider and made available to users over the internet.
• Features:
o Accessible to anyone on a subscription or pay-per-use basis.
o Data and applications are hosted on the provider's premises.
o Quick access to computing resources without upfront investment.
• Examples: Amazon Web Services (AWS), Microsoft Azure, Google Cloud.
• Use Case: Suitable for startups or businesses needing scalability without owning
infrastructure.
2. Private Cloud
• Definition: IT infrastructure is built and managed exclusively for a single
organization, often within its premises.
• Features:
o High security, privacy, and control over data.
o Used by organizations like banks, governments, and enterprises with sensitive
data.
o Requires significant investment and maintenance by the organization.
• Examples: IBM Private Cloud, VMware Private Cloud.
• Use Case: Ideal for organizations with strict regulatory or security needs.
3. Hybrid Cloud
• Definition: A mix of public and private cloud infrastructure, offering flexibility and
scalability.
• Features:
o Sensitive data remains in the private cloud, while other tasks use public cloud
resources.
o Balances security and cost-effectiveness.
o Useful when private cloud resources fall short of demand.
• Examples: A combination of AWS and an in-house private cloud.
• Use Case: Suitable for organizations needing scalability while maintaining security
for critical tasks.
Key Differences
Pay-per-use or
Cost High upfront investment Mix of both
subscription
Limited to in-house
Scalability Easily scalable Scalable using public cloud
resources
4) List & Explain the various cloud computing platforms and technologies.
2. Google AppEngine
o Purpose: Scalable runtime for web applications.
o Features: In-memory caching, scalable datastore, job queues, and messaging.
o Benefit: Test applications using the AppEngine SDK before deploying.
3. Microsoft Azure
o Type: Cloud OS and platform for distributed applications.
o Roles:
▪ Web Role: Hosts web applications.
▪ Worker Role: Processes workloads.
▪ Virtual Machine Role: Fully customizable environment.
4. Hadoop (Apache)
o Purpose: Open-source framework for processing large datasets.
o Model: MapReduce (Google-inspired).
▪ Map: Synthesizes input data.
▪ Reduce: Aggregates output.
o Usage: Developers only specify the map and reduce functions.
5. Force.com and Salesforce.com
o Force.com: Platform for creating social enterprise apps.
o Salesforce.com: SaaS for customer relationship management (CRM).
o Special Feature: Prebuilt components and AppExchange integration for app
creation.
6. Manjrasoft Aneka
o Purpose: Rapid development of scalable apps for various clouds.
o Features: Supports tasks, distributed threads, and MapReduce programming
models.
o Use: Seamless deployment on different hardware.
How to Remember?
• Think of AWS as "infrastructure services," AppEngine as "scalable web apps,"
Azure as "role-based distributed apps," Hadoop for "big data processing," Salesforce
for "CRM and social enterprise," and Aneka for "rapid app creation."
5)What are the major distributed computing technologies that led to cloud
computing.
Three Major Distributed Computing Technologies Leading to Cloud Computing
1. Mainframes:
o Powerful, reliable computers for handling large-scale data and transactions.
o Used by big organizations for tasks like online transactions, enterprise
resource planning, and bulk data processing.
o Specialized in managing large data movements and input/output
operations.
2. Clusters:
o Low-cost alternative to mainframes and supercomputers.
o Connects many cheap computers using high-speed networks to work as a
single system.
o Became popular in the 1980s for tasks needing parallel and high-
performance computing.
3. Grids:
o Evolved from clusters in the 1990s.
o Works like a utility (power grid): Users can access computing resources like
electricity or water.
o Combines geographically spread clusters via the Internet, enabling resource
sharing across organizations.
Easy Way to Remember:
• M-C-G:
o Mainframes: Big, reliable, data-heavy.
o Clusters: Many cheap computers connected.
o Grids: Internet-based sharing of cluster power.
MODULE 2
1) Explain the characteristics of virtualized environments.
Virtualization in Cloud Computing
Virtualization is the process of creating virtual versions of resources such as hardware,
software, storage, and networks. In a virtualized environment, a single physical resource can
be divided into multiple virtual instances, improving resource usage, isolation, and flexibility.
It allows these virtual resources to function as if they were independent, similar to physical
resources.
There are three main components in a virtualized environment:
1. Guest:
o The guest is the virtual system or environment that works with the
virtualization layer, rather than directly with the physical host.
o It can be a virtual machine (VM), a virtual storage system, or a virtual network
that operates like the physical version but in a virtual form.
2. Host:
o The host is the physical system that provides the resources for virtualization.
o In hardware virtualization, the host is typically a physical server or machine
that runs the virtual instances (VMs).
3. Virtualization Layer (Hypervisor):
o The virtualization layer, also known as the hypervisor or virtual machine
manager, is responsible for managing and creating the virtual environments.
o It sits between the host and the guest, allocating resources and ensuring that
the virtual environments run independently of the physical hardware.
• Managed Execution:
o Virtualization allows for more flexible and controlled environments. Some
important features are:
Sharing: You can share the host's resources among multiple virtual systems.
Aggregation: Multiple physical machines can be combined into one virtual
system, making it easier to manage.
Emulation: The virtual system's environment can be controlled and adjusted.
Isolation: Each virtual system works in its own space, so it doesn’t affect
others, making it more stable.
• Portability:
o Virtual systems are portable, meaning you can move them from one machine
to another easily.
o A virtual system (guest) can be packed into a virtual image and moved around
just like moving a file from one computer to another.
Summary:
Virtualization creates efficient, secure, and flexible environments by dividing physical
resources into multiple virtual instances. The process involves a host system, guest systems,
and a virtualization layer that manages these resources. It enables sharing, aggregation,
emulation, isolation, and portability, offering better resource usage and security.
Virtualization Techniques
Virtualization is used to create virtual versions of different things, like execution
environments, storage, and networks. By understanding how virtualization works in each
area, we can see how it can be used in different situations.
There are three main areas where virtualization is applied:
1. Execution Environments: These are virtual spaces where programs, operating
systems, and apps can run just like they would on real hardware.
2. Storage: This involves creating virtual storage that looks different from the actual
physical storage. Users interact with the virtual storage instead of the physical one.
3. Networks: Virtual networks make it seem like different networks are working
independently, even though they share the same physical infrastructure.
How is Virtualization Done?
1. Process-Level Virtualization:
o This works on top of an existing operating system and creates a virtual space
for programs to run in.
o Key Techniques:
▪ Emulation: Makes a system mimic another system so that applications
can run on a different system.
▪ High-Level Virtual Machines (VMs): These virtual machines allow
programs to run on a "virtual" computer, like how Java runs on the
Java Virtual Machine (JVM).
▪ Multiprogramming: This allows multiple programs to run on the
same system by switching between them.
2. System-Level Virtualization:
o This works directly on the hardware without needing an existing operating
system, making it more efficient.
o Key Techniques:
▪ Hardware-Assisted Virtualization: Uses the hardware's support to
improve performance, usually with the help of a hypervisor.
▪ Full Virtualization: The guest operating system runs independently as
if it were on real hardware.
▪ Paravirtualization: The guest operating system is modified to work
better with the virtual environment.
▪ Partial Virtualization: Only part of the hardware is virtualized, so
some applications may still need to run directly on the physical host.
Virtualization Models
Different virtualization models explain the environment created by the virtualization
techniques:
1. Application-Level Virtualization:
o Runs individual applications in a virtual environment that is separate from the
host system. This is often done through emulation.
2. Programming Language-Level Virtualization:
o Virtual machines are created for specific programming languages. For
example, Java uses the Java Virtual Machine (JVM) to run Java applications.
3. Operating System-Level Virtualization:
o Allows multiple user environments to run on one operating system. The
operating system shares resources but keeps environments isolated from each
other.
4. Hardware-Level Virtualization:
o In system-level virtualization, this model lets multiple operating systems run
on a single hardware platform using full, paravirtualization, or partial
virtualization techniques.
Summary:
• Virtualization helps create virtual versions of environments, storage, and networks.
• There are two main types: process-level (on top of an existing OS) and system-level
(directly on hardware).
• Virtualization models describe how the virtual environments are created, such as for
applications, programming languages, or entire operating systems.
6. Simplified Management:
o Virtualized resources can be managed from a single console. This makes
administration easier, and automation tools can help with tasks like deploying,
scaling, and managing VMs. This saves time and reduces mistakes.
7. Improved Testing and Development:
o Virtualization allows developers to create isolated environments for testing
without needing extra physical hardware. They can easily make snapshots,
clones, and test different setups, making it simpler to test new software and
updates.
Summary:
• Virtualization makes it possible to run multiple virtual systems on a single physical
machine, saving resources and costs.
• It offers better flexibility, isolation, and security, and it helps with disaster recovery
and easy management.
• Virtual environments also help developers test and develop software more efficiently.
4) Explain virtualization and cloud computing and pros and cons of virtualization.
Virtualization in Cloud Computing
Virtualization is a technology that allows creating virtual versions of physical resources like
servers, storage devices, and networks. It helps run multiple virtual environments on a single
physical machine, making the hardware invisible to the applications. In cloud computing,
virtualization is used to provide services like Infrastructure-as-a-Service (IaaS) and Platform-
as-a-Service (PaaS), helping businesses use IT resources more efficiently.
For example, you can run a Windows operating system on a virtual machine hosted on a
Linux server. This allows applications to run in isolated, secure, and customizable
environments, even if the applications are not trusted.
Cloud computing uses virtualization to offer on-demand IT services. It dynamically allocates
resources, allowing organizations to scale their computing needs without spending much on
new physical hardware.
Pros of Virtualization:
1. Managed Execution and Isolation: Virtualization creates secure environments,
making it safer to run applications in isolation from each other.
2. Resource Utilization: It allows several virtual machines to share the same physical
resources, making better use of hardware and saving costs.
3. Scalability: Organizations can easily scale their systems by adding more resources
without much cost, making it highly flexible.
4. High Availability: Virtual machines can be moved between servers without any
downtime, ensuring services are always available.
5. Customization: Virtual environments can be adjusted to meet specific needs, making
the system more flexible and adaptable.
Cons of Virtualization:
1. Security Vulnerabilities: While virtualization increases security, it also brings new
risks, requiring careful management to prevent threats.
2. Performance Trade-offs: Sharing hardware between virtual machines can cause a
slight performance drop, as resources are divided.
3. Complexity: Managing virtualized environments can be more complicated and may
require specialized knowledge and tools.
4. Dependency on Hypervisors: Virtual machines rely on hypervisors, which are
critical for performance and security. If the hypervisor fails, it can affect multiple
virtual machines.
In summary, while virtualization offers many benefits like resource management and
scalability, it also comes with challenges such as security issues, performance trade-offs, and
complexity.
MODULE 3
1) Briefly Explain cloud computing architecture with a neat diagram.
Cloud Computing Architecture
Cloud computing architecture organizes its components into layers, making it easy to manage
and deliver services. It starts from the hardware level and goes up to the user interface. Here's
a simple explanation of the architecture:
1. Physical Infrastructure
o This is the foundation of the cloud. It consists of data centers with many
computers (nodes) working together.
o It can include different resources like clusters, PCs, databases, and storage
systems.
2. Core Middleware
o Middleware manages the physical infrastructure and ensures smooth
operation.
o It provides a runtime environment for applications and helps allocate resources
efficiently.
o Virtualization is used here to divide hardware into smaller parts like virtual
machines.
3. Virtualization Technology
o Virtualization splits resources like CPU, memory, storage, and networks.
o It ensures applications are isolated and run securely in their own space.
o Hypervisors manage these virtual machines and provide a virtual view of the
resources.
4. Infrastructure-as-a-Service (IaaS)
o IaaS offers virtualized resources to users, such as virtual machines and
storage.
o Some IaaS solutions provide both hardware and management, while others
provide only management.
5. Cloud Programming Tools and Platforms
o This layer provides tools for users to build applications.
o Examples include web-based tools, command-line interfaces, and
programming frameworks.
o Applications are developed specifically for the cloud using APIs provided by
this layer.
6. User Applications
o This includes services like gaming platforms and social networking websites.
o These applications depend on the cloud for scalability and to handle many
users.
This structure ensures smooth functioning, scalability, and adaptability in cloud computing.
Platform-as-a-Service (PaaS)
PaaS is a cloud solution that provides developers with tools and a platform to create, run, and
manage applications without worrying about hardware or infrastructure. It acts as the
middleware where applications are built and deployed.
Application Management
• PaaS provides a runtime environment for applications.
• Developers don’t manage hardware, operating systems, or infrastructure.
• It automates tasks like deploying apps, configuring components, setting up databases,
and scaling based on user needs.
Runtime Framework
• This is the "software stack" where user applications run.
• It executes the app's code based on user and provider policies.
Abstraction
• PaaS focuses on applications rather than infrastructure.
• It hides the complexities of managing virtual machines or physical hardware.
Automation
• PaaS automatically deploys and scales applications when needed.
• It follows agreements (SLAs) between users and providers.
Cloud Services
• PaaS provides tools, APIs, and services for developers to create, monitor, and manage
cloud apps.
• These features make applications scalable, reliable, and easy to develop.
In simple terms, PaaS helps developers build and manage applications efficiently, focusing
only on coding and application design while the platform handles everything else.
5) Describe the fundamental features of the economic and business model behind
cloud computing.
Fundamental Features of the Economic and Business Model Behind Cloud Computing
Cloud computing is designed to save costs, increase flexibility, and scale resources easily. It
moves IT infrastructure and software from a big upfront investment to a pay-as-you-go
service.
3. Pay-as-You-Go Model
• Companies pay only for what they use.
• No large upfront costs; they can adjust spending based on usage.
In simple terms, cloud computing saves money, reduces waste, and gives businesses the
flexibility to use only what they need, helping them focus on what they do best.
6) List and Explain some of the challenges in cloud computing.
Challenges in Cloud Computing
Cloud computing has many benefits, but it also faces some challenges. Below are the main
challenges explained in simple terms:
3. Organizational Aspects
• Cloud changes how businesses use IT.
• Companies need to adjust their processes and train their employees for new roles.
• Moving to a pay-as-you-go model can be hard for some organizations to manage.
These challenges must be handled carefully to ensure cloud computing works well for
businesses.
MODULE 4
1) Explain operating system security and virtual machine security.
Operating System Security
Operating system (OS) security focuses on keeping your computer safe from unauthorized
access, data tampering, and harmful software.
OS security is about keeping your computer safe from hackers, viruses, and unauthorized
users.
1. Mandatory OS Security
o Access Control: Decides who can use files and programs.
o Authentication: Confirms if you are the right person to use the system.
o Cryptography: Protects important data by making it unreadable to others.
2. Trusted Applications
Security apps like antivirus should use only the permissions they really need to avoid
unnecessary risks.
3. Discretionary vs. Mandatory Security
o Discretionary Security: Users decide who can access files, but mistakes can
happen.
o Mandatory Security: Strict rules set by the system admin keep everything
safer.
4. Limitations in Commercial OS
Some operating systems (e.g., older Windows versions) don’t have strong security
features, making them easier to attack.
5. Protecting Against Malicious Code
The OS protects against harmful programs like viruses but might still miss some
tricky attacks.
6. Platform Vulnerability
Even if the OS is secure, weak apps can make the entire system vulnerable.
7. Application-Specific Security
Certain apps, like those for online payments, need extra protection (e.g., digital
signatures).
8. Access Control Decomposition
Breaking security tasks into smaller parts ensures everything is clear and secure.
Conclusion
Both shared images and the management OS come with serious security challenges in the
cloud. Users and service providers must use strong security measures, like scanning images
for threats and properly managing data, to stay safe.
3) Explain the concept of privacy impact assessment and its importance in cloud
computing.
What is a PIA?
A Privacy Impact Assessment (PIA) is a tool used to find and manage privacy risks when
creating systems or processes that handle personal data. It ensures privacy is considered from
the start, especially in cloud computing, where data is stored and processed on remote servers
by Cloud Service Providers (CSPs).
Conclusion
PIA is essential in cloud computing to protect personal data, follow privacy laws, and build
trust with users. It ensures privacy and security are part of the system design from the start.
4) Explain the following associated with cloud computing i) cloud security risks
ii)Security: the top concern for cloud users.
i) Cloud Security Risks
Cloud security risks are problems that can arise when using cloud services. These risks fall
into three main types:
1. Traditional Security Threats
o These are the same dangers faced by any system connected to the internet.
o Example: Hackers might try to steal sensitive data stored in the cloud.
o The problem is bigger in the cloud because many people and businesses use
shared resources.
2. System Availability Risks
o Sometimes cloud services may stop working due to power cuts, system
failures, or other problems.
o Example: If the cloud system goes down, users may lose access to their data or
find it locked temporarily. This can disrupt their work.
3. Third-Party Data Control Risks
o In the cloud, many users share the same resources (multitenancy). This can
lead to:
▪ Data Isolation Issues: One user’s data might get mixed with
another’s.
▪ Security Weaknesses: Hackers could exploit flaws in the system to
gain access.
▪ Hard to Investigate: When something goes wrong, it’s tough to find
out who caused the problem because data can be overwritten quickly.
Why It Matters
Cloud security risks and concerns are important because:
• Users want to ensure their data is safe and private.
• If systems fail or get hacked, it can cause big problems for businesses and individuals.
• Understanding these risks helps users take precautions, like choosing reliable cloud
providers and using strong passwords.
MODULE 5
1) Explain the core components of Google app engine.
Here’s a very easy explanation of the core components of Google App Engine for a 10-
mark answer:
1. Infrastructure
• This is the base of Google App Engine.
• It uses many servers in Google’s data centers to handle user requests.
• When someone sends a request (like clicking a link), App Engine finds the best server
to handle it and adds more servers if needed.
• This system makes sure everything runs smoothly without needing extra work from
developers.
2. Runtime Environment
• App Engine supports different programming languages like Java, Python, and Go.
• It gives developers tools to make apps, such as:
o Accessing data easily.
o Managing user accounts.
o Sending messages.
• These tools make web app development faster and easier.
3. Storage
• App Engine uses a special storage system called DataStore.
• It’s great for saving data that doesn’t need a strict structure, unlike regular databases.
• Example: It’s perfect for apps that need fast access to data without many rules.
4. Scalable Services
• App Engine offers services that grow automatically as the app’s usage increases.
• Examples of these services:
o Image Manipulation: Editing images.
o Task Queues: Handling background jobs like sending notifications.
o Cron Jobs: Running tasks at specific times (like reminders).
• These features ensure the app stays fast and reliable, even when more people use it.
Summary
These four components—Infrastructure, Runtime Environment, Storage, and Scalable
Services—make Google App Engine a simple yet powerful platform for building and
hosting apps that can handle many users without slowing down.
i) Animoto
• What is Animoto?
It’s a cloud-based app where you can create videos quickly and easily.
• How does it work?
1. Upload images, music, and video clips.
2. Pick a theme, arrange your content, and choose a soundtrack.
3. Animoto’s AI engine automatically adds animations and transitions.
4. The video is rendered (processed) in the cloud, and you get an email when it’s
ready.
• Why is it useful?
o No need for expert video editing skills.
o Great for personal or professional video creation in less time.
Summary
• Animoto: Easy video creation using AI.
• Maya with Aneka: Faster 3D rendering for design and movies.
• Video Encoding: Quick video format conversion using cloud power.
3) Explain in detail about the application of cloud computing in i)Healthcare: ECG
analysis in the cloud ii)Geoscience: satellite image processing
i) Healthcare: ECG Analysis in the Cloud
• What is ECG Analysis?
It’s a way to study the heart’s electrical activity through waveforms to detect heart
problems.
• How does the cloud help?
1. Remote Monitoring: Doctors can check patients’ heartbeats from anywhere.
2. Fast Analysis: Cloud processes large ECG data quickly, helping detect issues
like irregular heartbeats.
3. Scalability: Cloud can handle more or fewer patients as needed, so hospitals
don’t need extra hardware.
4. Accessibility: Doctors can access data on any device with the internet, making
it easy to act quickly.
5. Integration: Cloud works with existing hospital systems, sending alerts if
heart problems are detected.
6. Cost-Effective: Hospitals pay only for what they use, saving money compared
to owning servers.
Summary
• In healthcare, cloud computing makes ECG analysis faster, accessible, scalable,
and affordable.
• In geoscience, it handles big satellite data, processes images efficiently, and supports
global teamwork.
4) Explain Amazon web services(AWS) in detail.