2. 1. Introduction of cloud computing
● Cloud computing is a model for delivering computing resources and services over the
● Allow access to a shared pool of configurable computing resources like networks, servers,
storage, applications, and services.
● Offers various service models, including Infrastructure as a Service (IaaS), Platform as a
Service (PaaS), and Software as a Service (SaaS).
● Eliminates the need for upfront investments in hardware and infrastructure, reducing
● Users pay only for the resources they consume, leading to cost savings.
4. 1.1. Need for Cloud Computing
● The need for cloud computing stems from several key factors that have reshaped the technological
● Scalability and Flexibility: Cloud computing offers unparalleled scalability, allowing users to easily
scale their resources up or down based on their needs.
● Cost Efficiency: Traditional on-premises infrastructure requires substantial investments in
hardware, software licenses, maintenance, and IT personnel.
● Accessibility and Mobility: With cloud computing, data and applications are stored and accessed
over the internet rather than being tied to a physical location.
● Reliability and Disaster Recovery: Cloud service providers offer robust infrastructure and
redundant systems that ensure high availability and reliability.
● Environmental Impact: Cloud computing centralizes resources, enabling efficient use of hardware
and reducing energy consumption. Cloud providers also invest in renewable energy sources,
further minimizing their environmental impact.
5. 1.2. NIST Definition
● The National Institute of Standards and Technology (NIST) proposed a definition of
cloud computing in its NIST Special Publication 800-145 as:
● “A model for enabling ubiquitous, convenient, on-demand network access to a shared
pool of configurable computing resources that can be rapidly provisioned and
released with minimal management effort or service provider interaction. This cloud
model is composed of five essential characteristics, three service models, and four
6. 1.3. Characteristics and Benefits
● On-Demand Self-Service: Users can provision and manage computing resources without
human interaction with the service provider.
● Broad Network Access: Services and resources are accessible over the network via
standard mechanisms (e.g., web browsers, APIs).
● Resource Pooling: Resources are shared among multiple users, allowing for efficient
utilization and cost savings.
● Rapid Elasticity: Computing resources can be scaled up or down quickly based on
demand to accommodate workload fluctuations.
● Measured Service: Usage of resources is monitored, controlled, and billed based on a
pay-per-use model, providing transparency and cost optimization.
7. 1.3. Characteristics and Benefits
● Cloud computing eliminates the need for upfront infrastructure investments, as
businesses can leverage the provider's hardware and infrastructure.
● Businesses only pay for the resources and services they use, allowing for cost
optimization and flexibility.
● Can handle the maintenance, updates, and security of the underlying infrastructure,
reducing the burden on businesses.
● Offers the ability to quickly scale resources up or down based on demand, ensuring
businesses have the necessary computing power when required.
● Provisioning new resources in the cloud is faster compared to traditional on-premises
setups, allowing businesses to speed up their time to market.
● Cloud providers typically have multiple data centers with built-in redundancy.
8. 1.3. Characteristics and Benefits
● Offer SLAs (service-level agreements) that guarantee a certain level of service availability and
performance, providing businesses with confidence in the reliability of their cloud infrastructure.
● Can be accessed over the internet from anywhere, allowing users to work remotely and access
resources on various devices.
● Offer encryption mechanisms to protect data at rest and in transit. They also comply with
industry-specific security standards and regulations.
● Cloud services often include automated backup and disaster recovery capabilities, ensuring data
resilience and minimizing the risk of data loss.
● Provide access to powerful computing resources, enabling businesses to run resource-intensive
applications and processes efficiently.
● Cloud services can automatically scale resources to handle fluctuating workloads, ensuring
optimal performance and responsiveness.
9. 1.4. Application
● Cloud providers offer virtualized computing resources such as virtual machines, storage, and
● Organizations can leverage IaaS to build and manage their IT infrastructure without the need for
physical servers and hardware maintenance.
● Offers a complete development environment, including tools, libraries, and frameworks,
eliminating the need to manage the underlying infrastructure.
● Users can access and use applications without the need for installation or local infrastructure.
● Provide organizations and individuals with secure and scalable storage for their data.
● Cloud computing enables organizations to process and analyze large volumes of data efficiently.
● By leveraging the scalability and processing power of the cloud, businesses can handle complex
data analytics tasks, such as predictive modeling, data mining, and machine learning.
10. 2. Cloud reference model
● A cloud reference model is a way of describing the different components and functions of a
cloud computing environment.
● It helps to standardize and compare different cloud services and vendors across the world.
● A cloud reference model typically consists of several layers and cross-layer functions that cover
various aspects of cloud computing, such as hardware, software, virtualization, security,
management, and so on.
● One example of a cloud reference model is the one that divides cloud computing into five
logical layers: physical, virtual, control, service orchestration, and service.
● Another example is the one that divides cloud-based application architecture into seven layers:
application, transformation, control, instantiation, appliance, virtual, and physical.
● Each layer has a specific role and responsibility in the cloud computing environment and
abstracts the details of other layers.
11. 2.1. NIST Architecture
● The Cloud Reference Model is based on the National Institute of Standards and Technology
(NIST) definition of cloud computing and helps establish a common language and understanding
among stakeholders in the cloud ecosystem.
● It provides a high-level view of cloud computing and assists in identifying and classifying
different cloud services and deployment models.
12. 2.1. NIST Architecture
● The NIST Cloud Computing Reference Architecture consists of five core components:
● Cloud Consumer:
● The cloud consumer represents the entity or organization that uses cloud services.
● This can be an individual, a business, or a government agency.
● Cloud consumers can access cloud services through various interfaces, such as web browsers,
APIs, or mobile applications.
● Cloud Provider:
● The cloud provider is responsible for delivering cloud services to the cloud consumer.
● This can be a public cloud provider, a private cloud operator, or a hybrid cloud provider.
● Cloud providers offer infrastructure, platforms, or software services, and they manage the
underlying cloud infrastructure and resources.
13. 2.1. NIST Architecture
● Cloud Auditor:
● The cloud auditor monitors and assesses the cloud environment's security, performance, and
● They evaluate the cloud provider's operations and ensure that the cloud services adhere to
relevant policies, standards, and regulations.
● Cloud auditors play a crucial role in ensuring transparency and trustworthiness in cloud computing.
● Cloud Broker:
● The cloud broker acts as an intermediary between cloud consumers and cloud providers.
● They help cloud consumers select appropriate cloud services based on their requirements and
negotiate contracts with cloud providers.
● Brokers tend to handle three cloud categories:
● Intermediation – Enhancing access, performance monitoring, identity management, etc.
● Aggregation – Integrating a provider’s cloud services into a comprehensive cloud suite
● Arbitrage – Integrating services from multiple providers into a uniform service suite
14. 2.1. NIST Architecture
● Cloud Carrier:
● The cloud carrier provides the underlying network infrastructure that connects cloud
consumers and cloud providers.
● This can include network service providers, internet service providers, or telecommunications
● Cloud carriers ensure the secure and reliable transport of data and communications between
cloud consumers and cloud providers.
16. 2.2. Design principles of cloud architecture
● Designing an effective and efficient cloud architecture requires adherence to several key principles.
● These principles help ensure that the architecture is scalable, reliable, secure, and optimized for
● Cloud architecture should be designed to handle varying workloads and accommodate growth.
● Provide the ability to scale resources up or down based on demand, ensuring that the system can handle
increased user traffic or processing requirements.
● Horizontal scaling, through the addition of more instances, and vertical scaling, by upgrading resources,
should be considered.
● Cloud architecture should be resilient to failures and disruptions.
● Redundancy and fault tolerance mechanisms should be implemented to minimize downtime and
maintain service availability.
● This can include replication of data across multiple data centers, load balancing, and automated failover
17. 2.2. Design principles of cloud architecture
● Elasticity refers to the ability of the cloud architecture to automatically provision and
deprovision resources based on workload fluctuations.
● Enables efficient resource utilization and cost optimization.
● The architecture should be designed to dynamically scale resources in response to changing
demand while ensuring performance and cost efficiency.
● Cloud architecture should prioritize security and implement robust measures to protect data,
applications, and infrastructure.
● Include secure access controls, encryption mechanisms, and monitoring tools to detect and
respond to security threats.
● Compliance with industry standards and regulations should also be considered.
18. 2.2. Design principles of cloud architecture
● Performance Optimization:
● Cloud architecture should be designed to optimize performance and minimize latency.
● This can involve selecting appropriate cloud services, optimizing data storage and retrieval, and
leveraging content delivery networks (CDNs) for faster content delivery.
● Automation is essential for managing cloud resources efficiently.
● Cloud architecture should leverage automation tools and scripts to automate provisioning,
configuration, and management tasks.
● Reduces manual intervention, minimizes human errors, and enables rapid deployment and scaling of
● Cost Optimization:
● Cloud architecture should aim to optimize costs by ensuring efficient resource utilization.
● This can be achieved by using cost-effective cloud services, rightsizing resources based on actual
demand, implementing cost monitoring and optimization mechanisms.
19. 2.3. Infrastructural Constraints
● Infrastructural constraints refer to limitations or factors that can impact the design and implementation
of a cloud computing infrastructure.
● These constraints can arise from various aspects of the underlying physical infrastructure, networking,
and data centers.
● Some of them are:
● Bandwidth and Network Connectivity:
● The availability and capacity of network bandwidth can pose constraints on data transfer and
communication between cloud components.
● Insufficient network connectivity can result in increased latency, slower response times, and
limited data throughput.
● Data Center Location and Proximity:
● Data centers that are geographically distant from cloud consumers may introduce higher latency
due to longer network routes.
20. 2.3. Infrastructural Constraints
● Power and Cooling Requirements:
● Data centers consume significant amounts of power and require robust cooling mechanisms to
maintain optimal operating conditions.
● Security and Compliance:
● Infrastructural constraints can also arise from security and compliance requirements.
● Certain industries or jurisdictions may have specific regulations regarding data storage, privacy, and
● Meeting these compliance requirements may introduce constraints related to data residency,
encryption, and security mechanisms.
21. 3. Evolution of Cloud Computing
● The concept of cloud computing originated in the 1960s with time-sharing systems, allowing
multiple users to access a single computer.
● Grid computing emerged in the late 1990s, focusing on sharing computing resources across
● Utility computing gained attention, offering computing resources on a pay-per-use basis.
● Virtualization technologies became popular, enabling the abstraction of hardware and the
creation of virtual machines.
● In 2006, Amazon Web Services (AWS) introduced Elastic Compute Cloud (EC2), marking the
beginning of modern cloud computing.
● Infrastructure as a Service (IaaS) allowed organizations to rent virtualized computing
22. 3. Evolution of Cloud Computing
● Platform as a Service (PaaS) provided development platforms and tools for application
● Software as a Service (SaaS) offered software applications directly over the internet.
● Hybrid and multi-cloud strategies emerged, combining resources from multiple cloud providers
and on-premises infrastructure.
● Serverless computing gained traction, allowing developers to focus on code without managing
● Edge computing brought resources closer to the network edge for reduced latency.
● AI and ML capabilities were integrated into cloud services, enabling advanced analytics and
23. 4. Overview of Fog, Edge and Mobile Computing
● Fog computing, edge computing, and mobile computing are three related paradigms that
address the need for distributed and decentralized computing capabilities to support the
growing demands of modern applications and services.
● Here's an overview of each concept:
● Fog Computing:
● Fog computing extends cloud computing capabilities to the edge of the network, closer to
data sources and end-users.
● It aims to address the challenges of latency, bandwidth, and network congestion by moving
processing and storage closer to the edge devices and sensors.
● Fog computing enables real-time data analysis, faster response times, and reduced reliance on
the cloud for certain tasks.
● It typically involves a network of decentralized nodes, such as gateways or edge servers,
working in tandem with cloud resources.
24. 4. Overview of Fog, Edge and Mobile Computing
● Edge Computing:
● It focuses on processing data and running applications at or near the edge devices, such as routers,
switches, or IoT gateways.
● It aims to minimize the latency and bandwidth requirements by processing data locally, closer to the
point of generation.
● Edge computing enables real-time analytics, local decision-making, and reduced dependence on
● Mobile Computing:
● It refers to the use of portable computing devices, such as smartphones, tablets, or wearables, for
various computing tasks.
● Allows users to access and process information on the go, leveraging wireless networks and mobile
● It involves the integration of hardware, software, and network technologies to provide a seamless
user experience across mobile devices.
● Enables location-based services, mobile commerce, social networking, and a wide range of mobile
applications and services.
27. 5. Cloud Service Model
● Cloud service models refer to the different categories or types of cloud computing services that are
offered by cloud providers.
● These service models define the level of control, responsibility, and functionality that users have over
the cloud resources they utilize. The three primary cloud service models are:
28. 5.1. Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure
as a Service (IaaS)
● Infrastructure as a Service (IaaS):
● IaaS provides users with virtualized computing resources, including virtual machines, storage, and
● Users have control over the operating systems, applications, and configurations deployed on the virtual
● They can scale resources up or down based on demand and have more flexibility and control compared
to other service models.
● Examples of IaaS providers include Amazon Web Services (AWS) Elastic Compute Cloud (EC2), Microsoft
Azure Virtual Machines, and Google Cloud Platform (GCP) Compute Engine.
29. 5.1. Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure
as a Service (IaaS)
● Platform as a Service (PaaS):
● PaaS offers a complete development platform that includes tools, runtime environments, and services for
building, deploying, and managing applications.
● Users can focus on developing their applications without worrying about underlying infrastructure or
● PaaS providers typically handle the scalability, security, and maintenance of the underlying infrastructure.
● Examples of PaaS providers include AWS Elastic Beanstalk, Microsoft Azure App Service, and Google
Cloud App Engine.
● Software as a Service (SaaS):
● SaaS provides fully functional applications and software that are accessed over the internet.
● Users can utilize these applications without the need for installation or management of the underlying
infrastructure, as the provider handles all aspects of infrastructure, maintenance, and support.
● SaaS applications are typically accessed through web browsers or dedicated client applications.
● Examples of SaaS offerings include Salesforce, Google Workspace and Microsoft Office 365.
30. 6. Cloud Deployment Model
● Cloud deployment models define how cloud computing resources are provisioned and managed in terms of
ownership, accessibility, and control. There are four primary cloud deployment models:
31. 6.1. Public, Private, Hybrid and Community
● Public Cloud:
● Refers to cloud services that are provided by third-party cloud service providers and are accessible to the
general public over the internet.
● These services are hosted on the cloud provider's infrastructure and are available to multiple organizations or
● Public cloud deployments offer scalability, cost-efficiency, and reduced management overhead.
● Examples include Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP).
● Private Cloud:
● Refers to cloud infrastructure that is dedicated to a single organization or entity.
● It can be physically located on-premises within an organization's data center or hosted by a third-party
● Private clouds offer enhanced security, control, and customization options.
● Organizations can tailor the private cloud environment to meet specific requirements, comply with
regulations, and ensure data privacy.
● Private clouds are suitable for organizations with strict security and compliance needs, such as government
agencies or financial institutions.
32. 6.1. Public, Private, Hybrid and Community
● Hybrid Cloud:
● It combines elements of both public and private cloud deployments, allowing organizations to leverage the
benefits of both models.
● It involves integrating and orchestrating resources across public and private clouds to create a unified cloud
● This enables organizations to balance workload placement, optimize costs, and achieve flexibility.
● Hybrid cloud deployments offer the ability to utilize public cloud resources for scalability and cost-efficiency
while keeping sensitive data or critical workloads in a private cloud environment.
● Community Cloud:
● It’s a shared cloud infrastructure that is specifically designed to serve the needs of a specific community or
group of organizations with shared requirements, such as regulatory compliance or industry standards.
● It involves multiple organizations with common interests coming together to share cloud resources,
infrastructure, and services.
● Examples include community clouds serving healthcare organizations, research institutions, or educational
33. 7. Jericho Cloud Cube Model
● The Jericho Cloud Cube model, is a conceptual framework developed by the Jericho Forum, an international
group focused on improving the security and resilience of cloud computing.
● The Cloud Cube model aims to address various security and deployment considerations in cloud computing.
● It helps IT managers, organizations, and business leaders by providing a secure and protected network.
● The model categorizes cloud networks based on four dimensions:
3. De-Perimeterized/Perimeterized, and
34. 7. Jericho Cloud Cube Model
1. Internal/External: This dimension defines the physical location of the data, whether it is stored
within the organization’s own infrastructure or outside of it.
2. Proprietary/Open: This dimension refers to the technology used, whether it is proprietary or
3. De-Perimeterized/Perimeterized: This dimension refers to the security approach used, whether
it relies on a traditional perimeter-based approach or a de-perimeterized approach that focuses
on securing individual data elements.
4. Insourced/Outsourced: This dimension refers to the management of the cloud services,
whether it is managed in-house or outsourced to a third-party provider.
36. 8. Challenges and Ethical Issues
• Data Security and Privacy: Concerns about the security and privacy of sensitive data stored in
the cloud, including unauthorized access, data breaches, and data ownership rights.
• Compliance and Regulatory Requirements: Challenges in meeting industry-specific compliance
standards, data protection regulations, and cross-border data transfer restrictions.
• Data Location and Sovereignty: Lack of control over the physical location of data stored in the
cloud, potentially raising legal and jurisdictional issues.
• Vendor Lock-In: Difficulties in migrating or transitioning between cloud service providers due
to proprietary formats, dependencies, and integration complexities.
• Service Availability and Reliability: Potential service disruptions, downtime, or outages in cloud
environments, impacting business operations and user experience.
37. 8. Challenges and Ethical Issues
• Ethical Considerations: Ethical dilemmas regarding data usage, surveillance, data mining, and
potential misuse of personal or sensitive information.
• Transparency and Auditability: Limited visibility and transparency into the cloud provider's
security practices, data handling processes, and infrastructure, making it challenging to assess
risks and ensure compliance.
• Intellectual Property Rights: Concerns about the protection and control of intellectual property
when utilizing cloud services, including unauthorized use or exposure of proprietary
• Environmental Impact: The ecological impact of cloud computing, including energy
consumption, carbon footprint, and e-waste generated by data centers.