m1
m1
This is a technology that allows users to access and use computing resources over the
internet instead of relying on local infrastructure like servers or personal computers. It is
based on the concept of dynamic provisioning, which is applied not only to services but also
to compute capability, storage, networking, and information technology (IT) infrastructure in
general. Cloud computing becomes a very popular option for organizations by providing
various advantages, including cost-saving, increased productivity, efficiency, performance,
data backups, disaster recovery, and security.
Applications of Cloud
Computing:
Cloud computing supports a variety of
applications in modern life:
1. Streaming Services: Netflix, Spotify,
and YouTube rely on cloud infrastructure
to deliver content to millions of users
worldwide. 2. Remote Work and
Collaboration: Tools like Microsoft 365,
Google Workspace, and Slack allow
employees to work and collaborate from
different locations. 3. E-commerce: Online retail platforms, like Amazon, use cloud
computing to manage customer data, product catalogs, and payment processing. 4. AI
and Machine Learning: Cloud platforms offer scalable resources and services for training and
deploying AI models, making advanced analytics accessible to many organizations.
Core Components of Cloud Computing
1. Compute Power: Virtual machines (VMs), containers, and other instances provide
the processing power necessary to run applications and perform computations.
2. Storage: Cloud storage solutions include databases, object storage, and file storage.
This storage is flexible, allowing users to store and retrieve data from anywhere.
3. Networking: Cloud networks connect different components and allow data transfer
between resources. They also provide secure access to cloud environments.
4. Databases: Managed databases offer an easy-to-use platform for storing and
retrieving data without the need to manage the underlying database software or hardware.
Characteristics of Cloud Computing:
1. On-demand Self-service: Users can access cloud services as needed, often through
an automated portal or dashboard, without needing to go through a lengthy procurement
process. 2. Resource Pooling: Cloud providers maintain large pools of resources (such as
storage and processing power) and allocate them dynamically to serve multiple clients. This
multi-tenant model optimizes the use of computing resources and reduces costs.
3. Scalability and Elasticity: Cloud resources can be scaled up or down to match the
demands of users, making it easy to handle varying workloads without investing in additional
hardware. 4. Measured Service (Pay-as-you-go): Users only pay for the resources
they use, similar to utility bills for electricity or water. This is more cost-efficient than
maintaining hardware, especially for fluctuating workloads.
5. Broad Network Access: Cloud resources are accessible over the internet from
various devices and locations, enabling global collaboration and remote work.
Advantages/ Benefits of Cloud Computing
1. Cost Savings: Cloud computing reduces the need for large upfront investments in
hardware and IT maintenance. Users pay for only the resources they use, often on a monthly
or per-hour basis. 2. Scalability and Flexibility: Cloud resources can be scaled quickly
in response to changing demand. This elasticity allows businesses to manage peak loads and
save costs when demand is low. 3. Improved Collaboration and Accessibility: Cloud
resources are accessible from any internet-connected device, allowing team members to
work and collaborate from anywhere. 4. Automatic Updates and Maintenance: Cloud
providers handle updates, patches, and maintenance, freeing organizations from managing
these tasks themselves. 5. Disaster Recovery and Backup: Many cloud providers
offer robust backup and disaster recovery options, helping organizations ensure data security
and continuity in case of unexpected incidents. 6. Sustainability: Optimized resource
sharing reduces environmental impact.
Disadvantages/ Challenges of Cloud Computing
1. Data Security and Privacy: Storing data off-premises can create security and privacy
risks, especially with sensitive information. Organizations must ensure that cloud providers
adhere to security standards and regulations. 2. Dependence on Internet Connectivity:
Accessing cloud resources requires a reliable internet connection. Any network disruption
can hinder access to data and applications. 3. Compliance and Regulatory Issues:
Industries such as healthcare and finance must comply with strict regulations, and using the
cloud requires careful planning to meet these requirements.
4. Vendor Lock-in: Transitioning from one cloud provider to another can be difficult
due to compatibility issues, service differences, and potential migration costs.
5. Limited Control: Less control over infrastructure, especially in SaaS and PaaS.
6. Performance Variability: Shared resources can affect performance at times.
History of Cloud Computing
Before cloud computing, the Client/Server model centralized data and applications on
servers, requiring users to connect to the server to access them. Later, distributed computing
allowed networked computers to share resources, paving the way for cloud computing. The
concept dates back to 1961 when John McCarthy proposed that computing could be sold as
a utility. In 1999, Salesforce.com began delivering applications via the internet, followed by
Amazon’s AWS in 2002 and Google Apps in 2009. Microsoft launched Windows Azure the
same year, marking cloud computing's rise to mainstream adoption.
Grid Computing/ Distributed Computing
Grid computing is also called as "distributed computing." It links multiple computing
resources (PC's, workstations, servers, and storage elements) together and provides a
mechanism to access them. (or) Collection of computer resources from multiple locations to
reach a common goal. The main advantages of grid computing are that it increases
user productivity by providing transparent access to resources, and work can be completed
more quickly. In a basic grid computing system, every computer can access the
resources of every other computer belonging to the network.
A Grid is made up of a number of resources and layers with different levels of
implementation. 1. Information grids: These are aimed to provide and efficient and simple
access to data without worries about platforms, location, and performance. 2. Compute
grids: These exploit the processing power from a distributed collection of systems. 3. Services
grids: They provide scalability and reliability across different servers with the establishment
of simulated instance of grid services. 4. A mix
of them: Each of these has specific sets of
characteristics that are peculiar of the hybrid
characteristic of compute and service grid.
Conceptually, we can imagine the
following three layers: 1.Lower layer: This is a
physical layer where we have servers, storage
devices, and interconnecting network. 2.
Middle layer: This layer represents different
operating systems mapped one-to-one with servers. 3. Upper layer: This is an application
layer in which we map different applications supporting enterprise business processes.
Standard Grid Architecture
1. Storage/data/information: It provides logical views of data without having to
understand where the data is located or whether it is replicated.
2. System management: It defines, controls, configures, removes components and/or
services (could be physical) on a grid using automated or physical methods.
3. Metering billing, and software (SW) licensing: It provides tools to monitor and
distribute the number of licenses while using licensed software. It also provides metering and
billing techniques, such as utility – like services, so that the owners of the resources made
available are accurately compensated for providing the resources.
4. Security- i) Authentication: The grid has to ‘be aware’ of the identity of the users
who interact with it. ii) Authorization: This grid has to restrict access to its resources to the
users who are eligible to access it. iii) Integrity: Data exchanged among grid nodes should
not be subject to tampering.
Topic Cloud Computing Grid Computing
Computing complies with the client-server Follows a distributed computing
Architecture computing architecture. architecture.
Scalability The high scalability provided by Grid computing delivers typical
cloud computing enables effective scaling. Thus, it might not give as
resource management and much scaling as cloud computing.
allocation.
Flexibility Compared to grid computing, In comparison to cloud computing,
cloud computing is more flexible. grid computing is less flexible.
Management Cloud servers are owned and Grid computing functions as a
System controlled by infrastructure decentralized management system,
providers in a centralized with the organization owning and
management system used for running the grids.
cloud computing.
Orientation This is service-oriented. This is application-oriented.
Service Models Service paradigms like IaaS, PaaS,
Systems like distributed computing,
and SaaS are used in cloud distributed information, and
computing. distributed ubiquitously are used in
grid computing.
Resource Dynamic resource management Grid computing includes managing
Management and allocation are provided via and allocating static resources.
cloud computing.
Focus Delivering customers with Grid computing is focused on
storage, services, and computing pooling and managing computer
resources as needed is the main resources via a network for certain
goal of cloud computing. projects or applications.
Cluster Computing
Cluster computing refers to the process of sharing the computation task to multiple
computers of the cluster. The number of computers are connected on a network and they
perform a single task by forming a Cluster of computers where the process of computing is
called as cluster computing.
Cluster Computing is a high performance
computing framework which helps in solving more
complex operations more efficiently with a faster
processing speed and better data integrity. Cluster
Computing is a networking technology that performs
its operations based on the principle of distributed
systems. The below figure illustrates a simple
architecture of Cluster Computing –
Distributed Computing
Distributed computing refers to solve a problem over distributed autonomous
computers and they communicate between them over a network. It is a computing technique
which allows to multiple computers to communicate and work to solve a single problem.
Distributed computing helps to achieve computational tasks more faster than using a single
computer as it takes a lot of time. Some characteristics of distributed computing are
distributing a single task among computers to progress the work at same time, Remote
Procedure calls and Remote Method Invocation for distributed computations.
It is classified into 3 different types such as: 1. Distributed Computing Systems, 2.
Distributed Information Systems, 3. Distributed Pervasive Systems
Edge Computing
Computation takes place at the edge of a device’s network, which is known as edge
computing. That means a computer is connected with the network of the device, which
processes the data and sends the data to the cloud in real-time. That computer is known as
“edge computer” or “edge node”. With this technology, data is processed and transmitted
to the devices instantly. Yet, edge nodes transmit all the data captured or generated by the
device regardless of the importance of the data. Example of Edge computing: 1.
Autonomous vehicle edge computing devices collect data from cameras and sensors on the
vehicle, process it, and make decisions in milliseconds, such as self-parking cars. 2. In order
to accurately assess a patient’s condition and foresee treatments, data is processed from a
variety of edge devices connected to sensors and monitors.
Fog Computing
Fog computing is an extension of cloud computing. It is a layer in between the edge
and the cloud. When edge computers send huge amounts of data to the cloud, fog nodes
receive the data and analyze what’s important. Then the fog nodes transfer the important
data to the cloud to be stored and delete the unimportant data or keep them with themselves
for further analysis. In this way, fog computing saves a lot of space in the cloud and transfers
important data quickly.
Pervasive Computing/ Ubiquitous computing
Pervasive Computing is also called as Ubiquitous computing, and it is the new trend
toward embedding everyday objects with microprocessors so that they can communicate
information. It refers to the presence of computers in common objects found all around us
so that people are unaware of their presence. All these devices communicate with each other
over wireless networks without the interaction of the user.
Pervasive computing is a combination of three technologies, namely:
1. Micro electronic technology: This technology gives small powerful device and display with
low energy consumption. 2. Digital communication technology: This technology provides
higher bandwidth, higher data transfer rate at lower costs and with world wide roaming. 3.
The Internet standardization: This standardization is done through various standardization
bodies and industry to give the framework for combining all components into an
interoperable system with security, service and billing systems.
Key Characteristics of Pervasive computing: 1. Many devices can be integrated into
one system for multi-purpose uses. 2. A huge number of various interfaces can be used to
build an optimized user interface. 3. Concurrent operation of online and offline supported.
4. A large number of specialized computers are integrated through local buses and Internet.
5. Security elements are added to prevent misuse and unauthorized access.6. Personalization
of functions adapts the systems to the user’s preferences, so that no PC knowledge is
required of the user to use and manage the system.
Defining a Cloud
In cloud computing, a "cloud" refers to a network of remote servers that are
hosted on the internet to store, manage, and process data, rather than relying on a local
server or a personal computer. This network of servers, maintained by cloud providers, offers
on-demand access to computing resources like storage, processing power, and applications.
The cloud abstracts the underlying infrastructure, allowing users to access and use
these resources without managing the hardware directly. In cloud computing, this setup
enables scalability, flexibility, and remote accessibility for users, as they can use and pay for
resources as needed, similar to utilities like electricity or water.
Cloud Architecture
Cloud architecture refers to the design and structure of systems and components that
leverage cloud computing services. It defines how cloud resources (computing, storage,
networking) and services (databases, applications) are interconnected to deliver scalable,
reliable, and efficient cloud-based solutions. → Key Components of Cloud Architecture
1. Frontend (Client Side): Definition: The
interface that users interact with. Examples:
Web browsers, mobile applications, or
desktop interfaces. Functions: a) Enables
user interaction with the cloud. b) Sends
requests to the backend and displays results
(e.g., dashboards). 2. Backend (Cloud
Side): Definition: The core of the cloud
architecture that processes user requests.
Components: a) Servers: Handle
computations and application processing.
b) Databases: Store and retrieve data. c) Storage: Provide scalable storage solutions (block,
file, object storage). d) Middleware: Connects frontend and backend and manages data flow.
e) Load Balancers: Distribute traffic for high availability and performance.
3. Cloud Resources: i) Compute: Virtual machines (VMs), containers, or serverless
functions for executing workloads. ii) Storage: Systems for data retention, including object
storage (e.g., Amazon S3), block storage, and file systems. iii) Networking: Virtual networks,
subnets, and firewalls for secure communication. 4. Orchestration and Management:
i) Automates deployment, scaling, and monitoring of resources. ii) Provides interfaces for
resource provisioning and management. 5. Security Layer: i) Ensures the confidentiality,
integrity, and availability of cloud systems. ii) Includes encryption, identity and access
management (IAM), and firewalls. 6. Development and Operations Tools: i) Continuous
Integration/Continuous Deployment (CI/CD) pipelines. ii) Monitoring and logging tools.
7. Internet or Network Connectivity: Connects users to the cloud services and allows
communication between components.
→ Types of Cloud Architecture
1. Public Cloud Architecture: i) Resources are shared among multiple tenants. ii)
Managed by third-party providers (e.g., AWS, Azure, Google Cloud). 2. Private Cloud
Architecture: i) Dedicated resources for a single organization. ii) Provides higher control and
security. 3. Hybrid Cloud Architecture: i) Combines public and private clouds. ii) Allows
seamless data and workload movement between environments. 4. Multi-Cloud
Architecture: Uses multiple cloud providers to avoid vendor lock-in and enhance reliability.
→ Design Principles of Cloud Architecture
1. Scalability: Design systems to handle varying workloads by scaling up or down
resources. 2. High Availability: Ensure minimal downtime using redundancy and failover
strategies. 3. Security: Implement robust IAM, encryption, and network isolation techniques.
4. Cost Optimization: Optimize resource usage to reduce operational costs. 5. Performance:
Use load balancing and caching to improve response times. 6. Automation: Automate routine
tasks using orchestration tools like Kubernetes or Terraform. 7. Resilience: Build fault-
tolerant systems that recover quickly from failures.
→ Benefits of Cloud Architecture:
1. Scalability: Dynamically adjust resources to meet demand. 2. Reliability: Redundant
systems ensure high availability. 3. Flexibility: Support for a wide range of applications and
use cases. 4. Cost Efficiency: Pay-per-use model reduces operational costs. 5. Innovation:
Frees teams to focus on building new features instead of managing infrastructure.