Cloud Computing 1
Cloud Computing 1
AGENDA
What is Cloud ?
What is Cloud Computing?
History
Cloud origins and influences
Essential/Key features/ Characteristics of cloud computing
Goals of Cloud computing
Risks and Challenges
Simple Examples of Cloud Computing
Cloud Computing Architecture and its Layers
Cloud Models
Service models
What is Cloud ?
In simple terms, the "cloud" refers to using the internet to store, manage,
and process data instead of relying on your computer's hard drive or local
servers. It's like having a virtual space where you can access your files,
apps, or tools from anywhere, as long as you have an internet connection.
For example:
• Instead of saving your photos on your phone, you might upload them to a
cloud service like Google Photos.
• When you watch a movie on Netflix, you're streaming it from the cloud
rather than downloading it to your device.
• The cloud makes things more convenient, scalable, and accessible without
needing to manage physical hardware yourself.
What is Cloud Computing?
Cloud computing is like renting computers, storage, and software over the internet
instead of buying and managing them yourself. It lets you access what you need—like
apps, files, or tools—from anywhere with an internet connection.
Cloud computing is the delivery of computing services—like storage, servers,
databases, software, and more—over the internet. Instead of owning physical
hardware or software, you access these resources on-demand from a cloud provider.
For example:
• When you use Google Drive to store files, that's cloud computing.
• Watching movies on Netflix or listening to music on Spotify uses cloud computing to
stream content.
It’s convenient because you don’t need to worry about maintaining or upgrading
hardware, and you only pay for what you use.
History/Origin of Cloud
Computing
Before Computing was come into existence, client Server Architecture was used where all the data and control of
client resides in Server side. If a single user want to access some data, firstly user need to connect to the server
and after that user will get appropriate access. But it has many disadvantages. So, After Client Server computing,
Distributed Computing was come into existence, in this type of computing all computers are networked together
with the help of this, user can share their resources when needed. It also has certain limitations. So in order to
remove limitations faced in distributed system, cloud computing was emerged.
It was a gradual evolution that started in the 1950s with mainframe computing
After some time, around 1970, the concept of virtual machines (VMs) was created.
In 1999, Salesforce.com started delivering of applications to users using a simple website.
In 2002 Amazon provided First public cloud AWS (Amazon Web Service) , providing services like storage,
computation.
In 2009, Google Apps also started to provide cloud computing enterprise applications.
In 2009, Microsoft launched Windows Azure, and companies like Oracle and HP have all joined the game. This
proves that today, cloud computing has become mainstream.
History of Cloud computing
Key Influences on Cloud Computing
Advancements in Virtualization
Virtual machines and containerization (e.g., Docker, Kubernetes) enabled efficient resource
utilization and portability.
Internet Growth
Ubiquitous internet access made remote access to computing resources practical and scalable .
Demand for Cost Efficiency
Organizations sought to reduce capital expenses (CAPEX) by shifting to operational expenses (OPEX)
with pay-as-you-go cloud models.
Big Data and AI
The need to process and store vast amounts of data for analytics and artificial intelligence pushed
the development of scalable cloud storage and compute solutions .
Open-Source Innovation
Open-source projects, such as OpenStack, Hadoop, and Kubernetes, accelerated the adoption of
cloud technologies by making them more accessible.
Distributed Systems
Mainframes which first came into existence in 1951 are highly powerful
and reliable computing machines. These are responsible for handling
large data such as massive input-output operations. Even today these
are used for bulk processing tasks such as online transactions etc.
These systems have almost no downtime with high fault tolerance.
After distributed computing, these increased the processing capabilities
of the system. But these were very expensive. To reduce this cost,
cluster computing came as an alternative to mainframe technology.
Cluster Computing
1. Cluster Nodes:
1. A cluster consists of multiple nodes (individual computers), each with its own processor(s), memory, and
storage.
2. Nodes may be homogeneous (identical hardware/software) or heterogeneous (different configurations).
2. Interconnection:
1. Nodes communicate over a high-speed network (e.g., Ethernet, InfiniBand) to collaborate on computations.
2. A low-latency, high-bandwidth interconnection ensures efficient data sharing.
3. Cluster Manager:
1. A software layer, known as a cluster manager, oversees resource allocation, job scheduling, and task
distribution.
2. Examples include Apache Hadoop, Kubernetes, and SLURM.
4. Distributed Processing:
1. Tasks are divided into smaller subtasks distributed across the nodes.
2. Nodes work in parallel to solve these subtasks, and results are combined into the final output.
Virtualization
Web 2.0 is the interface through which the cloud computing services
interact with the clients. It is because of Web 2.0 that we have interactive
and dynamic web pages. It also increases flexibility among web pages.
Web 2.0 refers to the second generation of web technologies and practices
that emphasize user-generated content, collaboration, and interactivity.
Unlike the static websites of Web 1.0, Web 2.0 applications focus on
providing dynamic, user-centered experiences and fostering participation.
The term was popularized in the early 2000s and describes how the web
evolved into a platform for innovation, engagement, and social interaction.
Popular examples of web 2.0 include Google Maps, Facebook, Twitter, etc.
Needless to say, social media is possible because of this technology only. It
gained major popularity in 2004.
Technologies Enabling Web 2.0
1. Resource Pooling:
1. Computing resources are pooled together in a shared environment and made available on-demand.
2. These resources include servers, storage, networks, and software.
2. On-Demand Provisioning:
1. Users can request resources when needed and release them when they are no longer required.
2. Resources are automatically allocated and de-allocated based on demand.
3. Metered Usage:
1. Users are charged based on the amount of computing power or resources consumed (e.g., CPU cycles, data storage,
bandwidth).
4. Scalability:
1. Utility computing platforms can scale resources up or down dynamically based on user needs.
5. Self-Service:
1. Users can access and manage resources via web portals or APIs without needing manual intervention from service providers.
Cloud Computing
Cloud Computing means storing and accessing the data and programs
on remote servers that are hosted on the internet instead of the
computer’s hard drive or local server. Cloud computing is also referred
to as Internet-based computing, it is a technology where the resource is
provided as a service through the Internet to the user. The data that is
stored can be files, images, documents, or any other storable
document.
How Cloud Computing Works
1.Resource Virtualization:
• Physical servers and storage devices are virtualized into smaller units to provide scalable and flexible computing resources.
• Users access these virtualized resources as needed.
2.Cloud Infrastructure:
• Composed of data centers that host servers and network equipment.
• These data centers are distributed across various geographical locations for reliability and performance.
3.Internet Connectivity:
• Cloud services are delivered over the internet, enabling users to access resources remotely.
4.Service Models:
• Cloud computing offers services in three primary models:
• Infrastructure as a Service (IaaS): Provides virtualized computing resources like servers and storage (e.g., AWS EC2).
• Platform as a Service (PaaS): Provides tools and platforms for developers to build applications (e.g., Google App Engine).
• Software as a Service (SaaS): Offers ready-to-use software applications (e.g., Gmail, Dropbox).
5.Data Redundancy and Backup:
• Cloud providers ensure data reliability and availability through
redundancy and backups across multiple data centers.
6.Security:
• Encryption, firewalls, and access control mechanisms protect user data
and applications.
Origins of Cloud Computing
•Broad Network Access: Resources are accessible over the internet from a wide range of devices, including
phones, laptops, and tablets.
•Scalability and Elasticity: Resources can be quickly scaled up or down to meet fluctuating demand,
ensuring efficiency and cost-effectiveness.
•Cost Efficiency (Pay-As-You-Go): Users only pay for the resources they consume, eliminating the need for
large upfront investments in hardware.
•Resource Pooling: Cloud providers use multi-tenant models, sharing resources across multiple users while
maintaining data security and privacy.
•Reliability and High Availability: Cloud services often include redundant systems and backups, ensuring
minimal downtime and high availability.
•Measured Service: Usage is monitored, controlled, and reported, providing transparency and
accountability for billing and resource usage.
•Security: Advanced security measures, including encryption, firewalls, and regular updates, help protect
data and applications.
•Automation: Many cloud processes, such as backups and software updates, are automated to simplify
management.
•Global Accessibility: Cloud services allow users to access data and applications from anywhere with an
internet connection, promoting collaboration and mobility.
Goals of Cloud computing
Email: Web-based email services like Gmail and Hotmail deliver a cloud
computing service: users can access their email "in the cloud" from any
computer with a browser and Internet connection, regardless of what
kind of hardware is on that particular computer. The emails are hosted
on Google's and Microsoft's servers, rather than being stored locally on
the client computer.
• Office Productivity Software: Office 365, Google docs and Zoho office.
This software allow you to keep and edit your documents online. By
doing so, the documents will be accessible anywhere, and you can
share the documents and collaborate on them. Multiple people can
work in the same document simultaneously.
• Storage: One Drive, Google Drive, iCloud and Drop Box.
Risks and Challenges
The origins of computing involve a complex history, and as technology evolved, numerous risks and
challenges arose. Below are some of the significant ones:
1. Technical Challenges
• Limited Hardware: Early computers like the ENIAC or the Turing machine were limited by available
technology. They were often large, unreliable, and required substantial physical space.
• Data Storage: In the early days, data storage was highly restricted, with rudimentary forms such as punch
cards and magnetic tapes that were cumbersome and prone to errors.
• Processing Power: The first computing machines had very low processing power compared to today's
standards, making them slow and inefficient for many tasks.
2. Mathematical and Theoretical Limitations
• Lack of Algorithms: Early computing relied heavily on mechanical operations, and the development of
efficient algorithms was limited. Programming was often done manually, making it error-prone and slow.
• Incompleteness and Unsolvability: Alan Turing's work on computability showed that there are problems
that cannot be solved by any computer, introducing a fundamental limitation to computation itself. This was
encapsulated in the famous "Halting Problem."
Ethical and Social Implications
• Privacy Concerns: Early computing systems laid the groundwork for privacy concerns that would
later manifest in modern data collection, surveillance, and security breaches.
• Impact on Employment: The rise of automation and computing has displaced many manual jobs
throughout history, a risk that is still evident in the ongoing shift toward automation in many
industries.
• Bias in Algorithms: Early computing systems reflected the biases of their creators, a challenge that
persists with today's machine learning models.
4. Funding and Resource Limitations
• Financial Barriers: The development of early computers was extremely expensive, with a few
countries and organizations having the resources to fund the necessary research. The cost was often
a significant barrier to widespread access.
• Limited Access to Knowledge: In the early days, computing knowledge and expertise were
confined to a small, specialized group. Information sharing and collaboration were not as widespread,
leading to slow innovation in some cases.
Security and Stability Issues
• Vulnerabilities in Design: Many early computer systems were designed without robust security protocols, making them
vulnerable to hacking or unintended malfunction.
• System Failures: Early computing machines were often prone to mechanical or electrical failures, making reliability a major
challenge.
6. Cultural and Psychological Impact
• Fear of Machines: Many individuals feared the power of machines and computers, believing that they would surpass human
capabilities or render people obsolete.
• Resistance to Change: There was often resistance to the use of computers, particularly from those unfamiliar with or
distrustful of the technology, which slowed adoption in various sectors.
7. Environmental and Resource Concerns
• Energy Consumption: Early computers were not energy-efficient, consuming large amounts of power. This was a challenge
in terms of resource allocation and sustainability.
• E-Waste: As computing technology rapidly evolved, early machines became obsolete, contributing to the growing issue of
electronic waste.
Despite these challenges, the development of computing has been a significant driver of technological progress. As we look
back at the origins of computing, we can see how these risks were mitigated over time, although some of them continue to be
relevant today.
Architecture of cloud computing
1. Frontend
Backend refers to the cloud itself which is used by the service provider.
It contains the resources as well as manages the resources and
provides security mechanisms.
Along with this, it includes huge storage, virtual applications, virtual
machines, traffic control mechanisms, deployment models, etc.
Components of cloud computing
Client Infrastructure
Application
Service
Runtime Cloud
Storage
Infrastructure
Management
Security
Internet
Database
Networking
Analytics
Client Infrastructure
Client Devices:
Devices like PCs, mobile phones, and tablets used to access cloud services.
Typically connect via a web browser, specialized software, or mobile apps.
User Interface:
The user-facing portion of the cloud system, such as web portals, APIs, or command-line
interfaces (CLI).
Ensures ease of access and user-friendly interaction with cloud resources.
Applications:
Software that runs on client devices to communicate with the cloud (e.g., web browsers,
email clients, or custom cloud apps).
Examples include SaaS applications like Google Workspace, Microsoft 365
Key Responsibilities of Front-End Layer:
• Facilitate interaction between the user and the cloud platform.
• Provide access to cloud services like data storage, computing, or software.
• Ensure a secure, intuitive, and responsive experience for users.
1. Client Infrastructure
Client Infrastructure is a Front end component. It provides GUI (Graphical
User Interface) to interact with the cloud.
2. Application
The application may be any software or platform that a client wants to
access.
3.Service:
Service in backend refers to the major three types of cloud based services
like SaaS, PaaS and IaaS. Also manages which type of service the user accesses.
5. Runtime Cloud
Runtime cloud in backend provides the execution and Runtime
platform/environment to the Virtual machine.
6.Storage
Storage in backend provides flexible and scalable storage service and management of
stored data.
7.Infrastructure
It provides services on the host level, application level, and network
level. Cloud infrastructure includes hardware and software components such as
servers, storage, network devices, virtualization software, and other storage
resources that are needed to support the cloud computing model.
8.Security
Security in backend refers to implementation of different security mechanisms in the backend for secure cloud
resources, systems, files, and infrastructure to end-users.
9.Internet
Internet connection acts as the medium or a bridge between frontend and backend and establishes the interaction and
communication between frontend and backend.
10.Database
Database in backend refers to provide database for storing structured data, such as SQL and NOSQL databases.
Example of Databases services include Amazon RDS, Microsoft Azure SQL database and Google Cloud SQL.
11.Networking
Networking in backend services that provide networking infrastructure for application in the cloud, such as load balancing, DNS
and virtual private networks.
12.Analytics
Analytics in backend service that provides analytics capabilities for data in the cloud, such as warehousing, business intelligence
and machine learning.
Layers of Cloud Computing
Architecture
Layers of Cloud computing
Deployment models
Service models
Deployment models
Service models
Public cloud
A public cloud is a type of cloud computing where services and infrastructure are made
available to multiple users (or the general public) over the internet by a third-party
provider. It operates on a shared model, meaning the same resources are used by multiple
organizations, but data and access are securely separated.
Key Characteristics:
1. Shared Resources: Infrastructure is shared among multiple users or organizations.
2. Accessible Over the Internet: Services can be accessed from anywhere with an internet
connection.
3. Cost-Effective: No need for organizations to invest in or maintain physical hardware; users
pay only for the resources they use.
4. Scalability: Resources can be easily scaled up or down based on demand.
5. Managed by a Provider: The cloud provider is responsible for managing and maintaining
the infrastructure.
Examples of Public Cloud Providers:
• Amazon Web Services (AWS)
• Microsoft Azure
• Google Cloud Platform (GCP)
• IBM Cloud
Use Cases:
• Hosting websites and apps.
• Testing and developing software.
• Data storage and backups.
• Streaming services.
The public cloud is popular for its flexibility, scalability, and cost-efficiency, especially for
startups, small businesses, or organizations with fluctuating workloads.
Private Cloud
A private cloud is a type of cloud computing where the infrastructure and services are used
exclusively by a single organization. It provides the same benefits as public cloud computing—
such as scalability and on-demand access—but with greater control, security, and
customization, as the resources are dedicated to one organization.
Key Characteristics:
1. Exclusive Access: Only one organization uses the infrastructure, ensuring no sharing of
resources with others.
2. Enhanced Security: Because it operates in a controlled environment, it offers greater data
protection and compliance.
3. Customization: Organizations can tailor the infrastructure and services to meet specific needs.
4. On-Premises or Hosted:
1. On-Premises: The private cloud is hosted within the organization’s own data center.
2. Hosted: A third-party provider manages the private cloud off-site.
Use Cases:
• Industries with strict regulatory or compliance requirements (e.g., healthcare, finance).
• Organizations handling sensitive data.
• Companies needing high levels of control over their IT environment.
Examples:
• VMware Private Cloud
• Microsoft Azure Stack
• AWS Outposts
A private cloud is ideal for businesses that prioritize security, compliance, and
customization, even if it comes with higher costs compared to public cloud services.
Hybrid Cloud
A hybrid cloud is a cloud computing model that combines public cloud, private cloud, and sometimes on-premises
infrastructure, allowing data and applications to move seamlessly between these environments. This approach offers greater
flexibility, scalability, and control by leveraging the best of both public and private clouds.
Key Characteristics:
1. Integrated Environments:
1. Combines private and public cloud resources.
2. Allows seamless data and workload sharing between environments.
2. Flexibility:
1. Organizations can use the public cloud for scalable, cost-effective tasks (e.g., data storage or software development).
2. Critical workloads or sensitive data can remain in the private cloud for enhanced security.
3. Scalability:
1. Provides the ability to scale resources using the public cloud during peak demands while keeping steady workloads in the private cloud.
4. Cost Optimization:
1. Balances cost and performance by using the public cloud for non-sensitive tasks and private cloud for critical operations.
5. Improved Disaster Recovery:
1. Hybrid models can use the public cloud for backups and disaster recovery, reducing downtime in emergencies.
Use Cases:
• Dynamic Workloads: Hosting fluctuating workloads with consistent parts running in private and variable
demands handled by the public cloud.
• Regulatory Compliance: Keeping sensitive data in the private cloud while leveraging the public cloud for
other tasks.
• Disaster Recovery and Backup: Storing backups in the public cloud while maintaining primary data on-
premises.
Examples:
• Microsoft Azure with Azure Arc
• AWS with VMware Cloud
• Google Anthos
The hybrid cloud is ideal for businesses needing flexibility, scalability, and control over their data and
workloads while maintaining cost-effectiveness.
Infrastructure as a Service
IaaS (Infrastructure as a Service) is a cloud computing model that provides virtualized computing
resources over the internet. It delivers fundamental IT infrastructure, such as virtual machines (VMs),
storage, networks, and operating systems, allowing businesses to rent computing resources rather than
owning or managing physical hardware.
Key Features of IaaS:
1. Virtual Machines: Rent and scale virtual servers on-demand, with flexibility in operating systems and
configurations.
2. Storage: Access scalable storage resources like block storage, object storage, and file storage.
3. Networking: Includes tools to manage networks, load balancers, firewalls, and VPNs to connect cloud
resources securely.
4. Scalability: Easily scale up or down based on demand, making it cost-efficient.
5. Pay-as-You-Go: Users only pay for the resources they consume, avoiding large upfront capital expenses.
6. Automation: Many IaaS providers offer automated management, including provisioning, scaling, and
backups.
Examples of IaaS Providers:
• Amazon Web Services (AWS) – EC2 (Elastic Compute Cloud)
• Microsoft Azure – Virtual Machines (VMs)
• Google Cloud Platform (GCP) – Compute Engine
Use Cases:
• Hosting Websites or Applications: Run web servers or database systems without owning physical
hardware.
• Development and Testing: Set up and dismantle development environments quickly without the
need for physical resources.
• Disaster Recovery: Store backups and replicate systems in the cloud for business continuity.
IaaS is great for businesses that need flexible, scalable infrastructure without the complexity and
expense of managing physical servers.
(Platform as a Service
PaaS (Platform as a Service) is a cloud computing model that provides a platform and environment to allow
developers to build, deploy, and manage applications without worrying about underlying infrastructure. PaaS
includes everything needed for application development, such as servers, storage, networking, development tools,
databases, and more.
Key Features of PaaS:
1. Development Tools: Provides a suite of development tools, such as coding environments, compilers, and libraries,
to help developers build applications faster.
2. Managed Infrastructure: The cloud provider manages and maintains the hardware, operating systems, and
networks, so developers can focus on creating apps instead of managing infrastructure.
3. Scalability: Automatically scales resources up or down based on demand, ensuring optimal performance and cost-
efficiency.
4. Integrated Services: Includes tools for application testing, monitoring, and integration, making it easier to
manage and deploy applications.
5. Multi-language Support: Often supports multiple programming languages, frameworks, and databases, offering
flexibility in development.
Examples of PaaS Providers:
• Google App Engine: A platform for developing and hosting applications in Google’s cloud.
• Microsoft Azure App Services: A platform for building, deploying, and scaling web apps and APIs.
• Heroku: A platform for building, running, and scaling applications using various programming languages.
• IBM Cloud Foundry: A platform for deploying and managing applications on IBM Cloud.
Use Cases:
• Web and Mobile Application Development: Quickly build, test, and deploy apps without worrying about
managing infrastructure.
• API Development: Develop, manage, and scale APIs for web and mobile applications.
• Collaborative Development: Teams can collaborate on building applications and managing environments
without needing dedicated resources.
PaaS is ideal for developers who want to focus on coding and application logic without the complexity of
managing servers, networks, or storage infrastructure.
Software as a Service
SaaS (Software as a Service) is a cloud computing model where software applications are hosted and
provided over the internet by a third-party provider. Instead of purchasing and installing software on
individual computers or servers, users access the software through a web browser, often on a subscription
basis.
Key Features of SaaS:
1. On-Demand Access: Users can access software anytime, anywhere, as long as they have an internet
connection.
2. No Installation or Maintenance: SaaS applications are hosted and maintained by the provider,
eliminating the need for users to worry about installations, updates, or server management.
3. Subscription-Based Pricing: Most SaaS models use a subscription pricing model, where users pay
monthly or annually for access to the software.
4. Scalability: Users can scale their use of the software up or down based on their needs, without worrying
about infrastructure limitations.
5. Automatic Updates: The software provider takes care of updates and patches, ensuring users always
have access to the latest features and security fixes.
Examples of SaaS:
• Google Workspace (formerly G Suite): Includes tools like Gmail, Google Docs, Google Drive, and Google Meet.
• Microsoft 365: Provides office tools such as Word, Excel, PowerPoint, and OneDrive in the cloud.
• Dropbox: A file storage and collaboration platform.
• Salesforce: A customer relationship management (CRM) software platform.
• Slack: A collaboration tool for team communication and messaging.
Use Cases:
• Email Services: Gmail, Outlook, and other email platforms.
• Collaboration Tools: Google Workspace, Microsoft 365, and Slack enable team collaboration.
• Customer Relationship Management (CRM): Salesforce and HubSpot help manage customer interactions and
sales pipelines.
• File Storage and Sharing: Dropbox and OneDrive allow users to store, access, and share files in the cloud.
SaaS is ideal for businesses and individuals who need easy access to software applications without managing
complex IT infrastructure, offering flexibility, cost savings, and convenience.