Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Revision

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 70

W1-2-60-1-6

JOMO KENYATTA UNIVERSITY OF AGRICULTURE AND TECHNOLOGY


UNIVERSITY EXAMINATIONS 2016/2017
SECOND YEAR FIRST SEMESTER EXAMINATION FOR THE DEGREE OF
BACHELOR OF INFORMATION TECHNOLOGY
BIT 2225 : CLOUD COMPUTING
DATE: APRIL 2017 TIME: 2 HOURS
INSTRUCTIONS:
ANSWER QUESTION ONE AND ANY OTHER TWO QUESTIONS
==========================================================
QUESTION ONE [30 MARKS]
(a) Define the following terms [6 marks]
(i) Cloud Computing:
Cloud computing refers to the delivery of various computing services,
including servers, storage, databases, networking, software, analytics, and
intelligence, over the internet. Instead of owning and managing physical
hardware and software, users can access and use these resources on-
demand from cloud service providers. Cloud computing is characterized by
its scalability, flexibility, and cost-effectiveness, as users pay only for the
resources they consume.
(i) Virtualization
Virtualization is a technology that enables the creation of virtual instances
of physical resources, such as servers, storage, or networks. It allows
multiple virtual machines (VMs) or virtual environments to run on a single
physical host, making efficient use of hardware resources. Virtualization is a
key component of cloud computing, as it enables the isolation and
management of various cloud services and resources.
(ii) Grid computing
Grid computing is a distributed computing paradigm that harnesses the
power of multiple computers and resources to solve complex
problems or perform high-performance computing tasks. It often involves
coordinating the use of geographically dispersed and heterogeneous
resources, working together as if they were part of a single large virtual
computing system. Grid computing is used for scientific research, data
analysis, and other computationally intensive tasks.
(b) Describe the two categories cloud storage is broadly classified into
1. Object Storage: Object storage is a highly scalable and cost-effective storage type
commonly used for storing unstructured data, such as documents, images, videos, and
backups. Each piece of data is stored as an object with a unique identifier, making it
easy to access and manage large amounts of data. Popular object storage services
include Amazon S3, Google Cloud Storage, and Azure Blob Storage.
2. Block Storage: Block storage provides raw storage volumes that can be mounted as
blocks on virtual machines (VMs). It is suitable for structured data and is commonly used
for databases and applications that require low-level storage access. Block storage
offers high performance and is well-suited for situations where data integrity and
consistency are critical. Amazon EBS and Azure Disk Storage are examples of block
storage services.
3. File Storage: File storage offers a file-based approach to storage, where files and
directories can be organized and accessed in a hierarchical structure. It is suitable for
shared file systems and network-attached storage (NAS) solutions. Cloud-based file
storage services like Amazon EFS and Azure Files provide scalable and shared file
storage for cloud-based applications.
[4 marks]
(c) Describe the characteristics that define cloud data, application services
and infrastructure [4 marks]
Cloud Data:
 Scalability: Cloud data storage can be easily scaled up or down to
accommodate changing data requirements.
 Redundancy: Cloud providers ensure data redundancy and backups,
reducing the risk of data loss.
 Accessibility: Data stored in the cloud can be accessed from anywhere with
an internet connection.
 Data Encryption: Cloud providers typically offer encryption options to
secure data in transit and at rest.
Cloud Application Services:
 Elasticity: Cloud applications can scale resources dynamically to handle
varying workloads.
 Self-service: Users can provision and manage application services through
web interfaces or APIs.
 Multi-Tenancy: Multiple users or organizations can share the same
application services securely.
 Pay-as-you-go: Users are charged based on their actual usage of application
services.
Cloud Infrastructure:
 Virtualization: Cloud infrastructure relies on virtualization to provide and
manage resources.
 Resource Pooling: Resources are pooled and allocated as needed to support
multiple customers.
 Rapid Provisioning: Infrastructure can be provisioned quickly to meet user
demands.
 Service Level Agreements (SLAs): Providers offer SLAs to ensure
reliability and availability.

(d) Explain the three categories of cloud computing models which cloud
provides offer services. [6 marks]
(e) Infrastructure as a Service (IaaS): IaaS provides users with virtualized computing
resources, such as virtual machines, storage, and networking. Users have control
over the operating system and applications running on the infrastructure while
leaving the underlying hardware to the cloud provider. It's a good choice for
organizations that want to manage their applications and data while outsourcing
the hardware management.
(f) Platform as a Service (PaaS): PaaS offers a platform for building, deploying, and
managing applications without worrying about the underlying infrastructure.
Users can focus on coding and application development, and the cloud provider
manages the hardware, operating system, and runtime environment. PaaS is ideal
for developers who want to streamline the application development process.
(g) Software as a Service (SaaS): SaaS delivers software applications over the internet
on a subscription basis. Users access the software through a web browser without
needing to install or maintain it locally. SaaS applications cover a wide range of
services, from email and office productivity tools to customer relationship
management (CRM) and enterprise resource planning (ERP) software.

(h) Explain the two variations to private cloud [4 marks]

1. On-Premises Private Cloud: An on-premises private cloud, also known as an internal


private cloud, is hosted within an organization's own data centers. It provides the
benefits of a private cloud, including control, security, and dedicated resources, but is
physically located on the organization's premises. This approach is suitable for
organizations with strict data sovereignty requirements or specific security concerns.
2. Hosted Private Cloud: Hosted private clouds are private cloud environments that are
operated and managed by third-party cloud service providers. In this model, the
infrastructure is dedicated to a single organization, offering the advantages of a private
cloud without the need to manage and maintain the physical infrastructure. It allows
organizations to leverage cloud benefits without building and operating their private
data centers.

(i) Discuss ways to manage day-to- day cloud operations [6 marks]


1. Monitoring and Logging: Implement robust monitoring and logging solutions to track
the performance, availability, and security of cloud resources. Use tools and services
provided by the cloud provider or third-party monitoring solutions.
2. Automation: Leverage automation tools to streamline provisioning, scaling, and
management of cloud resources. Infrastructure as Code (IaC) and automation scripts
help in maintaining consistent configurations and deployments.
3. Security Management: Continuously monitor and enhance security measures.
Implement access controls, encryption, and security groups to protect data and
resources. Regularly audit and review security configurations.
4. Cost Management: Use cost management tools to track and optimize cloud spending.
Set budgets, analyze cost reports, and adjust resource allocation to control expenses.
5. Backup and Disaster Recovery: Establish backup and disaster recovery plans to ensure
data resilience. Implement regular data backups and test recovery procedures to
mitigate potential data loss.
6. Performance Optimization: Continuously optimize cloud resources for performance and
cost-efficiency. Rightsize instances, use load balancing, and implement caching for
improved application performance.
7. Compliance and Governance: Ensure compliance with industry regulations and internal
governance policies. Implement identity and access management (IAM) controls to
enforce policies and maintain compliance.

QUESTION TWO [20 MARKS]


(a) Deployment models define the type of access to the cloud i.e how the
cloud is located? Discuss the following types of access [8 marks]
(i) Public
(ii) (a) Deployment Models for Cloud Access:
(iii) (i) Public Cloud: Public cloud is a deployment model where cloud
resources are owned and operated by a third-party cloud service provider
and made available to the general public over the internet. These
resources are shared among multiple customers, offering a cost-effective
and scalable solution. Users do not need to manage the underlying
infrastructure, but they have limited control over security and
customization.
(iv) (ii) Private Cloud: Private cloud refers to a cloud infrastructure exclusively
dedicated to a single organization. It can be hosted on-site in an
organization's data center or by a third-party provider. Private clouds offer
greater control, security, and customization, making them suitable for
organizations with strict compliance requirements or specific security
concerns.
(v) (iii) Hybrid Cloud: Hybrid cloud combines public and private cloud
environments, allowing data and applications to be shared between them.
This model offers flexibility, scalability, and the ability to run workloads in
the most appropriate environment. It's often used for scenarios where
sensitive data is kept in a private cloud, while less sensitive workloads are
run in a public cloud.
(vi) (iv) Community Cloud: Community cloud is a shared infrastructure that is
designed for specific communities or organizations with common
interests, such as government agencies, research institutions, or industry
consortia. It is a collaborative effort where the cloud infrastructure is
shared, and the cost is distributed among the participating entities.
Community cloud offers a balance between control and resource sharing.

(b) Discuss motivation towards cloud computing in recent times [6 marks]


(c) Cost Savings: Cloud computing can significantly reduce IT infrastructure costs, as
organizations can pay for cloud services on a pay-as-you-go basis, eliminating
the need for capital-intensive investments in hardware and data centers.
(d) Scalability: Cloud resources can be easily scaled up or down to accommodate
changing workloads, providing businesses with the flexibility to meet demand
while avoiding over-provisioning.
(e) Accessibility: Cloud services are accessible from anywhere with an internet
connection, enabling remote work and collaboration among teams and partners
worldwide.
(f) Disaster Recovery: Cloud-based backup and disaster recovery solutions offer data
redundancy and business continuity planning, reducing the risk of data loss.
(g) Rapid Deployment: Cloud services can be provisioned quickly, allowing
organizations to bring new applications and services to market faster and
respond to changing business needs.
(h) Security and Compliance: Many cloud providers offer robust security features and
compliance certifications, making it easier for organizations to meet security and
regulatory requirements.
(i) Innovation: Cloud computing facilitates innovation by providing access to
cutting-edge technologies and tools, such as artificial intelligence, machine
learning, and data analytics.

(j) Describe the similarities and differences between cloud computing and
grid computing [6 marks]

Similarities:
1. Distributed Computing: Both cloud computing and grid computing are
forms of distributed computing, where computational tasks are executed
across multiple machines or nodes.
2. Resource Sharing: Both models involve the sharing of computing resources,
such as processing power, storage, and networking, among multiple users or
applications.
3. Scalability: Both cloud and grid computing provide scalability, allowing
users to scale resources up or down based on their requirements.
Differences:
1. Ownership and Control:
 Cloud Computing: Resources in cloud computing are owned and
managed by a cloud service provider, giving users less control over
the underlying infrastructure.
 Grid Computing: In grid computing, resources are typically owned
and controlled by participating organizations or entities, allowing for
more control but requiring more coordination.
2. Purpose:
 Cloud Computing: Cloud computing is primarily designed for
delivering a wide range of services, including software, platform, and
infrastructure as a service.
 Grid Computing: Grid computing is often focused on high-
performance computing and solving complex scientific or technical
problems, involving data-intensive and computationally intensive
tasks.
3. Service Models:
 Cloud Computing: Cloud services include SaaS, PaaS, and IaaS,
which cater to various user needs, from running applications to
managing infrastructure.
 Grid Computing: Grid computing primarily offers computing
resources for specific tasks, and it doesn't typically include pre-built
software applications.
4. Elasticity:
 Cloud Computing: Cloud resources are elastic and can be rapidly
provisioned or de-provisioned to meet dynamic demands.
 Grid Computing: Grid resources may not always be as elastic and may
require more manual allocation and configuration.
In summary, while both cloud and grid computing involve distributed resource
sharing, they differ in terms of ownership, control, purpose, service models,
and elasticity, making them suited for distinct use cases and requirements.

QUESTION THREE [20 MARKS]


(a) Explain the relationship between cloud computing and utility computing
[6 marks]
Cloud computing and utility computing are related concepts, and utility computing can
be seen as a foundational component of cloud computing. Here's an explanation of the
relationship between the two:

1. Utility Computing: Utility computing is a model of delivering computing resources and


services on a metered or pay-as-you-go basis, similar to traditional utility services like
electricity or water. In utility computing, customers only pay for the computing
resources they consume, and the infrastructure is shared among multiple users. The goal
is to provide computing services in a cost-effective, efficient, and scalable manner.
2. Cloud Computing: Cloud computing is a broader paradigm that encompasses utility
computing. It's a comprehensive approach to delivering a wide range of computing
services, including infrastructure (Infrastructure as a Service or IaaS), platforms (Platform
as a Service or PaaS), and software (Software as a Service or SaaS), over the internet.
Cloud computing offers not only the on-demand, pay-as-you-go nature of utility
computing but also a variety of services, tools, and deployment models to meet diverse
business needs.

Relationship:

 Utility computing is one of the fundamental principles of cloud computing. Cloud


computing providers deliver services in a utility-like fashion, allowing users to access
resources and services as needed, pay for what they use, and scale their usage up or
down.
 Cloud computing extends beyond utility computing by offering a broader range of
services, such as platform services (PaaS) and software services (SaaS), while utility
computing typically focuses on infrastructure resources (IaaS).
 In the context of cloud computing, utility computing is often considered the
"Infrastructure as a Service" (IaaS) layer. It provides the underlying hardware,
networking, and storage resources on a utility basis, which are used by cloud users to
build and run their applications.
 The utility computing aspect of cloud computing enables organizations to achieve cost-
efficiency and flexibility by eliminating the need for large capital investments in physical
infrastructure and allowing them to only pay for the resources they consume.

In summary, while utility computing is a critical component of cloud computing, cloud


computing expands beyond utility computing to offer a more comprehensive set of
services and deployment models, including PaaS and SaaS, to address various
computing needs. Utility computing is one of the core principles that make cloud
computing an attractive and efficient computing model.

(b) Discuss the four key characteristics of cloud computing [8 marks]


(c) On-Demand Self-Service:
a. Users can provision and manage computing resources as needed without
requiring human intervention from the service provider. This allows for
rapid scalability and resource allocation.
(d) Broad Network Access:
a. Cloud services are accessible over the internet from a variety of devices
and locations, promoting remote access and flexibility.
(e) Resource Pooling:
a. Cloud providers pool and share resources among multiple customers,
ensuring efficient utilization and resource optimization. Customers often
share the same infrastructure.
(f) Rapid Elasticity:
a. Cloud resources can be quickly and automatically scaled up or down
based on demand. This elasticity enables cost savings and the ability to
handle variable workloads.
(g) Measured Service:
a. Cloud usage is metered, and customers are billed according to their
resource consumption. This pay-as-you-go model promotes cost efficiency
and transparency.
(h) Multi-Tenancy:
a. Multiple customers or tenants share the same physical infrastructure, with
security and isolation measures in place to prevent data and resource
cross-contamination.
(i) Ubiquitous Network Access:
a. Cloud services are accessible from virtually anywhere with an internet
connection, enhancing user convenience.
(j) Resource Monitoring and Management:
a. Cloud providers offer tools and dashboards for monitoring, managing, and
optimizing resource utilization, allowing users to fine-tune their services.
(k) Automation and Orchestration:
a. Cloud platforms often provide automation and orchestration capabilities
to streamline the provisioning and management of resources and
applications.
(l) Resilience and Redundancy:
a. Cloud infrastructure is designed for high availability, with data redundancy,
backup systems, and disaster recovery measures in place to ensure
continuity.

(m) Data security is of major concern in cloud. Outline key


mechanisms for protecting data [6 marks]

1. Encryption:
 Data Encryption in Transit: Use protocols like SSL/TLS to encrypt data as it travels
between the client and the cloud service. This ensures data confidentiality during
transmission.
 Data Encryption at Rest: Encrypt data stored in cloud databases and storage
services. This provides an additional layer of security, even if an unauthorized
entity gains access to the physical storage devices.
2. Identity and Access Management (IAM):
 Implement robust IAM policies to control who can access data and services in the
cloud. Assign role-based access control (RBAC) and follow the principle of least
privilege to restrict access to only authorized users.
3. Multi-Factor Authentication (MFA):
 Enforce MFA for user logins to add an extra layer of security. This requires users
to provide two or more pieces of evidence (e.g., password and SMS code) to
prove their identity.
4. Data Classification and Handling:
 Classify data based on sensitivity and criticality. Apply appropriate security
measures to protect highly sensitive data, such as personal information or trade
secrets.
 Establish data retention and disposal policies to ensure that data is not retained
longer than necessary.
5. Data Loss Prevention (DLP):
 Implement DLP solutions to monitor and prevent the unauthorized movement of
sensitive data. DLP tools can identify and block the transfer of sensitive
information outside the organization.
6. Threat Detection and Monitoring:
 Use intrusion detection and prevention systems (IDPS) and security information
and event management (SIEM) solutions to continuously monitor for suspicious
activities, threats, and vulnerabilities.
7. Regular Auditing and Logging:
 Enable auditing and logging features to track user and system activities. Regularly
review and analyze logs to identify security incidents or vulnerabilities.
8. Network Security:
 Apply network security measures, including firewalls, virtual private networks
(VPNs), and network segmentation, to protect data in transit and control access
to cloud resources.
9. Data Backup and Disaster Recovery:
 Implement regular data backups and disaster recovery plans to ensure data
recovery in case of data loss, system failures, or unexpected incidents.
10. Vendor Security Measures:
 Assess the security practices and certifications of cloud service providers. Ensure
they comply with industry standards and have robust security protocols in place.
11. Data Encryption Key Management:
 Properly manage encryption keys used for data protection. Use Hardware
Security Modules (HSMs) to safeguard encryption keys and prevent unauthorized
access.
12. Compliance and Regulations:
 Understand and adhere to data protection regulations, such as GDPR, HIPAA, and
CCPA, as they pertain to your organization's data. Ensure cloud providers comply
with these regulations as well.
13. Security Training and Awareness:
 Train employees and users on best security practices, including strong password
management, recognizing phishing attempts, and reporting security incidents.
14. Secure Development Practices:
 Follow secure coding practices when developing and deploying cloud-based
applications and services to prevent vulnerabilities and exploits.
15. Penetration Testing:
 Regularly conduct penetration testing and security assessments to identify and
rectify vulnerabilities in your cloud environment.
QUESTION FOUR
(a) Discuss business requirements one need to consider before deploying
application to cloud [10 marks]
Before deploying an application to the cloud, organizations should carefully consider
various business requirements to ensure a successful migration and operation in the
cloud environment. Here are key business requirements that should be addressed:

1. Cost Analysis:
 Understand the cost implications of migrating to the cloud. Assess the total cost
of ownership (TCO), including both upfront and ongoing costs. Ensure that the
cloud deployment aligns with the organization's budget and financial goals.
2. Scalability:
 Determine the scalability requirements of the application. Define how the
application will handle increases in user traffic or data volume. Cloud platforms
offer elasticity, but you must plan for scalability to avoid performance
bottlenecks.
3. Compliance and Security:
 Identify regulatory requirements and security standards relevant to your industry.
Ensure that the cloud provider complies with these regulations and offers robust
security features. Develop a security and compliance strategy to protect sensitive
data.
4. Data Management:
 Define data storage and management requirements. Consider data backup,
retention policies, and data transfer between on-premises and cloud systems.
Assess data sovereignty issues if applicable.
5. Service Level Agreements (SLAs):
 Evaluate the SLAs provided by the cloud provider. Ensure that the service level
agreements meet the organization's requirements in terms of availability,
performance, and support.
6. High Availability and Disaster Recovery:
 Determine the application's availability requirements. Implement high availability
and disaster recovery strategies to minimize downtime. Consider redundancy and
failover options.
7. Performance and Latency:
 Understand the application's performance needs. Consider the geographical
location of cloud data centers to minimize latency for users. Utilize Content
Delivery Networks (CDNs) if necessary.
8. Integration:
 Assess the application's integration needs with existing on-premises systems or
other cloud services. Plan for integration mechanisms and consider hybrid cloud
solutions if required.
9. Vendor Lock-In:
 Evaluate the potential for vendor lock-in. Consider using open standards and
APIs to ensure the portability of your application and data between different
cloud providers.
10. Disaster Recovery Plan:
 Develop a comprehensive disaster recovery plan to ensure data and application
resilience in the event of a failure or a catastrophic event.
11. Backup and Data Retention:
 Establish backup and data retention policies to ensure data recovery and
compliance. Determine how backups will be managed in the cloud environment.
12. Technical Support and Training:
 Assess the level of technical support and training provided by the cloud provider.
Ensure that your team has the necessary skills to manage and optimize the
application in the cloud.
13. Monitoring and Management:
 Plan for continuous monitoring and management of cloud resources. Choose
appropriate cloud management tools and services to track performance, costs,
and security.
14. Performance Testing and Optimization:
 Conduct performance testing to ensure the application's functionality and
performance in the cloud. Implement performance optimization strategies as
needed.
15. Licensing and Compliance:
 Ensure that you are in compliance with software licensing agreements when
deploying applications in the cloud. Understand the licensing implications and
costs.
16. End-User Experience:
 Prioritize the end-user experience and ensure that the cloud deployment meets
the performance and usability expectations of your target audience.
17. Governance and Policies:
 Establish cloud governance policies to manage cloud resources, access control,
and compliance with organizational standards.

(b) Discuss the benefits and challenges of cloud computing [10 marks]

Benefits of Cloud Computing:


1. Cost-Efficiency: Cloud computing eliminates the need for organizations to invest in and
maintain physical hardware and data centers. This can lead to significant cost savings as
businesses pay only for the resources they use on a pay-as-you-go basis.
2. Scalability: Cloud services offer the ability to quickly scale resources up or down based
on demand. This flexibility allows businesses to respond to changing workloads and
efficiently allocate resources.
3. Accessibility: Cloud services can be accessed from anywhere with an internet
connection, promoting remote work, collaboration, and accessibility to applications and
data.
4. Reliability and Redundancy: Leading cloud providers offer high availability and data
redundancy, reducing the risk of data loss due to hardware failures or disasters. Cloud
services typically maintain multiple data centers in different regions.
5. Security Features: Many cloud providers invest heavily in security, offering encryption,
access controls, and compliance certifications. They often have security experts on staff
to ensure data protection.
6. Innovation: Cloud platforms offer access to cutting-edge technologies and tools, such
as artificial intelligence, machine learning, and big data analytics, without the need for
significant upfront investments.
7. Quick Deployment: Cloud resources can be provisioned rapidly, enabling businesses to
bring new applications and services to market more quickly.
8. Green Computing: Cloud data centers are typically designed for energy efficiency,
which can reduce an organization's carbon footprint compared to maintaining in-house
data centers.
9. Automation: Cloud platforms provide automation tools and Infrastructure as Code (IaC)
for streamlining resource provisioning and management.

Challenges of Cloud Computing:

1. Security Concerns: While cloud providers invest in security, there are still concerns
about the security of data in a shared environment. Data breaches and cyberattacks can
occur, so it's crucial to have a robust security strategy.
2. Data Privacy and Compliance: Organizations must navigate the complexities of data
privacy regulations and ensure compliance, especially when dealing with sensitive or
regulated data. Different regions may have varying data protection laws.
3. Downtime and Service Outages: Even though cloud providers aim for high availability,
service outages can still occur, impacting business operations. Businesses must plan for
such contingencies.
4. Vendor Lock-In: Organizations may become dependent on a specific cloud provider's
services, making it challenging to migrate to a different provider or revert to on-
premises infrastructure.
5. Cost Management: Without proper cost monitoring and controls, cloud costs can spiral
out of control. It's essential to have strategies in place to manage and optimize cloud
spending.
6. Performance Variability: The shared nature of cloud resources can result in
performance fluctuations. This can be a concern for applications with stringent
performance requirements.
7. Data Transfer and Bandwidth Costs: Moving large amounts of data to and from the
cloud can be costly and time-consuming, especially for businesses with significant data
volumes.
8. Limited Control: Cloud computing means relinquishing some control over
infrastructure and services, which may be a challenge for businesses with specific
requirements or security concerns.
9. Data Portability: Transferring data and applications between cloud providers can be
complex, particularly if the provider's technologies and formats are proprietary.
10. Latency and Connectivity: Some applications with low latency requirements may face
challenges when hosted in the cloud. Internet connectivity issues can also affect access
to cloud services.

QUESTION FIVE [20 MARKS]


(a) Discuss the benefits of deploying cloud as public cloud model
[10 marks]

Cost-Efficiency:
 Pay-as-You-Go Pricing: Public cloud providers offer a flexible pricing model where
organizations only pay for the resources they use, making it a cost-effective solution.
This eliminates the need for significant upfront investments in hardware and data centers.
 Scalability:
 Elasticity: Public cloud platforms provide the ability to rapidly scale resources up or
down based on demand. This ensures that organizations can handle varying workloads
efficiently without over-provisioning.
 Accessibility and Global Reach:
 Accessibility: Public cloud services are accessible from anywhere with an internet
connection, enabling remote work, collaboration, and global access to applications and
data.
 Global Data Centers: Leading public cloud providers maintain data centers in multiple
regions, allowing organizations to deploy resources close to their target audience,
reducing latency and enhancing user experiences.
 Reliability and High Availability:
 Redundancy: Public cloud providers offer high levels of redundancy and fault tolerance,
reducing the risk of data loss due to hardware failures or disasters. Data is often
replicated across multiple data centers.
 Service Level Agreements (SLAs): Public cloud providers typically offer SLAs that
guarantee uptime and availability for services.
 Security:
 Security Expertise: Leading public cloud providers invest heavily in security and have
dedicated security teams and technologies in place.
 Compliance Certifications: Cloud providers often have certifications for compliance
with industry standards and regulations, making it easier for organizations to meet their
compliance requirements.
 Innovation:
 Access to Cutting-Edge Technologies: Public cloud platforms offer access to a wide
range of advanced technologies and tools, including artificial intelligence, machine
learning, big data analytics, and more, without the need for significant upfront
investments.
 Quick Deployment:
 Rapid Provisioning: Public cloud resources can be provisioned rapidly, enabling
organizations to bring new applications and services to market more quickly.
 Automation and DevOps:
 Infrastructure as Code (IaC): Public cloud platforms provide automation tools and IaC
for streamlining resource provisioning, configuration management, and software
deployment, enhancing development and operations collaboration.
 Managed Services:
 Managed Database and Middleware Services: Public cloud providers offer managed
services for databases, caching, and middleware, reducing the operational burden on
organizations.
 Global Network and Content Delivery:
 Content Delivery Networks (CDNs): Public cloud providers often offer CDNs to
accelerate content delivery, improving the user experience for websites and applications.
 Disaster Recovery and Backup:
 Public cloud services include built-in backup and disaster recovery capabilities, ensuring
data resilience and business continuity.
 Community and Ecosystem:
 Public cloud ecosystems include a wide range of third-party applications, integrations,
and services that can be leveraged to enhance organizational capabilities.

(b) Explain the different types of hardware virtualization [4 marks]


Hardware virtualization, also known as platform virtualization, is a technology that
allows multiple virtual machines (VMs) to run on a single physical server, each of which
operates as if it were a standalone physical machine. This enables efficient resource
utilization, isolation between VMs, and flexibility in managing and deploying workloads.
There are several types of hardware virtualization techniques:

1. Full Virtualization (or Hardware Virtualization):


 In full virtualization, a hypervisor (also known as a Virtual Machine Monitor or
VMM) is used to create and manage VMs. The hypervisor sits between the
physical hardware and the virtual machines, and it abstracts and emulates the
underlying hardware, so each VM believes it's running on a dedicated physical
machine.
 VMs in full virtualization are not aware that they are virtualized. This approach
provides strong isolation between VMs but may introduce some performance
overhead due to hardware emulation.
2. Para-Virtualization:
 Para-virtualization is similar to full virtualization, but it requires modification of
the guest operating system. Guest OSes are aware that they are running in a
virtualized environment, and they use special API calls to communicate with the
hypervisor, improving performance and efficiency.
 While para-virtualization can provide better performance than full virtualization, it
requires OS modification, which may limit its compatibility with certain operating
systems.
3. Hardware-Assisted Virtualization (HVM):
 Hardware-assisted virtualization takes advantage of specialized virtualization
extensions in modern CPUs, such as Intel VT-x and AMD-V. These extensions
enable VMs to run directly on the physical hardware with minimal interference
from the hypervisor.
 HVM combines the benefits of full virtualization with the performance
improvements of para-virtualization. It allows running unmodified guest OSes
efficiently.
4. Operating System-Level Virtualization (Containerization):
 Unlike the previous methods, operating system-level virtualization, often referred
to as containerization, doesn't create VMs but instead relies on container
technology. Containers share the host OS's kernel and resources while isolating
processes and filesystems.
 Containerization is highly efficient and lightweight, making it ideal for running
multiple, isolated application workloads on a single OS instance. Popular
containerization technologies include Docker and Kubernetes.
5. CPU Pinning and GPU Virtualization:
 These techniques allow administrators to assign specific CPU cores or GPUs to
individual VMs, ensuring performance isolation and prioritization. CPU pinning is
particularly useful for workloads with strict latency or real-time requirements.
6. I/O Virtualization:
 I/O virtualization focuses on sharing and managing I/O resources, such as
network adapters and storage devices, among multiple VMs. It enables efficient
data transfer and network connectivity for VMs.
7. Nested Virtualization:
 Nested virtualization involves running a hypervisor within a VM. This is useful for
development, testing, and certain scenarios where a VM needs to run
virtualization workloads itself.

Why is cloud called as ecosystem? Justify


Cloud computing is often referred to as an "ecosystem" due to the numerous
characteristics and attributes it shares with natural ecosystems. Justifying this
comparison, here are the reasons why cloud computing is called an ecosystem:

1. Diversity of Services and Resources:


 Cloud computing offers a wide array of services, including infrastructure as a
service (IaaS), platform as a service (PaaS), and software as a service (SaaS), as
well as various specialized services like machine learning, analytics, and storage.
This diversity is akin to the various species and resources found in a natural
ecosystem.
2. Interconnectedness:
 Within a cloud ecosystem, various services, applications, and components are
interconnected and often depend on each other. Data flows between different
services and systems, much like how nutrients and energy flow through a
biological ecosystem.
3. Interdependence:
 Just as different species in a natural ecosystem rely on each other for survival,
applications and services in the cloud ecosystem may depend on external
services, databases, APIs, and third-party integrations to function effectively.
4. Resource Sharing:
 Cloud providers share physical infrastructure, such as servers, storage, and
networking equipment, among multiple users and applications. This resource-
sharing concept mirrors the way resources are shared in natural ecosystems.
5. Adaptability and Evolution:
 Cloud ecosystems are continually evolving and adapting to changing
technologies and user requirements. New services, features, and tools are
regularly introduced, reflecting the evolution observed in natural ecosystems over
time.
6. Community and Collaboration:
 Similar to how species within an ecosystem interact, cloud providers, developers,
users, and businesses collaborate to create, deploy, and manage applications and
services. Community and collaboration are fundamental elements of both
ecosystems.
7. Biodiversity and Specialization:
 The cloud ecosystem is characterized by a diverse range of services, and each
service can be specialized for specific use cases. This diversity allows businesses
to select the most suitable resources for their needs, much like how various
species have adapted to their specific niches in natural ecosystems.
8. Sustainability and Efficiency:
 The cloud ecosystem promotes sustainability and efficiency by optimizing
resource utilization, reducing waste, and minimizing environmental impact. This
parallels the sustainability efforts seen in ecological systems.
9. Economic and Environmental Impact:
 Cloud ecosystems have significant economic and environmental impacts,
affecting industries, governments, and societies worldwide, similar to how natural
ecosystems impact the environment and economies of regions.
10. Balance and Regulation:
 Both natural ecosystems and cloud ecosystems require balance and regulation to
ensure stability. In the cloud, this is achieved through governance, compliance,
security measures, and policies.

The network used in distributed systems are built from a variety of transmission media
such as fibre, wires, cables, wireless etc. Discuss any four networking issues in distributed
systems
1. Latency and Delays:
 In a distributed system, components and data may be geographically dispersed.
As a result, latency and delays in data transmission become significant concerns.
Latency can be caused by various factors, including the physical distance between
nodes, network congestion, and the processing time at each node.
 High latency can lead to performance bottlenecks, impacting real-time
applications, such as video conferencing, online gaming, and financial trading
systems.
2. Network Congestion:
 Network congestion occurs when the network's capacity is exceeded due to an
excessive volume of data traffic. In distributed systems, multiple nodes and
services can generate and request data simultaneously, leading to congestion.
 Congestion can result in packet loss, increased latency, and reduced throughput,
affecting the overall system performance. Effective network monitoring, traffic
shaping, and load balancing are essential for managing congestion in distributed
systems.
3. Data Security and Privacy:
 Data security and privacy are paramount in distributed systems, especially when
data is transmitted over potentially insecure networks, such as the public internet.
Threats like eavesdropping, data interception, and data breaches are significant
concerns.
 Encryption, secure communication protocols, and access controls are critical for
safeguarding data in transit. Additionally, ensuring that sensitive data is not
exposed when traversing network segments is a priority in distributed systems.
4. Reliability and Fault Tolerance:
 Distributed systems are subject to various types of network failures, including link
failures, node failures, and transient network errors. Ensuring reliability and fault
tolerance in such environments is challenging.
 Distributed systems must be designed with redundancy, failover mechanisms,
and error-handling strategies to continue functioning when network components
fail. Protocols like consensus algorithms (e.g., Paxos and Raft) are used to
maintain data consistency in the face of network failures.
5. Synchronization and Data Consistency:
 Achieving data consistency and synchronization across distributed nodes is a
fundamental challenge. As data is distributed, keeping data consistent and
ensuring that all nodes have a coherent view of the system can be complex.
 Distributed databases and distributed file systems must implement techniques
like distributed locking, version control, and conflict resolution to manage data
consistency and synchronization issues.
6. Scalability and Load Balancing:
 As the number of nodes and users in a distributed system grows, maintaining
performance and responsiveness becomes crucial. Scalability issues can emerge
when a network architecture doesn't adapt well to increased loads.
 Load balancing techniques, such as round-robin DNS, content delivery networks
(CDNs), and distributed load balancers, are used to distribute incoming traffic
evenly across nodes to ensure optimal resource utilization.
7. Bandwidth and Throughput:
 Distributed systems may rely on limited bandwidth, such as in remote or
resource-constrained environments. Ensuring adequate bandwidth and
throughput to meet the demands of data-intensive applications is a critical issue.
 Network optimization techniques, such as data compression, content caching,
and quality of service (QoS) configurations, can be employed to address
bandwidth and throughput constraints.

When distributed systems are designed and engineered certain core properties have to be
taken into account including;
i) Concurrent components execution
ii) Independent failure of nodes
iii) Communication delay
iv) No global state

Required;
a) Discuss the implication of the above properties (separately or in contribution) on the
engineering of a large scale distributed systems (6marks)
b) Name and explain the various types of cloud computing deployment models

(8marks)
c) Transparency is defined as the hiding of the separation of components in a distributed
system from the user and application programmer. Briefly explain any six forms of
transparency (6marks)

Implications of Core Properties on Large-Scale Distributed Systems:

i) Concurrent Components Execution:

 Implication: In large-scale distributed systems, numerous components execute


concurrently, often asynchronously. This concurrency poses challenges in terms of
synchronization, data consistency, and ensuring that components do not interfere with
each other's execution.
 Engineering Considerations: Designing for concurrency requires careful coordination,
such as employing distributed locking mechanisms, message queuing, and thread
safety. Techniques like parallelization, sharding, and microservices can help manage
concurrent execution.

ii) Independent Failure of Nodes:

 Implication: In a large-scale distributed system, nodes (servers or instances) can fail


independently due to hardware faults, network issues, or software errors. Such failures
can impact system reliability and data integrity.
 Engineering Considerations: Engineers must design for fault tolerance and resilience.
This includes redundancy, replication, and failover mechanisms to ensure that the
system continues to function when individual nodes fail. Distributed consensus
algorithms like Paxos or Raft are used for data consistency.

iii) Communication Delay:


 Implication: Communication in large-scale distributed systems may experience variable
delays due to network congestion, distance, and other factors. Delays can impact the
performance and responsiveness of the system.
 Engineering Considerations: Engineers need to optimize communication protocols and
minimize round-trip times. Techniques like content delivery networks (CDNs) and
caching can help reduce latency. Asynchronous communication and pipelining can
improve efficiency.

iv) No Global State:

 Implication: Large-scale distributed systems cannot maintain a global state due to their
distributed nature. This lack of a global state can make tasks like distributed
coordination, debugging, and monitoring challenging.
 Engineering Considerations: Engineers must design the system with eventual
consistency in mind, allowing for eventual agreement among distributed components
rather than immediate consistency. Techniques like distributed tracing, log aggregation,
and observability tools help monitor the system's behavior without a global state.

b) Types of Cloud Computing Deployment Models:

There are three primary cloud computing deployment models:

1. Public Cloud:
 Public cloud services are owned and operated by third-party cloud providers and
are made available to the general public over the internet. Users share the same
infrastructure, and services are delivered as a multi-tenant environment. Example
providers include AWS, Azure, and Google Cloud.
 Advantages: Cost-effective, scalability, minimal upfront investment.
 Use Cases: Web hosting, application development, data storage.
2. Private Cloud:
 Private cloud services are dedicated to a single organization and can be hosted
on-premises or by a third-party provider. They offer more control, privacy, and
security but may require higher costs.
 Advantages: Enhanced security, control, customization.
 Use Cases: Sensitive data and applications, compliance requirements.
3. Hybrid Cloud:
 Hybrid cloud combines elements of both public and private clouds. It allows data
and applications to be shared between them. Organizations can use the public
cloud for scalable or less sensitive workloads and a private cloud for critical or
sensitive workloads.
Advantages: Flexibility, cost optimization, data mobility.
 Use Cases: Data backup and recovery, bursting workloads, data tiering.
4. Community Cloud (Optional):
 Community cloud is shared by multiple organizations with common interests,
such as regulatory compliance, security, or industry-specific requirements. It's a
less common deployment model and often operated by a third-party provider.

c) Forms of Transparency in Distributed Systems:

Transparency refers to the ability to hide certain aspects of a distributed system from
users and application programmers. There are several forms of transparency:

1. Access Transparency:
 Users can access remote resources in a distributed system just like local resources
without needing to be aware of the differences in location or access mechanisms.
2. Location Transparency:
 The physical location of resources or components is hidden from users and
applications. Users do not need to know where a specific resource is located.
3. Migration Transparency:
 Resources can be moved or replicated within the distributed system without
affecting the operations or perceived availability of those resources.
4. Relocation Transparency:
 While resources may be relocated, users and applications are not aware of this
relocation. They continue to interact with the resources as if they were in their
original location.
5. Replication Transparency:
 The use of replicated resources is transparent to users and applications. They can
access resources without needing to know whether they are working with a
primary or a replicated copy.
6. Concurrency Transparency:
 The system manages concurrent access to shared resources, and users and
applications are shielded from the complexities of concurrent execution and
resource conflicts.

The signs of a smarter planet are all around use. Smatter systems are being implemented and are
creating value in every major industry and across every region in both the developed and
developing worlds. This idea isn’t a metaphor, or a vision or a proposal – it’s a rapidly
emerging reality.
a) Define the following cloud computing emerging trends;
i) Internet of Thiengs (IOTS)
ii) Ubiquitous computing
iii) Green computing
iv) Grid computing
v) Autonomic computing (10marks)
b) Name and explain any five services offered by the Amazon web services (AWS)

(10marks)

Definition of Cloud Computing Emerging Trends:

i) Internet of Things (IoT):

 Definition: IoT refers to a network of interconnected physical objects (things)


embedded with sensors, software, and other technologies, enabling them to collect and
exchange data with other devices and systems over the internet.

ii) Ubiquitous Computing:

 Definition: Ubiquitous computing, also known as pervasive computing, involves the


integration of computing capabilities into everyday objects and environments to create
a seamless and pervasive computing experience. It aims to make computing "invisible"
in the sense that users can interact with technology effortlessly and naturally.

iii) Green Computing:

 Definition: Green computing, or sustainable computing, focuses on designing,


manufacturing, and operating computer systems and data centers in an environmentally
friendly and energy-efficient manner. The goal is to reduce the environmental impact of
IT operations and hardware.

iv) Grid Computing:

 Definition: Grid computing is a distributed computing paradigm that aggregates


computational resources from multiple, often geographically dispersed, locations to
form a unified and powerful computing infrastructure. It's used to tackle large-scale,
data-intensive problems that require significant computing power.

v) Autonomic Computing:
 Definition: Autonomic computing involves designing self-managing and self-
optimizing systems that can automatically configure, optimize, heal, and protect
themselves. The goal is to reduce the complexity of managing complex IT systems and
enhance system reliability.

b) Amazon Web Services (AWS) Services:

1. Amazon Elastic Compute Cloud (EC2):


 Explanation: Amazon EC2 provides resizable compute capacity in the cloud.
Users can launch virtual machines (EC2 instances) with varying compute, memory,
and networking capabilities. It offers scalability, flexibility, and control over the
computing environment.
2. Amazon S3 (Simple Storage Service):
 Explanation: Amazon S3 is an object storage service that allows users to store
and retrieve data, such as documents, images, and videos, on the internet. It is
highly scalable, durable, and can serve as the foundation for data storage and
backup in various applications.
3. Amazon RDS (Relational Database Service):
 Explanation: Amazon RDS is a managed relational database service that
supports popular database engines like MySQL, PostgreSQL, and SQL Server. It
simplifies database management tasks, provides automated backups, and offers
high availability.
4. Amazon Lambda (AWS Lambda):
 Explanation: AWS Lambda is a serverless computing service that lets users run
code without provisioning or managing servers. Developers can upload functions,
and AWS Lambda automatically scales, executes, and manages the code in
response to events or requests.
5. Amazon Elastic Load Balancing (ELB):
 Explanation: ELB is a service that automatically distributes incoming application
traffic across multiple EC2 instances or containers. It enhances the availability,
fault tolerance, and scalability of applications by spreading the load evenly.

These AWS services represent a small fraction of the comprehensive suite of cloud
services offered by Amazon Web Services, covering compute, storage, databases,
serverless computing, and load balancing, among others.

State and explain the contents of a service level agreement (SLA) (6marks)
Name and explain four advantages and four disadvantages of outsourcing computing
services. (8marks)

i. Define the acronym EUCALYPTUS (2marks)

ii. Explain any four advantages of a EUCALYPTUS cloud (4marks)

Contents of a Service Level Agreement (SLA):

A Service Level Agreement (SLA) is a formal contract or agreement between a service provider
and a customer that outlines the terms, conditions, and expectations regarding the services to be
provided. A comprehensive SLA typically includes the following components:

1. Service Description:

 Explanation of the services provided, including details about the scope, features,
and functionalities.

2. Service Availability:

 Specification of the expected uptime and availability of the service, including any
planned maintenance windows.

3. Performance Metrics:

 Clear and measurable performance metrics, such as response times, throughput,


and resource utilization.

4. Service Levels:

 Defining the levels of service quality or performance, often categorized as Gold,


Silver, Bronze, etc., with corresponding metrics for each level.

5. Responsibilities:

 The roles and responsibilities of both the service provider and the customer,
outlining who is responsible for what aspects of service delivery and support.

6. Problem Resolution:

 Details on how incidents, outages, and service disruptions will be reported,


escalated, and resolved.

7. Security and Compliance:


 Security measures, data protection, and compliance requirements to ensure the
confidentiality, integrity, and availability of data.

8. Scalability and Resource Allocation:

 Information on how resources will be allocated, adjusted, or scaled to meet


changing demand.

9. Change Management:

 Procedures for requesting and implementing changes, updates, and upgrades to


the service.

10. Termination and Exit Strategy:

 Conditions under which either party can terminate the agreement and the
procedures for transitioning to another provider or in-house services.

11. Service Fees and Payment Terms:

 Details about the cost structure, billing frequency, and payment terms, including
any penalties for late payment.

12. Service Reporting:

 Regular reporting on service performance, including SLA compliance reports and


key performance indicators (KPIs).

13. Disaster Recovery and Business Continuity:

 Plans and procedures for disaster recovery and business continuity to ensure data
protection and service continuity.

14. Service Support:

 Description of the support and helpdesk services provided, including response


times and communication channels.

15. Terms and Conditions:

 Legal terms and conditions, such as indemnification, intellectual property rights,


and dispute resolution mechanisms.

b) Advantages and Disadvantages of Outsourcing Computing Services:

Advantages:

1. Cost Savings:
 Outsourcing can lead to cost savings as organizations can access specialized skills
and infrastructure without the expense of maintaining in-house resources.

2. Focus on Core Competencies:

 Outsourcing allows businesses to concentrate on their core activities and strategic


initiatives while leaving non-core functions to experts.

3. Scalability and Flexibility:

 Service providers can quickly scale resources up or down to meet changing


business demands.

4. Access to Expertise:

 Outsourcing provides access to a pool of skilled professionals and advanced


technologies that may not be available in-house.

Disadvantages:

1. Loss of Control:

 Outsourcing means relinquishing some control over business processes and data,
which can be a concern for some organizations.

2. Quality Concerns:

 The quality of services may vary, and some providers may not meet the expected
standards, leading to service issues.

3. Security and Data Privacy:

 Outsourcing may pose security and data privacy risks, especially when sensitive
or confidential data is involved.

4. Dependency:

 Over-reliance on third-party providers can make organizations vulnerable to


disruptions, vendor lock-in, or unforeseen changes in service quality.

c) EUCALYPTUS:

i) Definition: EUCALYPTUS stands for "Elastic Utility Computing Architecture for Linking
Your Programs To Useful Systems." It is an open-source software platform for building private
and hybrid clouds that are compatible with Amazon Web Services (AWS) APIs.

ii) Advantages of a EUCALYPTUS Cloud:


1. AWS Compatibility:

 EUCALYPTUS is designed to be compatible with AWS, allowing organizations


to build private clouds with AWS-like APIs, making it easier to migrate
workloads between the private and public clouds.

2. Cost-Effective:

 EUCALYPTUS provides a cost-effective solution for organizations that want to


create a cloud infrastructure without the expenses associated with proprietary
cloud platforms.

3. Scalability:

 EUCALYPTUS offers scalability and flexibility, enabling organizations to adjust


their cloud resources as demand changes.

4. Hybrid Cloud Integration:

 EUCALYPTUS supports hybrid cloud deployment, allowing seamless integration


between private and public cloud resources.

These advantages make EUCALYPTUS an attractive option for organizations looking to build
cloud infrastructure that aligns with AWS standards and provides compatibility while
maintaining control over their cloud environments.

Explain the following services offered by cloud computing. Citing


relevant examples

i) DaaS
ii) IaaS
iii) SaaS (12 marks)

DaaS (Desktop as a Service):

 Explanation: DaaS is a cloud computing service that delivers virtual desktop


environments to end-users over the internet. It provides a complete desktop experience,
including the operating system, applications, and data, without the need for local
hardware or software installations.
 Example: Amazon WorkSpaces, a DaaS offering from Amazon Web Services, allows
organizations to deploy and manage cloud-based virtual desktops for employees.
ii) IaaS (Infrastructure as a Service):

 Explanation: IaaS provides virtualized computing resources over the internet, including
virtual machines, storage, and networking. Customers can rent infrastructure
components, configure them as needed, and run their applications and services on
these resources.
 Example: Amazon EC2 (Elastic Compute Cloud) from AWS offers scalable virtual servers,
enabling users to deploy and manage their applications in a virtualized environment.

iii) SaaS (Software as a Service): - Explanation: SaaS delivers software applications


over the internet on a subscription basis. Users access and use software hosted in the
cloud without the need for local installations or maintenance. The software is typically
accessible via web browsers. - Example: Salesforce, a popular customer relationship
management (CRM) platform, is offered as a SaaS solution, allowing businesses to
manage their customer data and interactions through a cloud-based application.

Define the following;

Distributed System:

 Definition: A distributed system is a collection of interconnected computers and


hardware components that work together to achieve a common goal. These
components communicate and coordinate their activities to provide a unified service or
functionality.

iv) Virtualization:

 Definition: Virtualization is a technology that allows multiple virtual instances of


computing resources, such as servers, storage, or networks, to run on a single physical
hardware system. It abstracts and isolates the underlying hardware, enabling better
resource utilization and flexibility.

Give three types of businesses that need cloud computing


and why. Give the types of service that would be
suitable for their business
(12 marks)
b) What type of storage configuration is used in cloud
computing? Explain each (8 marks)

Businesses That Need Cloud Computing and Suitable Services:

1. E-commerce Businesses:
 Why: E-commerce businesses often experience fluctuating workloads, especially
during seasonal sales and promotions. Cloud computing provides scalability to
handle increased website traffic, customer transactions, and inventory
management.
 Services:
 IaaS (Infrastructure as a Service): E-commerce businesses can rent
virtual servers, storage, and networking to scale their infrastructure as
needed.
 SaaS (Software as a Service): Utilizing SaaS for inventory management,
customer relationship management (CRM), and e-commerce platforms can
streamline operations.
2. Startups:
 Why: Startups often have limited budgets and IT resources. Cloud computing
allows them to avoid heavy upfront hardware investments and quickly launch
their products and services.
 Services:
 PaaS (Platform as a Service): PaaS platforms provide a development
environment, enabling startups to focus on building and deploying their
applications without worrying about infrastructure management.
 SaaS: For cost-effective access to essential software tools, such as
collaboration apps or project management solutions.
3. Healthcare Providers:
 Why: Healthcare providers deal with sensitive patient data and require secure
and accessible storage and processing solutions. Cloud computing offers robust
data security, scalability, and remote access.
 Services:
 Private Cloud: For enhanced data security and compliance, healthcare
providers can opt for private cloud services.
 DaaS (Data as a Service): DaaS solutions can help securely store and
manage patient records and enable remote access for authorized
personnel.
b) Types of Storage Configurations in Cloud Computing:

Cloud computing leverages various storage configurations to meet different


requirements. Three common types are:

1. Block Storage:
 Explanation: Block storage divides data into fixed-size blocks and is typically
used for raw storage volumes. Each block operates as an independent device and
can be managed separately. Block storage is suitable for scenarios requiring high
performance and flexibility, such as databases and virtual machine storage.
 Example: Amazon EBS (Elastic Block Store) in AWS offers block storage for EC2
instances.
2. File Storage:
 Explanation: File storage organizes data into files and folders, similar to a
traditional file system. It is well-suited for scenarios where multiple users or
applications need to access and share data. File storage is commonly used for
document sharing, content management, and file servers.
 Example: Amazon EFS (Elastic File System) in AWS provides scalable and shared
file storage.
3. Object Storage:
 Explanation: Object storage stores data as objects, each associated with a
unique identifier. It is highly scalable and suitable for storing unstructured data,
such as images, videos, and backups. Object storage is designed for durability
and can be accessed via APIs.
 Example: Amazon S3 (Simple Storage Service) in AWS is a popular object storage
service used for web applications, data archiving, and content distribution.

A customer is struggling with inconsistent software brulds in the


testing and staging environment. Explain how cloud can
help resolve this problem (3 marks)

b) What is a virtual private cloud? (2 marks)

c) What advantages are there for an enterprise to adopt a


virtual private cloud model? (4 marks)
d) Explain the relationship between cloud computing and
distributed systems (11 marks)
a) Resolving Inconsistent Software Builds with Cloud Computing:

Cloud computing can help address the problem of inconsistent software builds in the
testing and staging environments in the following ways:

1. Scalability: Cloud platforms provide on-demand resources, allowing the customer to


provision and scale virtual machines as needed. This ensures that consistent hardware
and software environments can be created for each testing or staging instance.
2. Resource Isolation: Virtualization and containerization technologies used in the cloud
enable the isolation of resources for different testing and staging environments. This
prevents conflicts and inconsistencies between instances.
3. Snapshotting and Cloning: Cloud services often offer features like snapshotting and
cloning, allowing users to capture a snapshot of a stable software build and create
replicas of it. This ensures that each environment is consistent with the approved
software version.
4. Automation: Cloud platforms support automation tools for environment provisioning
and configuration management. Automated scripts and templates can be used to
ensure that each instance is set up consistently.
5. Version Control: Cloud-based version control systems and code repositories help
manage software builds and ensure that all testing and staging environments are using
the correct and consistent codebase.

By leveraging cloud computing, the customer can create reproducible and consistent
software testing and staging environments, mitigating the issues of inconsistent builds.

b) Virtual Private Cloud (VPC):

A Virtual Private Cloud (VPC) is a private network segment within a public cloud
infrastructure. It allows users to create isolated and secure virtual networks in the cloud
where they can launch cloud resources like virtual machines, databases, and other
services. VPCs provide control over networking, security, and connectivity within the
cloud environment.

c) Advantages of Adopting a Virtual Private Cloud (VPC) Model for Enterprises:

1. Enhanced Security: VPCs provide a higher level of security by isolating an enterprise's


cloud resources from other tenants in the public cloud. This isolation helps protect
sensitive data and workloads.
2. Customizable Network Topology: Enterprises can design their network topology,
including IP addressing, subnets, and routing rules, to meet their specific requirements.
This customization offers flexibility for complex network architectures.
3. Control Over Security Policies: VPCs allow enterprises to implement their own security
policies, firewall rules, and access controls to protect their cloud assets. This level of
control helps enforce compliance and data protection standards.
4. Hybrid Cloud Integration: VPCs facilitate hybrid cloud deployments, enabling
enterprises to seamlessly integrate on-premises infrastructure with cloud resources. This
is valuable for applications and data that require a hybrid environment.

d) Relationship Between Cloud Computing and Distributed Systems:

The relationship between cloud computing and distributed systems is intertwined and
can be explained as follows:

1. Foundation of Cloud Computing: Cloud computing is built upon distributed systems


principles. Cloud providers rely on distributed infrastructure to deliver scalable, highly
available, and fault-tolerant services to customers. Data centers housing cloud resources
consist of distributed servers, storage, and networking components.
2. Scalability: Both cloud computing and distributed systems aim for scalability. Cloud
platforms leverage distributed architecture to automatically allocate and manage
resources as needed, allowing applications to scale horizontally. Distributed systems
play a crucial role in achieving this scalability.
3. Resource Sharing: Distributed systems share resources across multiple nodes, while
cloud computing uses a similar concept but on a larger scale. Cloud providers use
virtualization and resource pooling to share infrastructure among multiple users,
forming a multi-tenant environment.
4. High Availability: Distributed systems focus on ensuring high availability and fault
tolerance by distributing workloads across multiple nodes. Cloud providers build
redundancy and failover mechanisms into their infrastructure to offer reliable services.
5. Data Distribution: Distributed systems deal with data replication and distribution
across multiple nodes to ensure data integrity and access. Cloud services like object
storage and databases distribute data across geographically dispersed data centers for
redundancy and performance.

In summary, cloud computing is a natural evolution and extension of distributed


systems principles, allowing organizations to access distributed, scalable, and shared
resources through a centralized cloud platform. Both are interconnected, with cloud
computing building on the foundations of distributed computing.
Explain the term pay as you go in cloud computing citing the
benefits (4 marks)

b) Explain the terms below;

i) Virtualisation
ii) Hypervisor
iii) Elasticity
iv) SLA (16 marks)
a) Pay as You Go in Cloud Computing:

"Pay as you go" is a pricing model in cloud computing that allows users to pay for the
cloud resources and services they consume on a variable basis. In this model, users are
charged based on their actual usage, meaning they are billed for the resources they use
during a specific period, typically hourly, monthly, or based on the volume of data or
compute time consumed.

Benefits of Pay as You Go in Cloud Computing:

1. Cost Efficiency: Pay as you go eliminates the need for upfront capital expenditures on
hardware and infrastructure. Users only pay for the resources they use, making it a cost-
effective option, especially for startups and small businesses.
2. Resource Scalability: Users can easily scale up or down as needed. When demand
increases, they can provision additional resources and only pay for the extra capacity
during that time. When demand decreases, they can reduce resources and associated
costs.
3. Flexibility: Pay as you go offers flexibility to adapt to changing business needs. Users
are not locked into long-term contracts or fixed resource allocations. They have the
freedom to adjust resources in response to workload fluctuations.
4. No Overprovisioning: Organizations can avoid overprovisioning and wasting resources.
They can provision resources as they need them, avoiding underutilization or idle
capacity.

b) Definitions and Explanations:

i) Virtualization:

 Explanation: Virtualization is a technology that abstracts and isolates physical


computing resources, such as servers, storage, or networks, to create virtual instances or
environments. These virtual instances can run multiple operating systems or applications
independently on a single physical machine, enhancing resource utilization, scalability,
and flexibility.

ii) Hypervisor: - Explanation: A hypervisor, also known as a virtual machine monitor


(VMM), is a software or hardware-based technology that creates and manages virtual
machines (VMs). It allows multiple VMs to run on a single physical host by allocating
resources and ensuring isolation between them.

iii) Elasticity: - Explanation: Elasticity is the ability of a cloud computing environment to


automatically scale resources up or down in response to changes in demand. It ensures
that the infrastructure can adapt to workload fluctuations, providing additional
resources during periods of high demand and releasing resources during low-demand
periods.

iv) SLA (Service Level Agreement): - Explanation: An SLA is a formal contract or


agreement between a service provider and a customer that defines the terms,
conditions, and expectations related to the services being provided. It specifies service
quality, availability, performance metrics, support, and responsibilities. SLAs help ensure
that services meet agreed-upon standards and can provide a basis for customer-
provider relationships and accountability.

Why is the security key to success of cloud computing (4 marks)

b) What is cloud data? Explain the issues around cloud data,


privacy and trust (12 marks)

c) What in your opinion is the greatest challenge that cloud


computing service providers face (4 marks)

a) Why Security is Key to the Success of Cloud Computing:

Security is crucial to the success of cloud computing for several reasons:

1. Data Protection: Cloud computing involves the storage and processing of vast amounts
of data, including sensitive and confidential information. Security measures are essential
to protect this data from unauthorized access and breaches.
2. Customer Trust: Customers entrust their data and applications to cloud service
providers. To gain and maintain customer trust, providers must demonstrate a
commitment to security and data privacy.
3. Regulatory Compliance: Many industries and regions have strict regulations and
compliance requirements related to data security and privacy. Cloud providers must
adhere to these standards to serve customers in these sectors.
4. Service Availability: Security also plays a role in ensuring the availability of cloud
services. Protection against threats, such as distributed denial of service (DDoS) attacks,
is essential for uninterrupted service.

b) Cloud Data and Issues around Cloud Data, Privacy, and Trust:

Cloud Data: Cloud data refers to digital information stored and processed in a cloud
computing environment. This data can include documents, databases, images, videos,
and more. Cloud data is typically accessible over the internet and can be hosted on
public or private cloud infrastructure.

Issues around Cloud Data, Privacy, and Trust:

1. Data Privacy: Storing data in the cloud may raise concerns about data privacy.
Organizations and individuals worry about who can access their data, how it is
protected, and whether it complies with privacy regulations like GDPR.
2. Data Ownership: Determining ownership and control of data in the cloud can be
complex. Customers may question whether they retain full ownership or if the cloud
provider has certain rights over the data.
3. Data Security: Security breaches, data leaks, and unauthorized access to cloud data are
significant concerns. Protecting data with encryption, access controls, and monitoring is
essential.
4. Compliance and Legal Issues: Cloud data may be subject to various legal and
regulatory requirements. Ensuring that cloud data complies with relevant laws and
regulations can be challenging.
5. Trust in Service Providers: Customers must trust their cloud service providers to
safeguard their data. Cloud providers need to establish and maintain trust through
robust security measures and transparency.
6. Data Residency: Data stored in the cloud may be physically located in different
geographic regions. Questions arise about data residency and the jurisdiction under
which data is governed.
7. Data Portability: Cloud data may be challenging to migrate or retrieve from one
provider to another. Data portability and vendor lock-in issues can affect trust and
flexibility.
8. Data Loss and Recovery: The potential for data loss due to hardware failures or
accidental deletions requires robust backup and recovery mechanisms.

c) Greatest Challenge for Cloud Computing Service Providers:

In my opinion, one of the greatest challenges cloud computing service providers face is
ensuring data security and privacy. This challenge encompasses various aspects,
including:

1. Cybersecurity Threats: Service providers must continually defend against evolving


cyber threats, such as malware, ransomware, DDoS attacks, and data breaches. These
threats can compromise the integrity, confidentiality, and availability of customer data.
2. Data Privacy and Compliance: Meeting data privacy regulations and compliance
requirements, especially in a global context, is complex and demanding. Providers must
navigate diverse legal frameworks and ensure that their services align with these
regulations.
3. Customer Trust: Building and maintaining customer trust is essential. Any perceived or
actual security breaches can erode trust and lead to customer attrition.
4. Innovation and Updates: Service providers must consistently innovate and update their
security measures to stay ahead of cyber threats. This requires substantial investment in
technology, personnel, and training.
5. Data Encryption and Access Controls: Implementing robust data encryption, access
controls, and authentication mechanisms is critical to safeguarding customer data, and
this demands ongoing diligence.
6. Incident Response: Developing and practicing effective incident response plans is
crucial for mitigating the impact of security incidents and minimizing data loss.
7. Transparency and Accountability: Providers need to be transparent about their
security practices and be accountable for any security incidents. This transparency is key
to establishing and maintaining trust.

Addressing these challenges and prioritizing data security and privacy is vital for the
long-term success and sustainability of cloud computing service providers.

QUESTION ONE (30 MARKS)

a) Discuss the benefits of deploying cloud as hybrid cloud (8


marks)
b) Describe characteristics associated with platform as a service
(paas) service model (6 marks)

c) Explain the relation between cloud computing and utility


computing
(6 marks)

d) Though it seems that cloud computing is indispensable for e-


government but there are many issues related to cloud
computing application. Discuss them (8 marks)

e) Define the following terms (2 marks)

i) Grid computing
ii) Virtualization

a) Benefits of Deploying Cloud as a Hybrid Cloud:

A hybrid cloud deployment combines elements of both public and private cloud models.
The benefits of deploying a hybrid cloud include:

1. Scalability: Hybrid clouds offer the flexibility to scale resources up or down based on
demand. Organizations can leverage public cloud resources during traffic spikes while
retaining sensitive data and critical workloads in a private cloud.
2. Cost Efficiency: Hybrid clouds enable cost optimization. Organizations can use the
cost-effective public cloud for non-sensitive workloads while maintaining a private cloud
for more sensitive or compliance-driven data.
3. Data Security: Sensitive data can be kept in a private cloud with higher security
measures, ensuring data compliance and minimizing the risk of data breaches.
4. Business Continuity: Hybrid clouds provide disaster recovery and backup capabilities.
In case of a failure in the private cloud, applications and data can failover to the public
cloud, ensuring business continuity.
5. Compliance: Organizations with industry-specific or regulatory compliance
requirements can maintain compliance for sensitive data while still benefiting from the
agility of the public cloud.
6. Resource Optimization: Hybrid cloud allows efficient resource utilization by allocating
workloads to the most appropriate environment based on performance, security, and
cost considerations.
7. Geographic Redundancy: Hybrid clouds can provide geographic redundancy, ensuring
that data and services are available in multiple regions, enhancing resilience.

b) Characteristics Associated with Platform as a Service (PaaS) Service Model:

Platform as a Service (PaaS) is a cloud service model that provides a platform for
developing, deploying, and managing applications. Characteristics of PaaS include:

1. Application Development Tools: PaaS offers a suite of tools, libraries, and


development frameworks that facilitate application development, including coding,
testing, and debugging.
2. Automated Deployment: PaaS platforms automate deployment and management
tasks, reducing the complexity of application deployment.
3. Scalability: PaaS services can scale applications automatically, adapting to varying
workloads and demands without manual intervention.
4. Middleware Services: PaaS provides middleware services such as databases, message
queues, and caching systems that are integral to application development and
functionality.
5. Multi-Tenancy: PaaS environments support multiple tenants who can develop and
deploy applications on the same platform without interference.
6. Cost-Effective: PaaS eliminates the need for organizations to manage the underlying
infrastructure, reducing the costs associated with hardware and software maintenance.

c) Relation Between Cloud Computing and Utility Computing:

Cloud computing and utility computing are related concepts that share some
similarities:

 Utility Computing: Utility computing refers to the provisioning of computing resources


as a service based on usage, similar to how utilities like electricity or water are billed.
Customers pay for the resources they consume, and the service provider manages the
underlying infrastructure.
 Cloud Computing: Cloud computing is a broader concept that encompasses various
service models (IaaS, PaaS, SaaS) and deployment models (public, private, hybrid,
community). It includes utility computing as one of its service models.
The relationship is that utility computing is one of the fundamental pricing and billing
models within the larger framework of cloud computing. Cloud computing extends
beyond utility computing by offering a wide range of services, not just infrastructure
resources, and can encompass the entire IT stack, including software applications.

d) Issues Related to Cloud Computing Application in E-Government:

1. Data Privacy and Security: E-government applications deal with sensitive citizen data.
Security breaches, data leaks, or unauthorized access can lead to privacy violations and
loss of trust.
2. Compliance and Legal Challenges: E-government services must comply with various
data protection and privacy regulations, creating legal complexities and the need for
compliance measures.
3. Data Sovereignty: Data hosted in the cloud may be subject to the laws and jurisdiction
of the cloud provider's location, potentially raising issues related to data sovereignty
and control.
4. Availability and Downtime: E-government services must be available 24/7. Cloud
outages or downtime can disrupt services and impact citizen satisfaction.
5. Cost Management: Managing cloud costs effectively and ensuring that cloud usage
aligns with budget constraints can be a challenge for government agencies.
6. Integration Complexity: Integrating cloud services with existing legacy systems and
databases can be complex and may require significant effort.
7. Interoperability: Ensuring that different e-government services are interoperable and
can work together seamlessly is a challenge.
8. User Accessibility and Inclusivity: Ensuring that e-government services are accessible
to all citizens, including those with disabilities, can be challenging.
9. Vendor Lock-In: Over-reliance on a specific cloud provider may lead to vendor lock-in,
limiting flexibility and potentially raising long-term costs.

e) Definitions:

i) Grid Computing:

 Definition: Grid computing is a distributed computing approach that connects multiple


computers and resources to work on a common task, typically involving large-scale data
processing or scientific computations. It aims to harness the collective power of
resources from various locations to solve complex problems.

ii) Virtualization: - Definition: Virtualization is a technology that abstracts and isolates


physical computing resources, such as servers, storage, or networking, to create virtual
instances or environments. These virtual instances can run multiple operating systems or
applications independently on a single physical machine, enhancing resource utilization,
scalability, and flexibility.

Explain the following types of hardware virtualization (6


marks)

i) Full virtualization
ii) Emulation virtualization
iii) Para virtualization

Hardware virtualization is a technology that allows multiple virtual machines (VMs) to


run on a single physical host, sharing the underlying hardware resources. There are
different types of hardware virtualization, each with its own approach to achieving this
goal. Here are explanations of the three types you mentioned:

i) Full Virtualization:

 Explanation: Full virtualization, also known as native virtualization or Type 1 hypervisor,


is a method in which a hypervisor runs directly on the physical hardware without the
need for a host operating system. It provides the highest level of isolation and
virtualization. The hypervisor intercepts and manages all hardware calls made by the
VMs, translating them to the host's hardware. VMs running in a fully virtualized
environment are typically unaware that they are virtualized and can run unmodified
guest operating systems, including those designed for different architectures.
 Advantages:
 High isolation between VMs.
 Better performance because there's no host OS layer.
 Compatibility with a wide range of guest operating systems.

ii) Emulation Virtualization:

 Explanation: Emulation virtualization, also known as hardware emulation, is a method in


which a virtual machine emulates the complete hardware environment, including the
CPU, memory, storage, and other hardware components. This approach is primarily used
to run guest operating systems that are not compatible with the host's hardware
architecture. It can be slower than other virtualization methods due to the overhead of
emulation.
 Advantages:
 Allows running guest operating systems on a different hardware architecture.
 Useful for legacy systems or unique environments.

iii) Para-virtualization:

 Explanation: Para-virtualization is a type of virtualization in which the guest operating


system is aware that it is running in a virtualized environment. The guest OS and the
hypervisor work together to optimize virtualization performance by replacing certain
operations with hypercalls or paravirtualized drivers. This approach can improve
performance and reduce overhead compared to full virtualization, but it requires
modifications to the guest operating system to operate efficiently.
 Advantages:
 Improved performance compared to full virtualization.
 Reduced virtualization overhead.
 More efficient resource usage.

Each type of hardware virtualization has its own use cases and advantages. The choice of
which type to use depends on factors like performance requirements, compatibility with
guest operating systems, and the level of isolation needed.

a) Explain the motivation towards cloud computing in recent


time (8 marks)

b) Discuss the technological and economic advantages for using


cloud computing (8 marks)
a) Motivation Towards Cloud Computing in Recent Times:

Several factors have motivated the increasing adoption of cloud computing in recent times:

1. Scalability and Flexibility: Cloud computing allows organizations to scale resources up or down
based on demand, providing flexibility to handle variable workloads. This scalability is especially
beneficial for businesses facing rapid growth or fluctuations in demand.
2. Cost Efficiency: Cloud services eliminate the need for heavy upfront investments in hardware and
infrastructure. Organizations can avoid the costs of maintaining and upgrading on-premises
equipment, instead paying for cloud services as operational expenses.
3. Remote Work and Collaboration: The shift toward remote work and global collaboration has
increased the need for cloud-based solutions. Cloud platforms offer accessibility from anywhere,
enabling teams to collaborate and access data remotely.
4. Digital Transformation: Many organizations are undergoing digital transformation efforts to
modernize their IT infrastructure. Cloud computing accelerates this transformation by providing the
latest technologies, reducing time to market, and enabling innovation.
5. Data Analytics and Big Data: Cloud platforms provide the computational power and storage
necessary for data analytics, big data processing, and machine learning. This capability has become
vital for making data-driven decisions.
6. Disaster Recovery and Business Continuity: Cloud services offer robust disaster recovery and
backup solutions. Organizations can replicate data and applications across geographic regions,
ensuring business continuity in the face of outages or disasters.
7. AI and Machine Learning: Cloud providers offer AI and machine learning services, making it
accessible for organizations to integrate artificial intelligence into their applications and processes.
8. Security and Compliance: Cloud providers invest heavily in security and compliance measures.
Organizations see the benefit of relying on cloud providers' expertise to enhance their security
posture.
9. Global Reach: Cloud providers have data centers in various regions worldwide. This global presence
allows organizations to expand into new markets without the need for significant infrastructure
investments.

b) Technological and Economic Advantages of Using Cloud Computing:

Technological Advantages:

1. Scalability: Cloud computing offers on-demand scalability, enabling organizations to easily adjust
resources to match their workloads, which is particularly beneficial for handling traffic spikes and
growth.
2. Flexibility: Cloud platforms provide diverse services, such as virtual machines, databases, and
content delivery, allowing organizations to choose the right tools and services for their specific
needs.
3. Speed and Agility: Cloud services reduce the time required to provision infrastructure and
resources, accelerating development and deployment cycles.
4. Advanced Technologies: Cloud providers invest in cutting-edge technologies, such as AI, machine
learning, and IoT, which organizations can leverage to gain a competitive edge.
5. Global Reach: Cloud providers have data centers in multiple regions, enabling global presence and
low-latency access to customers in various geographic locations.

Economic Advantages:

1. Cost Efficiency: Cloud computing shifts capital expenditures to operational expenditures, reducing
the need for costly upfront hardware purchases and ongoing maintenance expenses.
2. Pay-as-You-Go Model: Cloud services are often billed based on usage, allowing organizations to
pay only for the resources they consume, promoting cost optimization.
3. Resource Consolidation: Organizations can maximize resource utilization by sharing hardware and
infrastructure with other tenants, reducing costs through economies of scale.
4. Reduced Overhead: Cloud providers manage hardware maintenance, software updates, security,
and other operational tasks, reducing the burden on organizations' IT teams.
5. Competitive Pricing: Due to intense competition among cloud providers, customers benefit from
competitive pricing and a wide range of pricing models.
6. Business Continuity and Disaster Recovery: Cloud services offer cost-effective disaster recovery
solutions, eliminating the need for building and maintaining secondary data centers.
7. Innovation without Capital Investment: Organizations can access innovative technologies and
services without the need for significant capital investments or the risk of investing in unproven
technologies.

These technological and economic advantages have made cloud computing a compelling choice for
organizations across various industries, enabling them to improve efficiency, agility, and cost-
effectiveness while driving digital transformation and innovation.

a) Describe the four types of cloud resources found in mobile


cloud computing (4 marks)

b) Explain step involved while working with single sign-on


software
(6 marks)

c) Storing data in cloud is not a simple task apart from its


flexibility and convenience. Discuss challenges faced by
consumers while using cloud (6 marks)

d) Describe the several ways used to manage day to day cloud


operations
(4 marks)
a) Four Types of Cloud Resources Found in Mobile Cloud Computing:

Mobile cloud computing combines mobile devices with cloud resources to provide
various services. Four types of cloud resources found in mobile cloud computing are:

1. Infrastructure Resources: These resources include cloud-based servers, storage, and


networking components that provide the infrastructure for mobile applications. They
enable mobile devices to access computational and storage capabilities in the cloud.
2. Application Resources: Cloud-based applications and services that can be accessed
and executed on mobile devices fall into this category. Examples include cloud-based
productivity tools, communication apps, and mobile gaming services.
3. Data Resources: Cloud storage services provide data resources for mobile applications.
Users can store and retrieve data, such as files, photos, and videos, in the cloud, making
it accessible from multiple devices and ensuring data synchronization.
4. Service Resources: These resources encompass various cloud services that can be
integrated into mobile applications. Examples include authentication services, location-
based services, push notifications, and cloud-based databases.

b) Steps Involved in Working with Single Sign-On Software:

Single Sign-On (SSO) software allows users to access multiple applications and services
with a single set of credentials. The steps involved in working with SSO software include:

1. User Registration: Users need to register or create an account with the SSO system,
providing their username and password. This initial registration process may involve
multi-factor authentication for added security.
2. Integration with Applications: Applications and services that wish to implement SSO
need to integrate with the SSO software. This integration often involves configuring the
application to recognize the SSO system as the authentication authority.
3. User Authentication: When a user accesses an application, the application redirects the
user to the SSO system for authentication. The user enters their credentials, and the SSO
system validates them.
4. Access Tokens: After successful authentication, the SSO system generates access tokens
or authentication tokens. These tokens are used to represent the user's identity and
provide access to the integrated applications.
5. Token Exchange: The SSO system exchanges the access token with the integrated
application. The application validates the token with the SSO system to ensure that the
user is authenticated.
6. Access Control: Access to the application is granted based on the user's identity, which
is verified through the token. Users can access the application without the need to enter
their credentials again.
7. Logging Out: When a user logs out of one application, the SSO system logs them out
of all integrated applications, ensuring a secure and streamlined user experience.

c) Challenges Faced by Consumers While Using Cloud Storage:

Consumers face various challenges when using cloud storage services:

1. Data Privacy: Concerns about data privacy and who has access to stored data are
significant. Users may worry about the security of their personal information.
2. Data Security: Ensuring data security is challenging, as users rely on cloud providers to
implement robust security measures and encryption to protect their data.
3. Data Loss: The risk of data loss due to accidental deletions, hardware failures, or cloud
service outages is a concern. Consumers may need to implement their own backup
strategies.
4. Data Transfer Speed: Uploading and downloading data to and from the cloud can be
slow, especially for large files. It depends on the user's internet connection speed.
5. Service Reliability: Users may experience service interruptions or downtime when cloud
providers experience outages or technical issues.
6. Data Transfer Costs: Data transfer costs can add up, especially when moving large
amounts of data into or out of the cloud.
7. Vendor Lock-In: Users may become locked into a specific cloud provider's ecosystem,
making it challenging to switch providers or migrate data.
8. Compliance and Legal Concerns: Compliance with data protection laws and
regulations, as well as the legal aspects of data ownership, can be complex and vary by
region.
9. Data Synchronization: Ensuring data is synchronized across multiple devices and
platforms can be challenging, especially when using multiple cloud storage services.

d) Ways to Manage Day-to-Day Cloud Operations:

To manage day-to-day cloud operations effectively, organizations can:

1. Monitoring and Alerts: Implement robust monitoring tools to track resource utilization,
performance, and potential issues. Configure alerts to notify administrators of
anomalies.
2. Automation: Use automation tools to streamline routine tasks, such as resource
provisioning, scaling, and backup scheduling.
3. Security and Compliance: Regularly review and update security policies and ensure
compliance with relevant regulations. Conduct security audits and vulnerability
assessments.
4. Cost Management: Monitor and optimize cloud costs by analyzing usage patterns,
rightsizing resources, and leveraging cost optimization tools provided by cloud
providers.
5. Backup and Disaster Recovery: Implement backup and disaster recovery strategies to
ensure data resilience and business continuity.
6. Resource Allocation: Continuously assess resource allocation to match workload
demands. Scale resources up or down as needed.
7. Patch Management: Keep operating systems and software up to date by applying
patches and updates to address security vulnerabilities.
8. User Access Control: Manage user access to cloud resources through identity and
access management (IAM) tools, ensuring appropriate permissions and roles.
9. Performance Optimization: Regularly tune and optimize cloud resources to improve
performance and efficiency.
10. Documentation: Maintain documentation for cloud configurations, procedures, and
policies to ensure consistency and ease of management.

QUESTION FOUR

a) Discuss the following steps used to perform analysis of


problems that customer face (8 marks)

b) Discuss issues associated with running cloud as a community


cloud
(6 marks)

c) Explain the fundamental constraints that cloud infrastructure


should implement (6 marks)

a) Steps Used to Perform Analysis of Problems That Customers Face:

1. Problem Identification: The first step is to identify and define the problem. This
involves listening to customer feedback, conducting surveys, and analyzing support
tickets to understand the nature of the issues customers are facing.
2. Root Cause Analysis: Once the problem is identified, a deeper analysis is performed to
determine the root causes. This may involve investigating the underlying issues that
contribute to the problem's occurrence.
3. Data Collection: Collect relevant data, including customer complaints, system logs, and
performance metrics. This data helps in understanding the scope and impact of the
problem.
4. Data Analysis: Analyze the collected data to identify patterns, trends, and potential
correlations. This analysis can reveal common scenarios or triggers that lead to the
problem.
5. Prioritization: Not all problems have the same urgency or impact. Prioritize the
problems based on factors such as severity, the number of affected customers, and
business impact.
6. Solution Development: Once the root cause is identified, work on developing solutions
to address the problem. This may involve software patches, updates, configuration
changes, or process improvements.
7. Testing and Validation: Test the proposed solutions in a controlled environment to
ensure they effectively resolve the problem without introducing new issues.
8. Implementation: After successful testing, implement the solutions in the production
environment. This should be done carefully to minimize disruption to customers.
9. Monitoring: Continuously monitor the system after implementing the solutions to
ensure that the problem is indeed resolved and that no new issues arise.
10. Feedback Loop: Encourage customers to provide feedback on the effectiveness of the
solutions and to report any issues that may have been missed. Use this feedback to
refine the solutions and improve processes.

b) Issues Associated with Running Cloud as a Community Cloud:

1. Resource Sharing Challenges: In a community cloud, multiple organizations share


resources. Resource allocation and sharing policies must be well-defined to prevent
resource contention and ensure fair access.
2. Security and Compliance: Community clouds may have varying security and
compliance requirements among the member organizations. Managing and enforcing
consistent security measures and compliance can be complex.
3. Data Isolation: Ensuring the isolation of data between different member organizations
is critical to maintain data privacy and security. Misconfigurations or vulnerabilities could
lead to data leakage.
4. Governance and Management: Establishing governance structures and management
processes to handle disputes, service-level agreements (SLAs), and resource allocation
can be challenging.
5. Scalability: As the number of member organizations grows, scalability becomes a
concern. Ensuring that the cloud infrastructure can accommodate increasing demands is
essential.
6. Service Customization: Meeting the unique needs of each member organization may
require customization of services, which can be operationally challenging.

c) Fundamental Constraints that Cloud Infrastructure Should Implement:

1. Security: Cloud infrastructure must implement robust security measures to protect data,
applications, and resources. This includes data encryption, access controls, and threat
detection.
2. Availability: Cloud services should aim for high availability and reliability. This involves
redundant systems, load balancing, and failover mechanisms to minimize downtime.
3. Scalability: Cloud infrastructure should be designed to scale resources dynamically to
accommodate fluctuating workloads and growing demands.
4. Performance Optimization: Efficient resource utilization and optimization are crucial to
ensure high performance while managing operational costs.
5. Compliance: Cloud infrastructure should adhere to relevant legal and regulatory
compliance standards to protect user data and maintain trust.
6. Resource Allocation: Efficient resource allocation and management are essential to
prevent resource wastage and optimize cost-effectiveness.

QUESTION FIVE (20 MARKS)

a) Discuss problem associated with software as service (saas) (6


marks)

b) Before deploying applications to cloud. It is necessary to


consider your business requirements. Discuss issues on
must take into consideration (10 marks)

c) Explain services provided by identity as a service model (4


marks)

a) Problems Associated with Software as a Service (SaaS):

1. Limited Customization: SaaS applications may offer limited customization options,


making it challenging for organizations with unique requirements to adapt the software
to their specific needs.
2. Data Security: Storing data in the cloud can raise security concerns. Users may worry
about the safety of their sensitive information, especially if the SaaS provider
experiences a data breach.
3. Data Portability: Data lock-in can be an issue. Transferring data from one SaaS provider
to another can be complex, leading to vendor lock-in concerns.
4. Offline Access: SaaS applications typically require an internet connection. Users may
face challenges when offline or in areas with unreliable connectivity.
5. Subscription Costs: While SaaS often reduces upfront costs, long-term subscription
costs can add up. Organizations must carefully manage expenses, especially when the
number of users grows.

b) Considerations Before Deploying Applications to the Cloud:

1. Data Security: Evaluate the security measures of the cloud provider to protect sensitive
data and ensure compliance with industry regulations.
2. Scalability: Consider the ability to scale resources based on application demand to
avoid performance issues during traffic spikes.
3. Cost Analysis: Assess the total cost of ownership (TCO) of migrating to the cloud,
including subscription fees, data transfer costs, and maintenance expenses.
4. Integration: Ensure that the cloud environment supports seamless integration with
existing on-premises systems and other cloud services.
5. Data Backup and Recovery: Plan for data backup and disaster recovery strategies to
prevent data loss and ensure business continuity.
6. Compliance: Ensure that cloud services comply with legal and industry-specific
regulations to avoid legal complications.
7. Performance Expectations: Define performance expectations and service-level
agreements (SLAs) to guarantee that the cloud environment meets the required
performance standards.
8. Data Ownership: Clarify data ownership and control, especially when data is stored in
the cloud. Understand the cloud provider's policies regarding data access and retention.
9. Vendor Lock-In: Be aware of the potential for vendor lock-in and assess strategies for
data and application portability if there's a need to change cloud providers.
10. User Access and Identity Management: Implement robust identity and access
management (IAM) to control who can access and manage cloud resources, ensuring
data security.

c) Services Provided by Identity as a Service (IDaaS) Model:

Identity as a Service (IDaaS) offers a range of identity and access management services,
including:

1. Single Sign-On (SSO): IDaaS provides SSO solutions that enable users to access
multiple applications and services with a single set of credentials, enhancing user
convenience and security.
2. Multi-Factor Authentication (MFA): IDaaS platforms offer MFA solutions, adding an
extra layer of security through methods like SMS codes, biometrics, or security tokens.
3. User Provisioning and Deprovisioning: IDaaS simplifies user management by
automating user provisioning when employees join an organization and deprovisioning
when they leave, reducing administrative overhead.
4. Role-Based Access Control (RBAC): IDaaS platforms allow organizations to define
roles and permissions, ensuring that users have appropriate access levels based on their
job roles.
5. Password Management: Users can reset or change their passwords easily through self-
service password management tools provided by IDaaS platforms.
6. User Directory: IDaaS platforms maintain user directories with detailed user profiles,
simplifying user management and ensuring data accuracy.
7. Access Policies and Rules: Organizations can define access policies and rules to control
and audit user access to resources, enhancing security and compliance.
8. Security Logging and Monitoring: IDaaS platforms provide logging and monitoring
capabilities to track and analyze user activities, helping detect and respond to security
incidents.
9. Integration with Applications: IDaaS services integrate seamlessly with various cloud-
based and on-premises applications, making it easy for organizations to implement
identity and access management across their technology stack.
10. Adaptive Access Control: Some IDaaS platforms offer adaptive access control, which
uses contextual information to make real-time access decisions, enhancing security and
usability.

a) Amazon web services is which type of cloud computing


distribution model (2 marks)
Public

b) Distinguish the following terms;

i) Private cloud (2 marks)


ii) Public cloud (2 marks)
iii) Community cloud (2 marks)

c) What are the five desirable properties of cloud computing


services
(10 marks)

d) Why is service level agreement and quality of service important


in cloud computing? Cite four reasons to explain your
answer (8 marks)
1. Performance Assurance: SLAs define the expected performance levels and quality of
service that cloud providers commit to delivering to their customers. They specify
metrics like response times, uptime, and throughput. This performance assurance is
essential to ensure that users receive a consistent and predictable level of service. It sets
clear expectations regarding the performance of cloud resources and applications.
2. Service Reliability: SLAs often include guarantees related to uptime and availability.
Cloud providers commit to maintaining a certain level of service reliability. These
commitments are crucial for organizations that rely on cloud services for their business
operations. Downtime or service disruptions can have a significant impact on
productivity and profitability. SLAs hold cloud providers accountable for ensuring the
reliability of their services.
3. Cost Management: SLAs may also include pricing and cost-related terms. These terms
specify the pricing structure, data transfer costs, and any additional charges.
Understanding the pricing terms in an SLA is critical for organizations to effectively
manage their cloud spending. It helps prevent unexpected costs and budget overruns
by providing transparency and predictability in cost management.
4. Legal and Compliance Requirements: SLAs often include provisions related to data
security, compliance, and data sovereignty. These provisions are vital for organizations
operating in regulated industries or those that handle sensitive or confidential data.
SLAs can define the security measures, data protection practices, and compliance
standards that cloud providers adhere to. This is especially important in regions with
strict data protection laws, as it ensures that data is handled in a manner compliant with
legal and regulatory requirements.
5. Service Customization: SLAs can outline the options for customizing cloud services to
meet the specific needs of an organization. This is particularly important for enterprises
with unique requirements. SLAs can specify the degree of customization and
configuration allowed within the cloud environment.
6. Dispute Resolution: SLAs often include dispute resolution mechanisms, outlining the
process for addressing conflicts or disagreements between customers and cloud
providers. These mechanisms are essential for maintaining a positive business
relationship and resolving issues promptly.
7. Continuous Improvement: SLAs may encourage continuous service improvement.
Providers commit to regularly reviewing and enhancing their services. This ensures that
cloud services evolve to meet changing technology standards and customer needs.
8. Resource Allocation: QoS parameters, which are often defined in SLAs, allow cloud
providers to allocate resources according to priority and demand. By understanding
QoS, organizations can ensure that critical workloads receive the resources they need to
perform optimally.

e) Cloud computing services should “self manage”. Explain what


this means (4 marks)
In the context of cloud computing services, "self-manage" means that the
services are designed to autonomously handle routine management and
maintenance tasks. This includes tasks such as resource provisioning, load
balancing, security patching, and scaling. Self-management reduces the
administrative burden on users and cloud administrators, improves
efficiency, and allows resources to be optimally allocated based on
workload demands. It leverages automation and intelligent systems to
streamline operations and minimize human intervention, resulting in more
reliable and cost-effective cloud services.

QUESTION TWO

a) Elaborate on four important security and privacy issues that


needs to be addressed in cloud computing (8 marks)
1. without robust authentication and authorization protocols.
2. Network Security: Ensuring the security of data in transit is vital. Measures like secure
sockets layer (SSL) or transport layer security (TLS) encryption are needed to protect
data as it moves between the client and the cloud server.
3. Security Patch Management: Regularly updating and patching software is critical to
address vulnerabilities. Cloud providers should have a robust patch management
process to keep their systems secure.
4. Vendor Lock-In: Vendor lock-in occurs when customers become overly dependent on a
specific cloud provider's services. This can limit flexibility and increase long-term costs.
Customers should plan for data portability and use open standards when possible to
mitigate lock-in.
5. Data Residency and Sovereignty: Organizations may have legal requirements or
preferences for where their data is stored and processed. They must ensure that the
cloud provider can meet these requirements and that data is not subject to laws outside
their jurisdiction.
6. Incident Response and Recovery: A robust incident response plan is essential to
minimize damage in the event of a security breach or service outage. Cloud providers
and customers should have clear procedures for incident detection, reporting, and
recovery.
7. Data Encryption: Data should be encrypted both at rest and in transit. Proper
encryption techniques help protect data from unauthorized access or theft.
8. Shared Responsibility: Understanding the division of security responsibilities between
the cloud provider and the customer is crucial. Customers are often responsible for
securing their applications and data, while the provider secures the underlying
infrastructure.
9. Third-Party Assessments: Many organizations conduct third-party security assessments
or audits of their cloud providers to ensure they meet security and compliance
requirements.
10. Data Portability: Customers should have strategies in place for migrating data and
applications to other providers or back to on-premises infrastructure if needed. Data
portability mitigates the risk of vendor lock-in.
11. Insider Threats: Insider threats, where individuals within an organization misuse their
access for malicious purposes, are a significant concern. IAM controls can help mitigate
this risk.

b) Distinguish the following terms as used in cloud computing in


terms of performance and optimization;

i) Parallel computing (2 marks)


ii) Load balancing (2 marks)
iii) Job scheduling (2 marks)

c) Explain the difference between; uniform access and thin client


(4 marks)

c) What is the advantage of private cloud (2 marks)


d) Security and Privacy: Private clouds provide a high degree of control over data
and security. Organizations can implement custom security measures, access
controls, and encryption protocols to protect sensitive data.
e) Customization: Private clouds allow organizations to tailor the cloud
environment to their specific requirements. This includes customizing hardware,
software, and network configurations to meet unique business needs.
f) Compliance: Private clouds are well-suited for industries with strict regulatory
requirements. Organizations can ensure compliance with industry-specific
regulations and data protection laws within their private cloud environment.
g) Resource Allocation: Private clouds offer more predictable and dedicated
resource allocation. This ensures consistent performance and minimizes the risk
of resource contention.
h) Isolation: Private clouds provide a higher degree of data and resource isolation.
Organizations do not share resources with other external entities, reducing the
risk of data leakage and unauthorized access.
i) Flexibility: Private clouds can be hosted on-premises or by a third-party
provider. This flexibility allows organizations to choose the deployment model
that aligns with their infrastructure and business strategies.

Explain multi-tenant design (2 marks)


Multi-Tenant Design:

Multi-tenant design is an architectural approach in cloud computing where a single


software application or system serves multiple clients or tenants. In this design, the
resources and infrastructure are shared among different users or organizations while
ensuring isolation and security. It allows multiple customers to use the same application
or service without interfering with each other. This approach is cost-effective and
resource-efficient because it maximizes the use of shared resources.

b) Give and elaborate the four characteristics of faulty tolerance


(8 marks)

Fault tolerance is a critical aspect of system design that aims to ensure the continuous
and reliable operation of a system, even in the presence of hardware or software
failures. The key characteristics of fault tolerance include:

1. Redundancy: Fault-tolerant systems incorporate redundancy at various levels, such as


hardware, software, and data. Redundancy means having backup or duplicate
components or resources that can take over if the primary components fail. This
redundancy minimizes the risk of a single point of failure and ensures that the system
can continue functioning in the face of failures.
2. Error Detection and Correction: Fault-tolerant systems are equipped with mechanisms
for detecting errors or failures as they occur. These mechanisms may include
monitoring, error-checking algorithms, or built-in diagnostics. In some cases, error
correction codes are employed to automatically correct errors without human
intervention, enhancing the system's robustness.
3. Isolation and Containment: In the event of a failure, fault-tolerant systems are
designed to isolate the fault and contain its impact. This means that a failure in one part
of the system should not propagate to other components or affect the entire system.
Isolation prevents the failure from causing cascading issues and allows the system to
maintain operational integrity.
4. Graceful Degradation: Fault-tolerant systems are designed to gracefully degrade in the
presence of failures. This means that even when certain components or services
experience issues, the system continues to function, albeit at reduced capacity or with
limited functionality. The user experience remains acceptable, and critical services are
prioritized to ensure essential operations can continue.
5. Fault Recovery: Fault-tolerant systems include mechanisms for fault recovery, which
involve identifying and addressing the root cause of a failure. Recovery may include the
automatic reconfiguration of resources, the replacement of failed components, or the
restoration of data from backups. The goal is to restore the system to its normal state as
quickly and efficiently as possible.
6. Redundancy Management: Effective management of redundant resources is crucial in
fault-tolerant systems. This includes load balancing, failover mechanisms, and the ability
to switch seamlessly between primary and backup resources. Redundancy management
ensures that resources are used efficiently and that the system maintains optimal
performance.
7. Fail-Safe Design: Fault-tolerant systems often adopt a fail-safe design philosophy. This
means that they are designed with a focus on safety and reliability. Redundant
components, automated recovery procedures, and robust error handling are integral to
this design approach.
8. Real-Time Monitoring and Reporting: Continuous monitoring of the system's health
is essential for early fault detection. Fault-tolerant systems employ real-time monitoring
and reporting mechanisms to identify issues as they arise and trigger appropriate
responses, such as failover or recovery procedures.
9. Proactive Maintenance: Regular maintenance and testing of redundant components
and fault-tolerant mechanisms are essential to ensure that the system remains reliable.
Proactive maintenance includes updating software, replacing hardware, and periodically
testing failover and recovery processes.

c) Enumerate two strategies used in disaster recovery in a cloud


computing environment (4 marks)
1. Backup and Restore:
 Strategy Description: Regularly back up data, applications, and configurations to
a secure location. In the event of a disaster, restore the system from these
backups.
 Key Components: Backup schedule, data encryption, offsite backup, version
control, automated backup.
 Benefits: Cost-effective, simple, and suitable for organizations with less stringent
RTOs and RPOs.
2. Geographical Redundancy:
 Strategy Description: Replicate resources, data, and applications across multiple
geographically distributed data centers or cloud regions. In case of a disaster in
one region, services can be quickly shifted to a redundant region.
 Key Components: Data replication, load balancing, failover mechanisms, traffic
DNS routing.
 Benefits: High availability, scalability, and suitability for organizations with
stringent RTOs and RPOs.
3. High Availability (HA):
 Strategy Description: Deploy systems and applications with built-in redundancy
and automatic failover capabilities. These systems are designed to minimize
downtime and ensure continuous operation.
 Key Components: Redundant servers, load balancers, database clustering,
automatic failover mechanisms.
 Benefits: Near-zero downtime, real-time failover, and rapid recovery.
4. Data Mirroring:
 Strategy Description: Maintain synchronized copies of data in real time on
separate storage systems or locations. If one copy is compromised, the other
remains intact and accessible.
 Key Components: Real-time data synchronization, automated failover, data
consistency checks.
 Benefits: Minimal data loss, rapid failover, and data consistency.
5. Cloud-Based Disaster Recovery as a Service (DRaaS):
 Strategy Description: Leverage third-party cloud providers' DRaaS solutions to
replicate data and applications to their infrastructure. DRaaS offers automated
recovery options in case of a disaster.
 Key Components: DRaaS providers, data replication, recovery plan configuration,
continuous monitoring.
 Benefits: Outsourced and automated disaster recovery, scalability, and expertise.
6. Snapshot Backups:
 Strategy Description: Capture point-in-time snapshots of the system's state,
including data, configurations, and application settings. These snapshots can be
used for recovery.
 Key Components: Snapshot scheduling, retention policies, storage management.
 Benefits: Rapid recovery, granularity in restoring to specific points in time.
7. Data Archiving:
 Strategy Description: Archive data to lower-cost storage for long-term
retention. While not a disaster recovery strategy on its own, archiving can
complement other strategies by preserving historical data.
 Key Components: Data lifecycle policies, archival storage solutions.
 Benefits: Cost-effective data retention and compliance with data retention
regulations.
8. Hybrid Cloud Disaster Recovery:
 Strategy Description: Combine on-premises infrastructure with cloud resources
for disaster recovery. The cloud provides a secondary site for recovery while on-
premises systems serve as the primary site.
 Key Components: Data replication, virtualization, orchestration, cloud resources.
Benefits: Cost-effective, scalable, and flexible recovery options.
9. Cold, Warm, and Hot Standby Environments:
 Strategy Description: Maintain standby environments of varying readiness
levels. A cold standby has no data loaded; a warm standby has partially loaded
data, and a hot standby is fully operational.
 Key Components: Standby environments, data synchronization processes,
automation.
 Benefits: Flexibility to balance cost and recovery speed.

d) The government of Kikwetu has engaged you to advice on


business that should be encouraged to adopt cloud
computing. Give THREE types of businesses and explain
the reason why they are suitable for the service (6 marks)
1. Startups and Small Businesses:
 Reasons for Adoption:
 Cost-Efficiency: Startups and small businesses often have limited IT
budgets. Cloud computing allows them to access advanced IT
infrastructure, applications, and services without the upfront costs
associated with building and maintaining on-premises data centers.
 Scalability: Cloud services provide the flexibility to scale resources up or
down as the business grows or experiences fluctuations in demand. This
agility is essential for startups with uncertain growth trajectories.
 Accessibility: Cloud services can be accessed from anywhere with an
internet connection, enabling remote work and collaboration, which is
valuable for small businesses with distributed teams or those operating in
shared workspaces.
 Focus on Core Business: By outsourcing IT infrastructure management to
cloud providers, startups can focus on developing their core products and
services rather than dealing with IT maintenance.
2. E-commerce Businesses:
 Reasons for Adoption:
 Scalability: E-commerce businesses often experience fluctuating traffic
patterns, especially during peak shopping seasons. Cloud computing
allows them to scale their infrastructure to handle increased web traffic,
ensuring a seamless shopping experience for customers.
 Reliability: Downtime in e-commerce can result in significant revenue
loss. Cloud providers offer high availability and fault tolerance, reducing
the risk of service interruptions.
 Security and Compliance: Cloud platforms offer robust security features
to protect customer data and facilitate payment processing. They also
provide tools for meeting compliance requirements in the e-commerce
industry.
 Global Reach: E-commerce businesses looking to expand internationally
can leverage cloud providers with a global presence to ensure their
services are accessible from various regions.
3. Software as a Service (SaaS) Providers:
 Reasons for Adoption:
 Scalability and Flexibility: SaaS providers can leverage cloud
infrastructure to scale their services globally. Cloud platforms offer the
flexibility to expand and contract resources based on user demand.
 Security and Compliance: Cloud providers offer security features and
compliance certifications that align with industry standards. SaaS providers
can focus on developing their applications while relying on cloud security
measures.
 Managed Services: Cloud providers offer services for managing user
accounts, billing, authentication, and identity and access management
(IAM). SaaS providers can benefit from these services to streamline their
operations.
 Global Delivery: Cloud platforms offer global content delivery networks
(CDNs) to optimize the delivery of SaaS applications, ensuring a smooth
user experience for customers worldwide.

a) Cloud computing is a paradigm of computing a new way of thinking about IT industry


but not any specific technology. Explain the central ideas behind this. (6marks)
b) What are the properties and characteristics of cloud computing? Explain each

(10marks)
c) Cloud computing rides on three enabling techniques. List and explain each of the
techniques. (6marks)
d) Security is a key issue that has to be addressed in cloud computing. Explain the important
security and privacy issues that need to be addressed. (8marks)

a) Central Ideas Behind Cloud Computing:

Cloud computing is a paradigm shift in the IT industry that is based on several central
ideas:
1. On-Demand Self-Service: Users can provision and manage computing resources as
needed, without requiring human intervention from service providers. This self-service
model allows users to scale resources up or down as their requirements change.
2. Broad Network Access: Cloud services are accessible over the internet from a variety of
devices, including laptops, smartphones, and tablets. This accessibility promotes remote
work and collaboration.
3. Resource Pooling: Cloud providers pool and share computing resources, such as
servers, storage, and network infrastructure, to serve multiple customers. These
resources are dynamically allocated based on demand.
4. Rapid Elasticity: Cloud services can quickly scale up or down to accommodate
changing workloads. Users can access additional resources when needed and release
them when they are no longer required.
5. Measured Service: Cloud computing services are metered, and users are billed based
on their actual usage. This "pay-as-you-go" model allows organizations to control costs
and allocate resources efficiently.
6. Abstraction and Virtualization: Cloud computing abstracts the underlying hardware
and infrastructure, providing users with virtualized resources. This abstraction allows for
flexibility and resource optimization.
7. Automation and Orchestration: Cloud services often include automation and
orchestration tools that simplify tasks like resource provisioning, scaling, and
management. This automation enhances efficiency.
8. Service Models: Cloud computing offers various service models, including Infrastructure
as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). Users
can choose the level of control and management they require.

b) Properties and Characteristics of Cloud Computing:

Cloud computing exhibits several properties and characteristics, each of which


contributes to its appeal and functionality:

1. Scalability: Cloud resources can be easily scaled up or down to accommodate changing


workloads, ensuring that organizations pay only for what they use.
2. Resource Pooling: Cloud providers pool computing resources to serve multiple
customers, optimizing resource utilization and efficiency.
3. Elasticity: Cloud services can rapidly scale to meet demand, making them well-suited
for dynamic and unpredictable workloads.
4. Self-Service: Users can provision and manage resources independently, reducing the
need for manual intervention from service providers.
5. Broad Network Access: Cloud services are accessible over the internet from various
devices and locations, promoting accessibility and flexibility.
6. Measured Service: Usage of cloud services is metered, allowing users to pay for the
resources they consume. This "pay-as-you-go" model enhances cost control.
7. Virtualization: Cloud computing leverages virtualization to abstract and separate
resources from the underlying physical infrastructure, providing flexibility and isolation.
8. Automation: Automation tools streamline tasks like provisioning, deployment, and
management, reducing manual effort and minimizing errors.
9. Service Models: Cloud offers a range of service models, including IaaS, PaaS, and SaaS,
allowing users to choose the level of control and management they require.
10. Multi-Tenancy: Multiple users or organizations share the same cloud infrastructure,
promoting resource efficiency and cost savings.

c) Enabling Techniques in Cloud Computing:

Cloud computing relies on three fundamental enabling techniques:

1. Virtualization: Virtualization technology allows the abstraction of physical resources,


such as servers, storage, and networking. It creates virtual instances that can run
multiple operating systems and applications independently. Virtualization enables
resource isolation and efficient resource utilization.
2. Distributed Computing: Cloud computing leverages distributed computing concepts
to spread workloads across multiple servers or data centers. This approach enhances
fault tolerance, load balancing, and resource availability.
3. Internet Technologies: The use of internet technologies, such as web-based APIs
(Application Programming Interfaces) and web services, facilitates remote access to
cloud services from anywhere with an internet connection. These technologies enable
the broad network access characteristic of cloud computing.

d) Security and Privacy Issues in Cloud Computing:

Security and privacy issues are paramount in cloud computing and include:

1. Data Security: Protecting data from unauthorized access and breaches is a top concern.
Data encryption, access controls, and data segregation are essential for safeguarding
sensitive information.
2. Data Privacy: Maintaining the privacy of data is crucial, especially for organizations
handling personal or sensitive information. Compliance with data protection laws is
necessary to ensure privacy.
3. Compliance: Different industries and regions have specific compliance requirements.
Cloud providers must adhere to these regulations. Customers should verify that their
chosen provider complies with relevant legal and industry standards.
4. Identity and Access Management (IAM): Effective IAM mechanisms are essential for
controlling access to cloud resources, preventing identity theft, and unauthorized
access.
5. Network Security: Secure data in transit through mechanisms like SSL/TLS encryption.
Network security is vital to protect data during transfer.
6. Incident Response and Recovery: A robust incident response plan is essential to
minimize damage in case of security breaches or service outages. Proactive measures
and recovery plans are crucial.
7. Vendor Lock-In: Organizations should consider strategies for data portability to
mitigate vendor lock-in risks.
8. Data Portability: Data should be accessible and transferable to different cloud
providers or on-premises environments to avoid vendor lock-in and ensure business
continuity.

QUESTION TWO (20 marks)


a) Define Distributed System and give an example of its implementation (4marks)
b) Explain two types of components that are virtualized, in network virtualization

(4marks)
c) Elaborate on the three (3) common storage architecture in storage virtualization

(6marks)
d) What are the desirable properties of storage virtualization? (6marks)

a) Distributed System Definition and Example:

Distributed System is a collection of interconnected, autonomous computers that work


together to achieve a common goal. In a distributed system, these computers, also
known as nodes, communicate and coordinate their actions through message passing.
Distributed systems can be geographically dispersed and often appear as a single,
unified system to users or applications.

Example: One example of a distributed system is a content delivery network (CDN).


CDNs consist of multiple servers distributed across different geographical locations.
These servers work together to cache and deliver web content, such as images, videos,
and web pages, to users with low latency. CDNs aim to reduce the load on a single
server and enhance the speed and availability of content delivery to end users.

b) Two Types of Components Virtualized in Network Virtualization:


1. Virtualized Network Functions (VNFs): VNFs involve the virtualization of networking
services or functions that are traditionally hardware-based. Examples include virtual
routers, firewalls, load balancers, and WAN accelerators. VNFs run as software instances
on standard servers, allowing for flexible and dynamic network services provisioning.
2. Virtual LANs (VLANs): VLANs are a form of network virtualization that segments a
physical network into multiple logical networks. Each VLAN operates as an isolated
network, and traffic between VLANs can be controlled and managed. VLANs enable
network administrators to create separate broadcast domains, improving network
security and resource isolation.

c) Three Common Storage Architecture in Storage Virtualization:

1. Block-Level Storage Virtualization: In block-level storage virtualization, storage


devices are divided into blocks, typically at the level of individual disk sectors. These
blocks can be abstracted and managed independently, allowing for dynamic storage
allocation and improved resource utilization. Examples of block-level storage
virtualization include Storage Area Networks (SANs) and technologies like Logical Unit
Number (LUN) masking.
2. File-Level Storage Virtualization: File-level storage virtualization operates at the file
level and provides a layer of abstraction over file storage systems. It allows the
aggregation of multiple file storage resources into a single, unified namespace, making
it easier to manage and access files. Network-attached storage (NAS) systems often
employ file-level storage virtualization.
3. Object Storage Virtualization: Object storage virtualization is designed for the efficient
management of large amounts of unstructured data, such as media files and
documents. It abstracts and virtualizes the underlying physical storage infrastructure,
presenting data as objects with metadata. Object storage systems are highly scalable
and suitable for cloud environments, where vast amounts of data need to be stored and
accessed.

d) Desirable Properties of Storage Virtualization:

1. Abstraction and Aggregation: Storage virtualization should abstract the underlying


physical storage resources, creating a logical layer that hides the complexity of
individual devices. It should also allow for the aggregation of storage resources,
enabling efficient utilization and scalability.
2. Heterogeneity: Effective storage virtualization should support various storage devices
and technologies, regardless of vendor or type. This ensures flexibility and avoids
vendor lock-in.
3. Dynamic Provisioning: Storage virtualization should allow for dynamic provisioning of
storage resources to meet changing demands. It should be capable of allocating or
reallocating storage on-the-fly to optimize resource utilization.
4. Data Migration: The ability to migrate data transparently between different storage
systems or tiers is a valuable property. This ensures that data can be moved for
performance optimization, capacity management, or technology upgrades without
disruption.
5. Data Protection: Storage virtualization should incorporate data protection features,
such as redundancy, snapshots, and backups, to ensure data integrity and availability.
6. Scalability: Scalability is a critical property for accommodating the growing data
storage needs of modern organizations. Storage virtualization should be able to scale
horizontally by adding more resources as required.

QUESTION THREE (20 marks)


a) Explain service oriented architecture with relevant example. (8marks)
b) Give an overview of services offered through cloud computing. Give relevant example
for each service.
a) Service-Oriented Architecture (SOA) with Relevant Example:

Service-Oriented Architecture (SOA) is an architectural approach that structures


software applications as a collection of loosely coupled, reusable services. These services
are designed to provide specific functionality and can be accessed and combined to
build more complex applications. SOA emphasizes the use of standards and protocols
for communication, making it possible for different systems to interact and share data
seamlessly.

Example: Consider an e-commerce platform that follows SOA principles. In this


scenario, the platform is divided into various services, each responsible for specific
functions:

1. Order Processing Service: This service handles order placement, payment processing,
and order confirmation. It communicates with payment gateways, inventory systems,
and customer databases to complete the order.
2. Product Catalog Service: This service manages product information, including product
details, pricing, and availability. It exposes APIs that other services can use to retrieve
product data.
3. User Authentication Service: Responsible for user authentication and authorization. It
provides login and user profile services and ensures secure access to the e-commerce
system.
4. Shipping and Delivery Service: Manages shipping logistics, including order tracking,
shipping options, and delivery status. It interfaces with courier services and logistics
providers.
5. Customer Review Service: Allows customers to submit and read product reviews. This
service integrates with the product catalog to display reviews for each product.

In this SOA-based e-commerce platform, each service encapsulates a specific aspect of


the system's functionality and communicates with other services through well-defined
APIs. This loose coupling makes it easier to develop, maintain, and scale the platform.
For instance, if the product catalog service needs an update, it can be modified without
affecting other services, provided the API remains consistent.

b) Services Offered Through Cloud Computing with Examples:

Cloud computing offers a range of services, each catering to different aspects of IT


infrastructure and application development. Here are some core cloud services with
relevant examples:

1. Infrastructure as a Service (IaaS):


 Example: Amazon Web Services (AWS) EC2 (Elastic Compute Cloud) offers virtual
machines (instances) with various configurations. Users can deploy their
operating systems and applications, providing a flexible computing environment.
2. Platform as a Service (PaaS):
 Example: Google App Engine provides a platform for developing, deploying, and
managing web applications. Developers can focus on writing code without
dealing with infrastructure management.
3. Software as a Service (SaaS):
 Example: Microsoft Office 365 delivers office productivity software, including
Word, Excel, and Outlook, as a cloud service. Users access these applications
through web browsers without installing software locally.
4. Database as a Service (DBaaS):
 Example: Amazon RDS (Relational Database Service) offers managed database
services for various database engines like MySQL, PostgreSQL, and Microsoft SQL
Server. It handles database maintenance tasks, making it easier for developers to
manage databases.
5. Storage as a Service:
 Example: Dropbox is a cloud storage service that allows users to store,
synchronize, and share files across devices. It provides scalable storage capacity
without the need for users to manage their infrastructure.
6. Function as a Service (FaaS):
 Example: AWS Lambda is a serverless computing service that runs code in
response to events. Developers can write functions, and AWS manages the
underlying infrastructure, scaling resources as needed.
7. Content Delivery Network (CDN):
 Example: Cloudflare is a CDN service that caches and delivers web content from
edge servers located worldwide. It accelerates content delivery and enhances
website performance.
8. Big Data and Analytics Services:
 Example: Google BigQuery is a fully managed, serverless data warehouse that
allows users to analyze large datasets using SQL. It's ideal for data analytics and
business intelligence.

QUESTION FOUR (20 marks)


a) Explain the term virtualization and state its benefits. (4marks)
b) Explain the following properties supported by virtualization techniques;
i) Manageability and inter-operability
ii) Availability and reliability
iii) Scalability and elasticity (12marks)
iv) List examples of virtualized resources

a) Virtualization and Its Benefits:

Virtualization is the process of creating a virtual (software-based) version of a resource


or entity, such as a server, storage device, network, or operating system. It allows
multiple virtual instances to run on a single physical resource, making efficient use of
hardware and providing isolation between virtual entities.

Benefits of Virtualization:

1. Resource Utilization: Virtualization enables the efficient utilization of physical


resources, as multiple virtual instances can run on the same hardware. This optimizes
hardware usage and reduces the need for additional physical machines.
2. Isolation: Virtualization provides isolation between virtual instances. Failures or issues in
one virtual environment do not impact others, enhancing system stability and security.
3. Cost Reduction: By reducing the number of physical servers and hardware components
required, virtualization lowers hardware and operational costs. Organizations can
achieve more with fewer resources.
4. Flexibility and Agility: Virtualization allows for the rapid provisioning and deployment
of virtual instances. It is a key enabler of cloud computing, providing the flexibility to
scale resources up or down as needed.

b) Properties Supported by Virtualization Techniques:

i) Manageability and Inter-operability:

 Manageability: Virtualization simplifies resource management by centralizing control


and automation. Administrators can provision, monitor, and maintain virtual instances
from a single interface, streamlining tasks.
 Inter-operability: Virtualization promotes compatibility between different software and
hardware components. Virtualization technologies, like hypervisors, provide a common
layer that abstracts hardware, allowing diverse systems to run on the same
infrastructure.

ii) Availability and Reliability:

 Availability: Virtualization enhances system availability through features like live


migration and failover. Virtual machines can be moved to healthier host servers without
service interruption, reducing downtime.
 Reliability: Virtualization provides fault isolation, preventing problems in one virtual
instance from affecting others. This isolation increases overall system reliability.

iii) Scalability and Elasticity:

 Scalability: Virtualization facilitates scalability by allowing the dynamic allocation of


resources to meet changing demands. Additional virtual instances can be created or
resources allocated as needed, supporting growth.
 Elasticity: Elasticity is a feature of cloud computing that leverages virtualization. It
enables resources to automatically scale in or out based on workload fluctuations.
Applications can handle varying loads without manual intervention.

c) Examples of Virtualized Resources:

 Virtual Servers (VMs): Entire server environments can be virtualized, running multiple
virtual machines on a single physical server.
 Virtual Storage: Storage virtualization abstracts and aggregates storage resources,
making it easier to manage and scale storage.
 Virtual Networks: Network virtualization divides a physical network into multiple logical
networks, enhancing security and resource allocation.
 Virtual Desktops: Virtual desktop infrastructure (VDI) creates virtual desktop
environments for end-users, hosted on centralized servers.
 Virtual Operating Systems: Containers and container orchestration platforms, like
Docker and Kubernetes, create virtualized environments for running applications.
 Virtual Routers and Firewalls: Network functions can be virtualized to provide routing,
firewall, and security services.
 Virtual Appliances: Virtualized software solutions for specific tasks, such as load
balancers and intrusion detection systems.

QUESTION FIVE (20 marks)


a) Your company runs a virtual web server in-house. You decide to make the web
application available over the internet through a cloud provider. How will you achieve
this? (6marks)
rd
b) Purchasing software and providing it for a 3 party that installs and manages that
software in a cloud is an example of which cloud service? Give reasons for your answer.

(4marks)
c) Your client is the IT Director for a retail clothing outlet. Your competitors are using
internet delivered inventory, storage and backup solutions from a specific provider. You
conclude it is best that your company use the same services from the same provider.
What type of cloud will you advise them to take? Give reasons. (10marks)

a) Making a Web Application Available Over the Internet through a Cloud


Provider:

To make a web application available over the internet through a cloud provider, you can
follow these steps:

1. Choose a Cloud Provider: Select a reputable cloud provider based on your


organization's requirements, budget, and the location of their data centers.
2. Sign Up for Cloud Services: Create an account with the chosen cloud provider and set
up your billing information.
3. Select Appropriate Cloud Service: Choose the appropriate cloud service model based
on your needs:
 Infrastructure as a Service (IaaS): In this model, you can provision virtual
machines (VMs) on the cloud provider's infrastructure and install the web server
and application software yourself.
 Platform as a Service (PaaS): PaaS offers a pre-configured environment for
hosting web applications. You can deploy your application code without
managing the underlying infrastructure.
4. Provision Resources: If using IaaS, provision the necessary virtual machines, storage,
and network resources. Configure firewall rules to allow incoming web traffic (typically
on port 80 or 443).
5. Deploy Web Application: If using IaaS, install and configure the web server software on
the virtual machines. For PaaS, deploy your web application code using the platform's
deployment tools.
6. Configure DNS: Update your domain's DNS settings to point to the cloud provider's IP
address. This step ensures that your web application is accessible via your domain name.
7. Security and Access Control: Implement security measures, such as firewall rules, SSL
certificates for secure communication, and access controls to protect your web
application.
8. Scaling: Depending on your anticipated traffic, set up auto-scaling rules to ensure that
your application can handle increased demand. Configure monitoring and alerts to track
performance and security.
9. Testing and Optimization: Test your web application in the cloud environment,
optimize its performance, and conduct thorough testing to ensure it functions correctly.
10. Backup and Disaster Recovery: Implement backup and disaster recovery strategies to
protect your data and application in case of unexpected events.
11. Monitoring and Maintenance: Regularly monitor your application's performance,
security, and resource utilization. Perform routine maintenance and apply updates as
needed.
12. Cost Management: Continuously manage and monitor your cloud usage to optimize
costs, ensuring you're not overpaying for resources.

b) Example of Cloud Service - SaaS:

Purchasing software and providing it for a 3rd party that installs and manages the
software in a cloud is an example of Software as a Service (SaaS). SaaS is a cloud
service model where software applications are hosted in the cloud and made accessible
to users over the internet. In this scenario, a third party (cloud provider) delivers the
software as a service, eliminating the need for organizations to install, manage, or
maintain the software locally.

Reasons:
 In a SaaS model, the software is provided as a service over the internet, and users access
it through web browsers or dedicated client applications. This eliminates the need for
organizations to install and manage the software on their local servers or devices.
 SaaS providers handle software maintenance, updates, and infrastructure management.
Users are relieved of the burden of software installation, configuration, and ongoing
maintenance tasks.
 SaaS offerings are typically subscription-based, making it cost-effective as organizations
pay only for the services they use. It reduces upfront software licensing costs.
 SaaS solutions are highly scalable and allow users to access software from various
locations and devices, promoting flexibility and accessibility.

c) Type of Cloud for Retail Clothing Outlet:

For the retail clothing outlet, it is advisable to use a Public Cloud from the same cloud
provider that competitors are using.

Reasons:

1. Cost-Efficiency: Public clouds are cost-effective as they follow a pay-as-you-go model.


This allows the retail outlet to scale resources based on demand, ensuring that they only
pay for the services they use.
2. Scalability: Public clouds provide the scalability needed to handle varying workloads in
a retail environment. During peak seasons or sales, the retailer can quickly scale
resources to meet customer demands.
3. Shared Infrastructure: By using the same cloud provider as competitors, the retail
outlet can benefit from the provider's robust and shared infrastructure. This reduces the
need for the retailer to invest in and manage their own data centers.
4. Rapid Deployment: Public clouds offer rapid deployment of services and applications.
The retail outlet can quickly implement internet-delivered inventory, storage, and
backup solutions, gaining a competitive advantage.
5. Access to Vendor Ecosystem: Using the same cloud provider as competitors may
provide access to a shared vendor ecosystem, including third-party applications and
integrations that are compatible with the cloud provider's services.
6. Data Redundancy and Security: Public cloud providers offer data redundancy and
security features, ensuring that critical inventory and customer data are protected and
available.

You might also like