Cloud Computing Unit-1,2,3 Notes
Cloud Computing Unit-1,2,3 Notes
Cloud Computing
• The term Cloud refers to a Network or Internet
• In other words, we can say that Cloud is something, which is present at remote
location.
• Cloud can provide services over network, i.e., on public networks or on private
networks, i.e., WAN, LAN or VPN.
• Cloud Computing refers to manipulating, configuring, and accessing the
applications online.
• It offers online data storage, infrastructure and application.
• Cloud Computing is both a combination of software and hardware based
computing resources delivered as a network service.
• Cloud computing is a technology that delivers various computing services over the
internet, including servers, storage, databases, networking, software, analytics, and intelligence.
• It allows us to create, configure, and customize applications online.
Architecture of Cloud Computing :-
The cloud architecture is divided into 2 parts:-
• Frontend
• Backend
Cloud Provider
▪ Five major activities of Cloud Provider’s
• Service deployment
• Service orchestration
• Cloud service management
• Security
• Privacy
Service Models
• Service Models are the reference models on which the Cloud Computing is based.
• These can be categorized into three basic service models as listed below:
(1)SAAS
(2)PAAS
(3)IAAS
SAAS
● SAAS stands for Software as a service.
● SAAS delivers software applications over the internet on a subscription basis.
● SAAS model allows to use software applications as a service to end users.
● Users can access these applications through a web browser, without needing to
install or maintain the software on their devices.
● SaaS is a software delivery methodology that provides licensed multitenant access
to software and its functions remotely as a Web-based service.
• Usually billed based on usage
• Usually multi tenant environment
• Highly scalable architecture
How It Works: The cloud service provider manages everything from the hardware and
software to data storage and security. Users simply log in and use the software through a web
interface.
SAAS EXAMPLES:-
◘ Google Workspace ◘ FaceBook
◘ SalesForce ◘ Microsoft Office 365
◘ NETSUITE
PAAS
● PAAS stands for Platform as a service
● PAAS provides the runtime environment for applications, development &
deployment tools, etc.
● It includes tools and services for development, testing, deployment, and
maintenance.
● Typically applications must be developed with a particular platform in mind
• Multi tenant environments
• Highly scalable multi tier architecture
How It Works:
● PaaS offers a comprehensive environment for software development that includes
programming languages, libraries, services, and tools supported by the cloud provider.
● Developers can focus on writing code and creating applications, while the provider
manages servers, storage, and networking.
PAAS EXAMPLES:-
◘ Amazon
◘ SalesForce
◘ Google App Engine
◘ Microsoft Azure App Services
IAAS
● IAAS stands for Infrastructure as a Service.
● IaaS provides virtualized computing resources over the internet, including servers,
storage, and networking.
● It is the most fundamental level of cloud service, offering essential infrastructure
components.
● IAAS is the delivery of technology infrastructure as an on demand scalable service.
● IaaS provides access to fundamental resources such as physical machines, virtual
machines, virtual storage, etc.
• Usually billed/cost based on usage
• Usually multi tenant virtualized environment
• Can be coupled with Managed Services for OS and application support
How It Works:
● IaaS provides a virtual data center for users, where they can run and manage
virtual machines (VMs) and other resources.
● The users have control over the operating system, applications, and storage while
the cloud provider manages the hardware.
EXAMPLES OF IAAS:-
◘ Amazon Web Services (AWS EC2)
◘ Microsoft Azure Virtual Machines
◘ Google Cloud Platform (Compute Engine)
◘ at&t
Cloud Storage
● Cloud storage is a key component of cloud computing that enables users to store,
manage, and access data over the internet.
● Unlike traditional local storage on personal computers or physical servers, cloud
storage provides a scalable, secure, and flexible solution for data management.
● Create an Account User name and password.
● Content lives with the account in the cloud.
● Log onto any computer with Wi-Fi to find your content.
● Data is stored in a virtual environment and can be managed through web-based
interfaces or APIs.
● Users can access their data via the internet, using various devices such as
computers, smartphones, and tablets.
1. Client Layer
○ Users interact with cloud storage through web browsers, mobile apps, or APIs.
○ This layer provides interfaces for data upload, retrieval, and management.
2. Application Layer
○ This layer includes applications and services that manage data storage, retrieval,
and processing.
○ It may involve APIs that allow developers to integrate cloud storage into their
applications.
3. Storage Layer
○ The actual storage infrastructure resides here, including storage devices,
databases, and file systems.
○ Data is distributed across multiple physical servers to ensure redundancy and high
availability.
4. Network Layer
○ This layer encompasses the network connections that enable communication
between clients and the storage infrastructure, ensuring data is transmitted securely and
efficiently.
1. Object Storage
○ Stores data as objects, which include the data itself, metadata, and a unique
identifier.
○ This is suitable for unstructured data like images, videos, and backups.
○ Example: Amazon S3, Google Cloud Storage.
2. Block Storage
○ Divides data into blocks and stores it as separate units, similar to traditional storage
on hard drives.
○ It is typically used for applications that require fast access to data, such as
databases.
○ Example: Amazon EBS (Elastic Block Store), Azure Managed Disks.
3. File Storage
○ Provides a hierarchical file system for storing and managing files.
○ This is ideal for shared file storage and collaborative applications.
○ Example: Azure Files, Google Cloud Filestore.
• Use public cloud services (e.g., AWS, GCP, Azure) for scalable resources.
2. Large Enterprises:
• Hybrid cloud models for critical workloads (private) and public cloud for less sensitive
tasks.
3. E-commerce Companies:
• Use public cloud services for elastic computing (e.g., AWS EC2).
• CDNs and global data centers improve performance and reduce latency.
4. Healthcare Organizations:
5. Educational Institutions:
• Use SaaS solutions (e.g., Google Workspace, Microsoft 365) for collaboration tools.
• Host learning management systems (LMS) and virtual classrooms on public clouds.
6. Financial Services:
• Require secure, compliant, and resilient infrastructure for transactions.
• Hybrid clouds with critical systems on-premises/private and non-critical in public clouds.
• Use of AWS Outposts or Azure Stack for private cloud environments.
8. Government Agencies:
• High security, data sovereignty, and compliance needs.
• Use of government clouds (e.g., AWS GovCloud, Azure Government) for secure
environments.
• Modernize IT, deploy citizen-facing applications, and manage big data securely.
4. Conclusion:
• Effective Administration: Leads to improved performance, security, and cost efficiency.
• Continuous Improvement: Regularly update strategies and tools to adapt to evolving cloud
technologies and business needs.
Monitoring:
There are some types of cloud monitoring :
1. Database monitoring : Analyzes data integrity availability, querying, access, and how
your application uses this data.
2. Virtual machine monitoring: Includes monitoring health, as well as traffic logs and
scalability.
3. Cloud storage monitoring: Tracks and manages the data stored in a cloud
environment. 4. Virtual network monitoring: Creates virtual versions of important network
elements, namely firewalls, routers, and load balancers.
5. Cloud sever monitoring: Tracks metrics such as CPU utilization, memory usage, and
disk input to identify potential problems early.
3. Monitoring Tools:
(i) Cloud-Native Tools:
• AWS CloudWatch for AWS environments.
• Azure Monitor for Microsoft Azure services.
• Google Cloud Operations for Google Cloud environments.
4. Best Practices:
(i) Automation: Automate monitoring and alerting to ensure continuous oversight.
(ii) Set Clear Thresholds: Define thresholds for key metrics to trigger alerts.
Benefits Limitation
(1) Cost Efficiency (1)Data Lock
(2) Scalability and Flexibility (2)Recovery and Backup
(3) Collaboration and Accessibility (3)Deletion of data
(4) Security (4)Data segregation
(5) Performance and Reliability (5)Availability of Services
(1)Public Cloud
Definition: Resources are owned and managed by a third-party provider.
→ Public Cloud allows systems and services to be easily accessible to the general public.
Characteristics: Shared among multiple organizations.
Examples: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform
(2)Private Cloud
Definition: Resources are dedicated to a single organization.
→ Private Cloud allows systems and services to be accessible within an organization.
Characteristics: Offers more control and security.
Hosting Options: Can be on-premises or managed by a third-party provider.
(3) Hybrid Cloud
Service Models
(1)SAAS (2)PAAS (3)IAAS
Deployment Steps
● In Web services, SOAP allows the user request to interact with other programming
languages.
● SOAP is a protocol as it has some strict rules for data format &Communication.
● It manages the recods and maintain the state between the requests.
(1)Security (1)Complexity
(4)Protocol Flexibility
Components of SOAP in Cloud Computing:
(1) Envelope:- Defines the message structure and wraps the entire SOAP message.
service.
• All web services are based on the REST; hence it is called a RESTful service.
• The purpose of developing a RESTful web service is to make the web service more
effective.
• It does not depend on a specific protocol to use, but it's used HTTP/HTTPS.
• It is a set of constraints used to create a lightweight, scalable, and maintainable web service
t that facilitates easy communication.
• POST: Create new data on the server (e.g., adding a new resource).
○ Client-Server
○ Stateless Server
○ Cacheable
○ Uniform Interface
○ Layered System
1. Client-Server Model:
○ Client: Client machines or users send a special request to the webserver and wait
○ Server: Server is the collection of web resources that provides different services to
multiples clients. It receives multiples requests from the client machines and responds to that
2.Stateless Server :- Each request from the client contains all necessary information.
4. Uniform Interface:- Standardized way of interacting with resources using HTTP methods
5. Layered System:- Supports layers like proxy servers, firewalls, and caches to improve
SOAP vs REST
AJAX
(1)HTML/XHTML and CSS:- These technologies are used for displaying content and
style. It is mainly used for presentation.
(2)DOM:- It is used for dynamic display and interaction with data.
(3) XML or JSON :- For carrying data to and from server. JSON (Javascript Object
Notation) is like XML but short and faster than XML.
(4) XMLHttpRequest:- For asynchronous communication between client and server. For
more visit next page.
(5) JavaScript:- It is used mainly for client-side validation.
Where it is used?
There are too many web applications running on the web that are using ajax technology
like gmail, facebook,twitter, google map, youtube etc.
Key Concepts
1. Service Virtualization:
○ Enables developers to mimic the behavior of services that are unavailable or hard
to access.
○ Allows for smoother testing processes by providing access to service-like
behaviors.
2. User Interface (UI) Mashups:
○ Combines data from multiple sources (APIs, web services).
○ Enables the creation of applications that integrate various functionalities.
○ Allows for creative and diverse application designs.
3. Virtual Machine Technology:
○ Multiple VMs run on a single physical server, maximizing hardware utilization.
○ Easy to scale applications up or down by adding or removing VMs as needed.
○ Simplifies backup and recovery processes by enabling snapshots and cloning of
VMs.
Table/Relation:- A table is a collection of related data entries and contains rows and
columns to store data.
Row or record:- A row of a table is also called a record or tuple.
Column/attribute:- Column is a vertical entity in the table which contains all information
associated with a specific field in a table.
Cloud file system
● Cloud file systems and related technologies like GFS, HDFS, BigTable, HBase,
and Dynamo in cloud computing:
(1) Google File System (GFS):- A distributed file system designed to provide efficient,
reliable access to data across large-scale data processing workloads.
Key Fetaures:-
(1)Scalability
(2)Fault Tolerance
(3)Optimized for Large Files
(2)Hadoop Distributed File System (HDFS):- A distributed file system that is part of the
Apache Hadoop project, designed to store large files reliably and to stream those files at high
bandwidth.
Key Features:-
(i) Scalability
(ii) Data Replication
(iii)High Throughput
NoSQL Databases
(3)Bigtable:- A distributed storage system developed by Google for managing structured
data that is designed to scale horizontally.
Key Features
(1) Wide-Column Store
(2)Scalable
(3)Integration with GFS
(4)HBase:- An open-source, distributed, scalable big data store modeled after Bigtable
and part of the Hadoop ecosystem.
Key Features:-
(1) Column-oriented
(2) Random access
(3) Integration with HDFS
PARALLEL COMPUTING
● Parallel computing refers to the process of executing several processors an
application or computation simultaneously.’
● It is done by multiple CPUs communicating via shared memory, which combines
results upon completion.
● There are many reasons to use parallel computing, such as save time and money,
provide concurrency, solve larger problems, etc.
● parallel computing reduces complexity.
● In the real-life example of parallel computing, there are two queues to get a ticket
of anything; if two cashiers are giving tickets to 2 persons simultaneously, it helps to save time
as well as reduce complexity.
Models of Parallel Computing:- Examples of Parallel Computing:-
(1) Increased performance (1)Apache Hadoop
(2) Handling Large Datasets (2) Apache spark
(3) Flexibility and Elasticity (3)Google Cloud Dataflow
(4) Improved Collaboration (4)Microsoft Azure Batch
(5) Reduced Time-to-Market
MAP-REDUCE MODEL
● Map-Reduce model is a programming model designed for processing and
generating large data sets with a parallel, distributed algorithm on a cluster.
● MapReduce is a paradigm which has two phases, the mapper phase, and the
reducer phase.
● Takes input data and transforms it into a set of intermediate key-value pairs.
Workflow of Map-Reduce
1. Input Data: Load data from a distributed file system (like HDFS or GFS).
2. Mapping: Split input data into chunks and apply the map function in parallel.
3. Shuffling: Shuffle and sort intermediate key-value pairs by keys.
4. Reducing: Apply the reduce function to each group of key-value pairs.
5. Output: Store the final results in a distributed file system or a database.
1. Selection (Filtering)
○ Map: Emit records that meet specific criteria.
○ Reduce: Not usually needed unless further aggregation is required.
2. Projection
○ Map: Emit only the specified columns (attributes).
○ Reduce: Often not needed; output comes directly from the map phase.
3. Join
○ Map: Create key-value pairs from both tables, tagging with source.
○ Shuffle and Sort: Group records by key for related processing.
○ Reduce: Perform the join operation on grouped records.
4. Aggregation
○ Map: Emit key-value pairs with group identifiers.
○ Reduce: Sum, average, or aggregate grouped values.
5. Sorting
○ Map: Emit key-value pairs for sorting.
○ Shuffle and Sort: Automatically sort output from mappers.
○ Reduce: Emit sorted output or directly write to output.
6. Grouping
○ Map: Emit key-value pairs with group identifiers.
○ Shuffle and Sort: Group records by key.
○ Reduce: Process grouped records to produce final output
CLOUD DEVELOPMENT
● Cloud development revolutionizes how applications are built, deployed, and
managed.
● Cloud development refers to the process of building and deploying applications
and services that leverage cloud computing infrastructure and platforms.
Key Features:- Development Models:- Use Cases
(1) Scalability (1) SAAS (1)Web Applications
(2) Flexibility (2)PAAS (2) mobile Applictaions
(3) Cost Efficiency (3) IAAS (3)Machine Learning
(4) Collaboration (4) Data Analytics
(5) Security
VULNERABILITY ASSESSMENT TOOL FOR CLOUD