0% found this document useful (0 votes)
14 views

Cloud Computing Notes

The document provides an overview of cloud computing, detailing its components, infrastructure services, and various applications such as SaaS, PaaS, IaaS, and IDaaS. It explains the roles of cloud infrastructure elements like hypervisors, management software, and storage, as well as the benefits of cloud services in business, education, and entertainment. Additionally, it discusses the importance of identity management in cloud services and the characteristics of different cloud service models.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Cloud Computing Notes

The document provides an overview of cloud computing, detailing its components, infrastructure services, and various applications such as SaaS, PaaS, IaaS, and IDaaS. It explains the roles of cloud infrastructure elements like hypervisors, management software, and storage, as well as the benefits of cloud services in business, education, and entertainment. Additionally, it discusses the importance of identity management in cloud services and the characteristics of different cloud service models.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 69

UNIT-1

INTRODUCTION TO CLOUD COMPUTING

CLOUD COMPUTING COMPONENTS:

• Cloud infrastructure: The hardware and software that enables cloud


computing, including storage, networking equipment, processors,
operating systems, user interfaces, and applications.
• Cloud services: The software applications and services delivered over the
internet.
• Front end: The user interface and client devices that clients use to
interact with the cloud.
• Back end: The servers, storage, and databases that support the front
end.
• Network: The internet, intranet, or intercloud that allows
communication between the front end and the back end.
• Cloud-based delivery model: The delivery system that allows
information to be delivered between the front end and the back end.
• Virtualization: The abstraction of resources from the hardware devices.

INFRASTRUCTURE SERVICES:

Cloud infrastructure components :


Different components of cloud infrastructure supports the computing
requirements of a cloud computing model. Cloud infrastructure has number of
key components but not limited to only server, software, network and storage
devices. Still cloud infrastructure is categorized into three parts in general i.e.
1. Computing
2. Networking
3. Storage
The most important point is that cloud infrastructure should have some basic
infrastructural constraints like transparency, scalability, security and intelligent
monitoring etc.
The below figure represents components of cloud infrastructure

Components of Cloud Infrastructure


1. Hypervisor:
Hypervisor is a firmware or a low-level program which is a key to enable
virtualization. It is used to divide and allocate cloud resources between several
customers. As it monitors and manages cloud services/resources that’s why
hypervisor is called as VMM (Virtual Machine Monitor) or (Virtual Machine
Manager).
2. Management Software:
Management software helps in maintaining and configuring the infrastructure.
Cloud management software monitors and optimizes resources, data,
applications and services.
3. Deployment Software:
Deployment software helps in deploying and integrating the application on the
cloud. So, typically it helps in building a virtual computing environment.
4. Network:
It is one of the key components of cloud infrastructure which is responsible for
connecting cloud services over the internet. For the transmission of data and
resources externally and internally network is must require.
5. Server:
Server which represents the computing portion of the cloud infrastructure is
responsible for managing and delivering cloud services for various services and
partners, maintaining security etc.
6. Storage:
Storage represents the storage facility which is provided to different
organizations for storing and managing data. It provides a facility of extracting
another resource if one of the resources fails as it keeps many copies of
storage.

STORAGE APPLICATIONS:
Cloud service providers provide various applications in the field of art,
business, data storage and backup services, education, entertainment,
management, social networking, etc.
The most widely used cloud computing applications are given below -
1. Art Applications
Cloud computing offers various art applications for quickly and easily
design attractive cards, booklets, and images

2. Business Applications
Business applications are based on cloud service providers. Today, every
organization requires the cloud business application to grow their business. It
also ensures that business applications are 24*7 available to users.

3. Data Storage and Backup Applications


Cloud computing allows us to store information (data, files, images, audios, and
videos) on the cloud and access this information using an internet connection.
As the cloud provider is responsible for providing security, so they offer various
backup recovery application for retrieving the lost data.
4. Education Applications
Cloud computing in the education sector becomes very popular. It offers
various online distance learning platforms and student information portals to
the students. The advantage of using cloud in the field of education is that it
offers strong virtual classroom environments, Ease of accessibility, secure data
storage, scalability, greater reach for the students, and minimal hardware
requirements for the applications.

5. Entertainment Applications
Entertainment industries use a multi-cloud strategy to interact with the target
audience. Cloud computing offers various entertainment applications such as
online games and video conferencing.

DATABASE SERVICES:

Like SaaS, PaaS, and IaaS of cloud computing, we can consider DBaaS (also
known as Managed Database Service) as a cloud computing service. It allows
users associated with database activities to access and use a cloud database
system without purchasing it.
1. DBaaS and cloud databases come under Software as a Service (SaaS)
whose demand is growing so fast
2. Database as a Service (DBaaS) is self-service/on-demand database
consumption coupled with automation of operations.
3. As we know cloud computing services are like pay-per-use so DBaaS is
also based on the same payment structure like how much you will use
just pay for your usage.
4. This DBaaS provides the same function as standard traditional and
relational database models.
5. Using DBaaS, organizations can avoid database configuration,
management, degradation, and security.
6. DBaaS consists of an info manager element, that controls all underlying
info instances via API.
7. This API is accessible to the user through a management console,
typically an online application, that the user might use to manage and
assemble the info and even provision or deprovision info instances.

INTRODUCTION TO Saas, Paas, Iaas, Idaas, data storage in cloud:

SaaS is also known as "On-Demand Software." It is a software distribution


model in which services are hosted by a cloud service provider. These services
are available to end-users over the internet, so the end-users do not need to
install any software on their devices to access these services.

Characteristics of SaaS:
o Web-based Delivery: SaaS apps can be accessed from anywhere with an
internet connection because they are supplied over the internet, often
through a web browser. Users no longer need to install and maintain
software programs on their local machines as a result.
o Multiple Users or "tenants" can access SaaS applications from a single
instance of the program thanks to the concept of multi-tenancy. As a
result, the provider can serve several clients with the same application
without administering unique program instances for every client.
o Automatic Updates: SaaS providers are in charge of keeping the
software up to date and making sure that everyone has access to the
newest features and security patches. Users are no longer required to
manually install updates or fixes as a result.
o Scalable: SaaS systems are scalable, which can readily grow or shrink in
response to user demand. This frees up enterprises from worrying about
infrastructure or licensing fees and lets them add or remove users as
needed.

Services Provided by SaaS:


Business Services - SaaS Provider provides various business services to start up
the business. The SaaS business services include ERP (Enterprise Resource
Planning), CRM (Customer Relationship Management), billing, and sales.
Document Management - SaaS document management is a software
application offered by a third party (SaaS provider) to create, manage, and
track electronic documents.
Examples: Slack, Samepage, Box, and Zoho Forms.
Social Networks - As we all know, social networking sites are used by the
general public, so social networking service providers use SaaS for their
convenience and handle the general public's information.
Mail Services - To handle the unpredictable number of users and load on e-
mail services, many e-mail providers offer their services using SaaS.
Collaboration Tools: SaaS companies provide collaboration solutions that let
teams collaborate effectively no matter where they are physically located.
Platforms for project management, apps for team communication, and file-
sharing services are some of these resources.
Examples include Slack, Microsoft Office 365, and Google Workspace (formerly
G Suite).

Paas:
Platform as a Service | PaaS
Platform as a Service (PaaS) provides a runtime environment. It allows
programmers to easily create, test, run, and deploy web applications. You can
purchase these applications from a cloud service provider on a pay-as-per-use
basis and access them using an Internet connection. In PaaS, back-end
scalability is managed by the cloud service provider, so end-users do not need
to worry about managing the infrastructure.

PaaS includes infrastructure (servers, storage, and networking) and platform


(middleware, development tools, database management systems, business
intelligence, and more) to support the web application life cycle.
Examples: Google App Engine, Force.com, Joyent, Azure.
Some of the Services Provided by PaaS are:
Programming Languages: A variety of programming languages are supported
by PaaS providers, allowing developers to choose their favorite language to
create apps. Languages including Java, Python, Ruby,.NET, PHP, and Node.js are
frequently supported.
Application Frameworks: Pre-configured application frameworks are offered by
PaaS platforms, which streamline the development process. These frameworks
include features like libraries, APIs, and tools for quick development, laying the
groundwork for creating scalable and reliable applications. Popular application
frameworks include Laravel, Django, Ruby on Rails, and Spring Framework.
Databases: Managed database services are provided by PaaS providers, making
it simple for developers to store and retrieve data. These services support
relational databases (like MySQL, PostgreSQL, and Microsoft SQL Server) and
NoSQL databases (like MongoDB, Cassandra, and Redis). For its database
services, PaaS platforms often offer automated backups, scalability, and
monitoring tools.
Additional Tools and Services: PaaS providers provide a range of extra tools
and services to aid in the lifecycle of application development and deployment.
These may consist of the following:
o Development Tools: to speed up the development process, these
include integrated development environments (IDEs), version control
systems, build and deployment tools, and debugging tools.
o Collaboration and Communication: PaaS platforms frequently come with
capabilities for team collaboration, including chat services, shared
repositories, and project management software.
o Analytics and Monitoring: PaaS providers may give tools for tracking
application performance, examining user behavior data, and producing
insights to improve application behavior and address problems.
o Security and Identity Management: PaaS systems come with built-in
security features like access control, encryption, and mechanisms for
authentication and authorization to protect the privacy of applications
and data.
o Scalability and load balancing: PaaS services frequently offer automatic
scaling capabilities that let applications allocate more resources as
needed to manage a spike in traffic or demand. To improve performance
and availability, load balancing features divide incoming requests among
various instances of the application.

Iaas:
Iaas is also known as Hardware as a Service (HaaS). It is one
of the layers of the cloud computing platform. It allows
customers to outsource their IT infrastructures, such as
servers, networking, processing, storage, virtual machines,
and other resources. Customers access these resources on
the Internet using a pay-as-per-use model.
In traditional hosting services, IT infrastructure was rented
out for a specific period of time, with pre-determined
hardware configuration. The client paid for the configuration
and time, regardless of the actual use. With the help of the
IaaS cloud computing platform layer, clients can dynamically
scale the configuration to meet changing requirements and
are billed only for the services actually used.
The IaaS cloud computing platform layer eliminates the need
for every organization to maintain its IT infrastructure.
IaaS is offered in three models: public, private, and hybrid
cloud. The private cloud implies that the infrastructure
resides at the customer's premise. In the case of the public
cloud, it is located at the cloud computing platform vendor's
data center, and the hybrid cloud is a combination of the two
in which the customer selects the best of both public cloud
and private cloud.
Computing: To provision virtual machines (VMs) for end
users, IaaS providers offer virtual central processing units
(CPUs) and virtual main memory. As a result, users may run
their workloads and apps on the provider's infrastructure
without having to worry about managing the underlying
hardware.
Storage: Back-end storage services are provided by IaaS
providers, enabling users to store and access their files and
data. This offers scalable and trustworthy storage solutions
for a variety of use cases and can include block storage,
object storage, or file storage alternatives.
Network: IaaS providers provide networking tools, including
routers, switches, and bridges for the VMs through Network
as a Service (NaaS). This enables connectivity and
communication between VMs and other resources while also
allowing customers to create and maintain their network
architecture within the IaaS environment.
Advertisement
Load balancers: Infrastructure-layer load balancing services
are provided by IaaS providers. Incoming network traffic is
split up among many virtual machines (VMs) or resources by
load balancers, resulting in effective resource management
and excellent application and service availability.
Security: Security features and services are frequently offered
by IaaS providers as part of their offering. To safeguard data
and resources housed on the IaaS platform, this can include
network security, firewall configurations, access controls,
encryption, and other security measures.
Backup and disaster recovery services are provided by some
IaaS providers, enabling customers to create backup copies of
their data and software and put recovery plans in place in the
event of data loss or system problems. This promotes
business continuity and data security.
Monitoring and Management: IaaS suppliers provide tools
and services for monitoring and controlling the resources and
infrastructure. This can involve managing VMs, storage, and
network configurations using management panels or APIs, as
well as measuring resource utilization, automating scaling,
and monitoring performance.

Idaas:

Identity-as-a-Service (IDaaS) refers identity and access management services


provided through the cloud on a subscription basis. Identity-as-a-Service is
typically fully on-premises and provided via set of software and hardware
means. An identity service stores the information linked with a digital entity in
a form which can be managed and queried for further utilization in electronic
transactions. Major core functions of Identity Services are:
1. A data stores.
2. Query Engine.
3. Policy Engine.
Some Distributed transaction systems like cloud computing systems and
internetworks magnify the problems tackled by identity management systems
by revealing a larger attack surface to an intruder than a private network does.
Whether it is network congestion protection, privileged component access, or
any other defined right or privilege, As the central tenet of secure network
schema leads to the base of validation authorization of object on its identity.
Hence, establishing identity is the key to get trust and to anything that an
object seems to claim possession of. Services which provide digital identity
management as a service are classification of internetworked systems. IDaaS –
Identity-as-a-Service is a FLAVor (Four Letter Acronym) of the month, which is
applied to many services that are already exist. Servers that run the numerous
internet domains (.COM, .ORG, .EDU, .MIL, .RU, .TV etc.) are IDaaS servers. DNS
configures the identity of a domain as belonging to a group of assigned
networks, linked with an owner and his information, and so forth. If the
identity is configured in the form of IP number, then the metadata is another
property. Definition of an Identity – An identity refers to a set of attributes or
characteristics which make something recognizable or known. It is digital
identity of an individual that is mostly concerned in computer network
systems. An attribute and metadata of any object related to another object
that enables an object to be identifiable is termed as Digital Identity. An
identity can belong to an individual and may consist of the following:
1. Things you are: Biological characteristics like gender, age etc.
2. Things you know: Personal data like social security PINs etc.
3. Things you have: Your fingerprint, bank account which you can access
etc.
4. Things you relate to: Your family and friends, beliefs and values etc.
To establish an identity, an individual might be demanded to provide a name
and password, that is termed as single-factor authentication method. More
secure authentication needs the use of minimum two-factor authentication. To
get a multi-factor authentication, an individual might have a system which
checks a biometric factor like fingerprint pattern which is unique. Multi-factor
authentication needs the use of a network security or reliable services which is
in the deployment of reliable services that most common IDaaS applications
are employed in the cloud computing. A lot of things has digital identity.
Machine accounts and user, devices, and many other objects configure their
identity in various methods. In this, identities are created and stored in the
database of security domains that are the basis of any domain of network.
Network interfaces which are recognized uniquely by Media Access Control
(MAC) addresses, that are referred to as Ethernet Hardware Access (EHA).
Network identity assign specific MAC address that enables system to be
uniquely found on the network. The manner in which a Windows provider
validates installation of windows on the system of the user is known as
Windows Product Activation and it establish an identification index or profile of
the system, which is instructive. During activation, the following unique data
components are fetched:
1. PC manufacturer
2. CPU type and its serial number
3. BIOS checksum
4. Display adapter
5. RAM amount
6. A 25-character software product key and product ID
7. The uniquely assigned Global Unique Identifier or GUID
8. Network address and its MAC address
9. SCSCI and IDE adapters
10.Hard drive and volume serial number
11.Optical drive
12.Region and language settings
Each of the above uniquely identified hardware characteristics is assigned a
factor such that an overall sum can be remunerated.

DATA STORAGE IN CLOUD:


Cloud storage is a service that allows users to store data on servers located off-
site, which are maintained by a third-party provider:
• How it works
Users store data on the cloud by transferring it over a network to the provider's
servers. The provider is responsible for keeping the data secure, accessible, and
available.
• Benefits
Cloud storage offers many benefits, including:
• Scalability: Users can expand or reduce their data storage as
needed.
• Accessibility: Users can access their data from any location and
from any device.
• Agility: Users don't need to buy and manage their own data
storage infrastructure.
• Types
There are several types of cloud storage, including public, private, and hybrid:
• Public: Suitable for unstructured data
• Private: Can be protected behind a company firewall
• Hybrid: Combines public and private cloud services
• Use cases
Cloud storage can be used for personal storage, such as backing up photos and
videos, or for enterprise storage, such as securely transferring and storing data
files.
• Security
While the provider is responsible for keeping the data secure, users are still
responsible for ensuring compliance with data privacy, security, and
compliance regulations.
UNIT-2
VIRTUALIZATION

ENABLING TECHNOLOGIES:

The main technologies that enable cloud computing are virtualization, automation, and
service-oriented architecture (SOA):
• Virtualization: Uses software called a hypervisor to create virtual instances of
servers, storage, and other resources. This allows multiple cloud environments to
run on a single physical server.
• Automation: Provides users with the ability to provision resources, connect
services, and deploy workloads without direct intervention from the cloud
provider's IT staff.
• Service-oriented architecture (SOA): A major cloud computing technology.
Other technologies that enable cloud computing include grid computing and utility
computing.
Cloud computing services can be deployed in three different ways: public cloud, private
cloud, and hybrid cloud:
• Public cloud
Services are delivered over the public internet and are owned and operated by third-
party cloud service providers.
• Private cloud
Services are delivered over a private network and are owned and operated by
enterprises.
• Hybrid cloud
Services are delivered over a combination of public and private networks and use a mix
of on-premises and third-party resources.
TYPES OF VIRTUALIZATIONS:

Virtualization is the "creation of a virtual (rather than actual) version of something,


such as a server, a desktop, a storage device, an operating system or network
resources".
In other words, Virtualization is a technique, which allows to share a single physical
instance of a resource or an application among multiple customers and organizations. It
does by assigning a logical name to a physical storage and providing a pointer to that
physical resource when demanded.

Types of Virtualization:
1. Hardware Virtualization.
2. Operating system Virtualization.
3. Server Virtualization.
4. Storage Virtualization.
1) Hardware Virtualization:
When the virtual machine software or virtual machine manager (VMM) is directly
installed on the hardware system is known as hardware virtualization.
The main job of hypervisor is to control and monitoring the processor, memory and
other hardware resources.
After virtualization of hardware system we can install different operating system on it
and run different applications on those OS.
Usage:
Hardware virtualization is mainly done for the server platforms, because controlling
virtual machines is much easier than controlling a physical server.
2) Operating System Virtualization:
When the virtual machine software or virtual machine manager (VMM) is installed on
the Host operating system instead of directly on the hardware system is known as
operating system virtualization.
Usage:
Operating System Virtualization is mainly used for testing the applications on different
platforms of OS.
3) Server Virtualization:
When the virtual machine software or virtual machine manager (VMM) is directly
installed on the Server system is known as server virtualization.
Usage:
Server virtualization is done because a single physical server can be divided into
multiple servers on the demand basis and for balancing the load.
4) Storage Virtualization:
Storage virtualization is the process of grouping the physical storage from multiple
network storage devices so that it looks like a single storage device.
Storage virtualization is also implemented by using software applications.
Usage:
Storage virtualization is mainly done for back-up and recovery purposes.

DESKTOP VIRTUALIZATION:

Desktop virtualization is a technology that allows users to access a desktop from a


connected device by simulating a workstation load. When combined with cloud
computing, desktop virtualization can make it easier for organizations to scale and
provision resources.
Here are some ways desktop virtualization and cloud computing work together:
• Virtual desktop infrastructure (VDI)
A popular type of desktop virtualization that uses a VM to deliver virtual desktops to
connected devices. Cloud providers offer two types of VDI: persistent and
nonpersistent. Persistent VDI is a good option for users who need elevated
permissions, while nonpersistent VDI is a good option for knowledge and task workers.
• Desktop-as-a-Service (DaaS)
A cloud-hosted virtual desktop that reduces the need for on-premises
infrastructure. DaaS makes desktop virtualization more accessible to smaller
organizations.
• Remote desktop services (RDS)
A desktop virtualization option that allows users to remotely access desktops and
Windows applications through the Microsoft Windows Server operating system. RDS
can be a more cost-effective option because one instance of Windows Server can
support many users.

MEMORY VIRTUALIZATION:

Memory virtualization in cloud computing is a technique that pools physical memory


from multiple systems into a virtual memory layer. This allows applications to access a
consolidated pool of memory, instead of being limited to the memory on a single
system.
Memory virtualization is a critical component of cloud computing, as it allows for the
efficient allocation of resources and enhances system performance. It also contributes
to the flexibility and scalability of cloud computing, which are essential for businesses
of all sizes.
Here are some benefits of memory virtualization in cloud computing:
• Efficient resource allocation
Memory virtualization prevents wastage and ensures that resources are allocated
efficiently.
• Flexibility and scalability
Memory resources can be easily adjusted to match changing user needs.
• Improved system performance
Memory virtualization reduces the risk of memory-related bottlenecks and improves
overall system responsiveness.
• Data security
Allocating separate cloud memory for each user prevents unauthorized access.
• Load balancing, hardware maintenance, and disaster recovery
Live migration allows for the transfer of VM memory from one host to another.
Memory virtualization can be implemented at the operating system level, the hardware
level, or the application level.
STORAGE VIRTUALIZATION:
As we know that, there has been a strong link between the physical host and the locally
installed storage devices. However, that paradigm has been changing drastically, almost
local storage is no longer needed. As the technology progressing, more advanced
storage devices are coming to the market that provide more functionality, and obsolete
the local storage.
Storage virtualization is a major component for storage servers, in the form of
functional RAID levels and controllers. Operating systems and applications with device
can access the disks directly by themselves for writing. The controllers configure the
local storage in RAID groups and present the storage to the operating system
depending upon the configuration. However, the storage is abstracted and the
controller is determining how to write the data or retrieve the requested data for the
operating system.
Storage virtualization is becoming more and more important in various other forms:
File servers: The operating system writes the data to a remote location with no need to
understand how to write to the physical media.
WAN Accelerators: Instead of sending multiple copies of the same data over the WAN
environment, WAN accelerators will cache the data locally and present the re-
requested blocks at LAN speed, while not impacting the WAN performance.
SAN and NAS: Storage is presented over the Ethernet network of the operating system.
NAS presents the storage as file operations (like NFS). SAN technologies present the
storage as block level storage (like Fibre Channel). SAN technologies receive the
operating instructions only when if the storage was a locally attached device.
Storage Tiering: Utilizing the storage pool concept as a stepping stone, storage tiering
analyze the most commonly used data and places it on the highest performing storage
pool. The lowest one used data is placed on the weakest performing storage pool.
This operation is done automatically without any interruption of service to the data
consumer.
Advantages of Storage Virtualization
1. Data is stored in the more convenient locations away from the specific host. In
the case of a host failure, the data is not compromised necessarily.
2. The storage devices can perform advanced functions like replication,
reduplication, and disaster recovery functionality.
3. By doing abstraction of the storage level, IT operations become more flexible in
how storage is provided, partitioned, and protected.
APPLICATION VIRTUALIZATION:
Application virtualization is a technology that allows users to access applications
without installing them on their devices:
• How it works
Application virtualization allows users to access applications remotely, without
installing them on their devices. This is achieved by using a hypervisor to provision
virtual machines (VMs) with resources.
• Benefits
Application virtualization has many benefits for organizations, including:
• Ease of management: IT can install an application once on a central server
and then deploy it on user devices as needed.
• Cost-efficiency: Application virtualization can be cost-efficient, especially
for large companies or companies looking to expand.
• Security: Virtualized applications can be more secure than applications
installed on a user's device.
• Flexibility: End users can use the devices they prefer and work from
anywhere.
• Examples
Examples of application virtualization include Microsoft terminal services, Citrix, and
PanoLogic.

TOOLS AND PRODUCTS AVAILABLE FOR VIRTUALIZATION:


Here are some tools and products for virtualization:

Hyper-V
A Microsoft product that allows users to create and manage virtual machines on
Windows-based systems. It's available as a stand-alone product or as a feature of
Windows Server.

VirtualBox
An open source virtualization platform that runs on Windows, Linux, Macintosh, and
Solaris hosts. It supports a large number of guest operating systems.

VMware ESXi
A virtualization platform used for server virtualization, storage, networking, and
security. It's used by businesses of all sizes.

VMware Workstation
A virtualization software that allows users to create, manage, and run multiple virtual
machines on their desktop or laptop. It's designed primarily for professional use.

TIBCO Data Virtualization


A data virtualization feature that allows users to access and combine data from
disparate sources as if it were a single, unified data source.
• Kernel-based Virtual Machine (KVM)
An open source virtualization technology built into Linux. It provides hardware assist to
the virtualization software.


XenServer
An open source virtualization platform that offers near-native performance and best-in-
class VM density.

Denodo
A data virtualization tool that offers data integration, data management and data
delivery.

IBM
A data virtualization platform that can help simplify the data modeling process.
UNIT-3
SAAS AND PAAS

Getting started with SAAS:

Software as a Service (SaaS) is a cloud-based model that allows users to


access and use software applications over the internet. With SaaS, users can
rent the use of an app from a cloud service provider on a pay-as-you-go
basis, instead of installing and maintaining software on their own devices.
Here are some key features of SaaS:
• Cloud-based
SaaS applications run on the cloud provider's servers, and users access them
through a web browser or API.
• Pay-as-you-go
Users purchase the software on a subscription basis, often with tiered
pricing based on usage or features.
• Managed by the provider
The cloud provider manages the software, including updates, security, and
availability.
• Frees up IT teams
SaaS frees up in-house IT teams from routine software management tasks.
• Quick deployment
Users can get up and running with an app quickly, with minimal upfront
costs.
Some examples of SaaS applications include:
• Email services like Gmail
• Office tools like Microsoft Office 365
• Social media websites
• Skype
• Dropbox
• Entertainment products like Netflix and Spotify
While SaaS can offer many benefits, there are also some challenges and
risks to consider, such as:
• Issues beyond customer control, such as service disruptions or security
breaches
• Customers losing control over versioning
• Difficulty switching vendors

SAAS SOLUTIONS:
A Service-Oriented Architecture or SOA is a design pattern which is designed
to build distributed systems that deliver services to other applications
through the protocol. It is only a concept and not limited to any
programming language or platform.
What is Service?
A service is a well-defined, self-contained function that represents a unit of
functionality. A service can exchange information from another service. It is
not dependent on the state of another service. It uses a loosely coupled,
message-based communication model to communicate with applications
and other services.
Service Connections
The figure given below illustrates the service-oriented architecture. Service
consumer sends a service request to the service provider, and the service
provider sends the service response to the service consumer. The service
connection is understandable to both the service consumer and service
provider.
Service-Oriented Terminologies:
Let's see some important service-oriented terminologies:

o Services - The services are the logical entities defined by one or more
published interfaces.
o Service provider - It is a software entity that implements a service
specification.
o Service consumer - It can be called as a requestor or client that calls a
service provider. A service consumer can be another service or an end-
user application.
o Service locator - It is a service provider that acts as a registry. It is
responsible for examining service provider interfaces and service
locations.
o Service broker - It is a service provider that pass service requests to
one or more additional service providers.
Characteristics of SOA:
The services have the following characteristics:
o They are loosely coupled.
o They support interoperability.
o They are location-transparent
o They are self-contained.
Components of service-oriented architecture:
The service-oriented architecture stack can be categorized into two parts -
functional aspects and quality of service aspects.
Functional aspects
The functional aspect contains:
o Transport - It transports the service requests from the service
consumer to the service provider and service responses from the
service provider to the service consumer.
o Service Communication Protocol - It allows the service provider and
the service consumer to communicate with each other.
o Service Description - It describes the service and data required to
invoke it.
o Service - It is an actual service.
o Business Process - It represents the group of services called in a
particular sequence associated with the particular rules to meet the
business requirements.
o Service Registry - It contains the description of data which is used by
service providers to publish their services.
Quality of Service aspects
The quality-of-service aspects contains:
o Policy - It represents the set of protocols according to which a service
provider makes and provide the services to consumers.
o Security - It represents the set of protocols required for identification
and authorization.
o Transaction - It provides the surety of consistent result. This means, if
we use the group of services to complete a business function, either
all must complete or none of the complete.
o Management - It defines the set of attributes used to manage the
services.
Advantages of SOA:
SOA has the following advantages:
o Easy to integrate - In a service-oriented architecture, the integration is
a service specification that provides implementation transparency.
o Manage Complexity - Due to service specification, the complexities get
isolated, and integration becomes more manageable.
o Platform Independence - The services are platform-independent as
they can communicate with other applications through a common
language.
o Loose coupling - It facilitates to implement services without impacting
other applications or services.
o Parallel Development - As SOA follows layer-based architecture, it
provides parallel development.
o Available - The SOA services are easily available to any requester.
o Reliable - As services are small in size, it is easier to test and debug
them.

PAAS AND BENEFITS:


Platform as a Service (PaaS) provides a runtime environment. It allows
programmers to easily create, test, run, and deploy web applications. You
can purchase these applications from a cloud service provider on a pay-as-
per-use basis and access them using an Internet connection. In PaaS, back-
end scalability is managed by the cloud service provider, so end-users do not
need to worry about managing the infrastructure.
PaaS includes infrastructure (servers, storage, and networking) and platform
(middleware, development tools, database management systems, business
intelligence, and more) to support the web application life cycle.
Examples: Google App Engine, Force.com, Joyent, Azure.
Advantages of PaaS
There are the following advantages of PaaS -
1) Simplified Development
PaaS allows developers to focus on development and innovation without
worrying about infrastructure management.
2) Lower risk
No need for up-front investment in hardware and software. Developers only
need a PC and an internet connection to start building applications.
3) Prebuilt business functionality
Some PaaS vendors also provide already defined business functionality so
that users can avoid building everything from very scratch and hence can
directly start the projects only.
4) Instant community
PaaS vendors frequently provide online communities where the developer
can get ideas, share experiences, and seek advice from others.
5) Scalability
Applications deployed can scale from one to thousands of users without any
changes to the applications.
UNIT-4
Iaas and Cloud Storage

Understanding Iaas:

Iaas is also known as Hardware as a Service (HaaS). It is one of the layers of


the cloud computing platform. It allows customers to outsource their IT
infrastructures, such as servers, networking, processing, storage, virtual
machines, and other resources. Customers access these resources on the
Internet using a pay-as-per-use model.
In traditional hosting services, IT infrastructure was rented out for a specific
period of time, with pre-determined hardware configuration. The client paid
for the configuration and time, regardless of the actual use. With the help of
the IaaS cloud computing platform layer, clients can dynamically scale the
configuration to meet changing requirements and are billed only for the
services actually used.
The IaaS cloud computing platform layer eliminates the need for every
organization to maintain its IT infrastructure.
IaaS is offered in three models: public, private, and hybrid cloud. The private
cloud implies that the infrastructure resides at the customer's premise. In
the case of the public cloud, it is located at the cloud computing platform
vendor's data center, and the hybrid cloud is a combination of the two in
which the customer selects the best of both public cloud and private cloud.

IaaS provider provides the following services –

Computing: To provision virtual machines (VMs) for end users, IaaS


providers offer virtual central processing units (CPUs) and virtual main
memory. As a result, users may run their workloads and apps on the
provider's infrastructure without having to worry about managing the
underlying hardware.
Storage: Back-end storage services are provided by IaaS providers, enabling
users to store and access their files and data. This offers scalable and
trustworthy storage solutions for a variety of use cases and can include
block storage, object storage, or file storage alternatives.
Network: IaaS providers provide networking tools, including routers,
switches, and bridges for the VMs through Network as a Service (NaaS). This
enables connectivity and communication between VMs and other resources
while also allowing customers to create and maintain their network
architecture within the IaaS environment.
Load balancers: Infrastructure-layer load balancing services are provided by
IaaS providers. Incoming network traffic is split up among many virtual
machines (VMs) or resources by load balancers, resulting in effective
resource management and excellent application and service availability.
Security: Security features and services are frequently offered by IaaS
providers as part of their offering. To safeguard data and resources housed
on the IaaS platform, this can include network security, firewall
configurations, access controls, encryption, and other security measures.
Backup and disaster recovery services are provided by some IaaS providers,
enabling customers to create backup copies of their data and software and
put recovery plans in place in the event of data loss or system problems.
This promotes business continuity and data security.
Monitoring and Management: IaaS suppliers provide tools and services for
monitoring and controlling the resources and infrastructure. This can involve
managing VMs, storage, and network configurations using management
panels or APIs, as well as measuring resource utilization, automating scaling,
and monitoring performance.
It's vital to remember that depending on the provider and their offerings,
the precise services offered by IaaS providers may change. The list above
illustrates some typical IaaS providers' common services.

IMPROVING PERFORMANCE:
Load balancing is an essential technique used in cloud computing to
optimize resource utilization and ensure that no single resource is
overburdened with traffic. It is a process of distributing workloads across
multiple computing resources, such as servers, virtual machines, or
containers, to achieve better performance, availability, and scalability.
1. In cloud computing, load balancing can be implemented at various
levels, including the network layer, application layer, and database
layer. The most common load balancing techniques used in cloud
computing are:
2. Network Load Balancing: This technique is used to balance the
network traffic across multiple servers or instances. It is implemented
at the network layer and ensures that the incoming traffic is
distributed evenly across the available servers.
3. Application Load Balancing: This technique is used to balance the
workload across multiple instances of an application. It is implemented
at the application layer and ensures that each instance receives an
equal share of the incoming requests.
4. Database Load Balancing: This technique is used to balance the
workload across multiple database servers. It is implemented at the
database layer and ensures that the incoming queries are distributed
evenly across the available database servers.
Load balancing helps to improve the overall performance and reliability of
cloud-based applications by ensuring that resources are used efficiently and
that there is no single point of failure. It also helps to scale applications on
demand and provides high availability and fault tolerance to handle spikes in
traffic or server failures.

SERVER TYPES WITHIN Iaas:


Within an Infrastructure as a Service (IaaS) environment, there are three
types of servers that customers can acquire:
• Physical server: A dedicated piece of hardware for the customer's use
• Dedicated virtual server: A virtual server that runs on a physical
server, and is allocated to the customer
• Shared virtual server: A virtual server that is accessible to the
customer, but may be shared with other customers
IaaS is a cloud computing service that provides on-demand access to: Cloud-
hosted servers, Storage, Networking, and Operating systems.
UTILIZING CLOUD BASED NAS DEVICES:
Utilizing cloud-based NAS (Network Attached Storage) devices
means storing and accessing data on a virtual storage system hosted in the
cloud, allowing users to manage files remotely through a network
connection, essentially providing a scalable and flexible storage solution
without the need for dedicated physical hardware on-premises; this is
particularly useful for file sharing, collaboration, data backup, and archiving,
especially when dealing with large volumes of data across geographically
dispersed teams.
Key benefits of using cloud-based NAS:
• Scalability:
Easily expand storage capacity on demand without needing to purchase and
manage additional physical hardware.
• Accessibility:
Access files from anywhere with an internet connection, enabling remote
collaboration.
• Cost-effectiveness:
Pay only for the storage you use, potentially lowering overall infrastructure
costs.
• Disaster Recovery:
Data is automatically replicated across multiple cloud regions, providing
redundancy and protection against data loss.
• Simplified Management:
Cloud providers handle the maintenance and updates of the storage
infrastructure.
Common use cases for cloud NAS:
• File Sharing and Collaboration:
Centralized storage for teams to share large files and collaborate on
projects.
• Media Storage:
Storing and managing large media files for creative teams like video editors
and graphic designers
• Data Backup and Archiving:
Securely backing up critical data to the cloud for long-term storage
• Hybrid Cloud Deployments:
Combining on-premises NAS with cloud-based storage for a flexible data
management strategy.
Important considerations when using cloud NAS:
• Performance:
Network latency can impact access speeds, especially for large files,
depending on your location and internet connection.
• Data Security:
Ensure robust encryption measures are in place to protect sensitive data in
the cloud.
• Cost Management:
Monitor your cloud storage usage to avoid unexpected costs due to data
transfer or storage fees.
Popular cloud providers offering NAS services:
• Amazon Web Services (AWS): Amazon Elastic File System (EFS)
• Microsoft Azure: Azure Files
• Google Cloud Platform (GCP): Cloud Storage with NAS functionality

CLOUD BASED DATA STORAGE AND BACK UP SERVICES:


A "cloud based data storage and backup service" refers to a system where
your digital data is stored on remote servers managed by a third-party
provider, allowing you to access and back up your information from
anywhere with an internet connection, effectively protecting against data
loss in case of local hardware failure or disaster; popular examples include
Google Drive, Dropbox, Microsoft OneDrive, Backblaze, and Amazon S3,
with each offering varying storage capacities, features, and pricing tiers
depending on your needs.
Key points about cloud based data storage and backup services:
• Accessibility: Access your data from any device with an internet
connection.
• Scalability: Easily increase or decrease storage space as needed.
• Reliability: Data is stored on multiple servers across different locations
for redundancy and disaster recovery.
• Cost-effective: Pay only for the storage space you use, eliminating the
need to manage physical hardware.
Common features of cloud storage and backup services:
• File syncing: Automatically synchronize files across multiple devices.
• Version control: Keep track of previous versions of files for easy
rollback
• Sharing capabilities: Share files with others, often with access
controls
• Backup scheduling: Set automated backups to occur regularly
• Encryption: Protect data with encryption for added security
Some popular cloud storage and backup services:
• Google Drive: Integrated with Google services, great for personal and
collaborative use
• Microsoft OneDrive: Part of the Microsoft suite, seamless integration
with Office applications
• Dropbox: User-friendly interface, good for file sharing
• Amazon S3: Robust storage for large data sets, suitable for enterprise
use
• Backblaze: Known for unlimited storage options and simple backup
process
• Apple iCloud: Primarily for Apple users, integrates with Apple devices

CLOUD BASED BLOCK STORAGE AND DATA BASE SERVICES:


Cloud based block storage" refers to a type of cloud storage where data is
divided into equally sized blocks, each with a unique identifier, allowing for
fast, direct access to specific data segments, ideal for high-performance
applications like databases, while "database services" on the cloud provide
managed database environments accessible through the internet, allowing
users to store, organize, and retrieve data efficiently; together, they offer a
powerful combination for high-performance data management in the
cloud.
Key points about cloud based block storage:
• How it works:
Data is broken down into discrete blocks, which can be stored and accessed
independently, providing fast retrieval times.
• Use cases:
Perfect for applications requiring low latency and high throughput, such as
transactional databases, virtual machines, and high-performance computing
workloads.
• Benefits:
• Scalability: Easily add or remove storage capacity as needed.
• Flexibility: Access data from different operating systems as if it
were a local drive.
• High performance: Fast read/write operations due to direct block
access.
Major cloud providers offering block storage services:
• Amazon Web Services (AWS): Amazon Elastic Block Store (EBS)
• Microsoft Azure: Azure Managed Disks
• Google Cloud Platform (GCP): Persistent Disk
Cloud database services:
• Relational databases:
Structured data with tables and columns (e.g., AWS RDS, Azure SQL
Database, Google Cloud SQL)
• NoSQL databases:
Flexible data structures for large-scale data management (e.g., AWS
DynamoDB, Azure Cosmos DB, Google Cloud Firestore)
How they work together:
• High-performance databases:
By utilizing cloud block storage as the underlying storage layer, cloud
databases can achieve exceptional performance for demanding workloads.
• Data consistency:
Cloud database services ensure data integrity and consistency across
distributed storage blocks.
UNIT-5
CLOUD APPLICATION DEVELOPMENT

CLIENT-SERVER DISTRIBUTED ARCHITECTURE FOR CLOUD DESIGNING:


A client-server distributed architecture for cloud designing refers to a system
where multiple client devices, like user computers or mobile apps,
communicate with a centralized server hosted on a cloud platform to
request and receive data or services, effectively distributing the workload
across different server nodes to ensure scalability and high
availability; essentially, the client initiates requests, and the server processes
them and sends back responses, all facilitated through a network
connection in the cloud environment.
Key components:
• Client:
The user-facing application or device that sends requests to the server, such
as a web browser, mobile app, or desktop software.
• Server:
The cloud-based component that receives client requests, processes them,
and sends back the necessary data or response.
How it works:
1. Client request:
A client initiates a request by sending a message to the server through the
network, specifying the desired action or data.
2. Server processing:
The server receives the request, processes it based on the application logic,
retrieves necessary data from a database, and generates a response.
3. Response delivery:
The server sends the processed response back to the client, which then
displays the results to the user.
Benefits of using a client-server distributed architecture in the cloud:
• Scalability: Easily add new server instances to handle increased traffic
and user demands.
• Flexibility: Deploy applications on different cloud providers and adjust
server configurations based on needs.
• High Availability: Redundant servers can ensure continuous service
even if one server fails.
• Cost-efficiency: Pay only for the computing resources used by your
application.
Example of a client-server cloud architecture:
• Web application:
A user accesses a website (client) through their browser, which sends
requests to a web server (hosted on the cloud) to retrieve the webpage
content.
• Email service:
When you send an email, your email client (client) sends the email to the
email server (on the cloud) which then delivers it to the recipient's inbox.
Important considerations:
• Security:
Implementing robust security measures on the server side to protect
sensitive data.
• Load balancing:
Distributing incoming requests across multiple servers to prevent
bottlenecks.
s
• Network latency:
Optimizing network connections to minimize delays in data transfer
between clients and servers.

CLOUD BASED SOLUTIONS:

A cloud-based solution is a service that uses the internet to provide


computing resources, such as storage, applications, and software, to
businesses. The term "cloud" is a metaphor for the internet, which is a vast
network of data centers and servers that work together to provide
computing resources.
Cloud-based solutions can be more cost-effective and efficient than
traditional IT infrastructure because they share resources among multiple
companies. Businesses can access these resources on-demand, without
having to invest in and manage the infrastructure themselves.
Some examples of cloud-based solutions include:
• Cloud storage
Services like Dropbox and Microsoft OneDrive allow users to access files
from any device.
• Cloud-based software
Software-as-a-subscription (SaaS) models allow companies to pay a monthly
fee to access software, without having to invest in hardware or data
servers.
• Project management
Cloud-based project management tools include Microsoft Planner, Asana,
Trello, and Monday.com.
There are different types of cloud environments, including public, private,
and hybrid clouds:
• Public cloud: Similar to renting an apartment, where the staff handles
maintenance.
• Private cloud: Similar to renting a house, which is more private but
generally more expensive.
• Hybrid cloud: A mix of public, private, and on-premises cloud services,
which can be used to move workloads between clouds based on cost
and computing needs.

CODING CLOUD BASED APPLICATIONS:


Coding cloud-based applications" refers to the process of writing code for
software applications that run on remote servers in the cloud, allowing
users to access them through the internet instead of having the application
installed locally on their devices, with key features like scalability, data
storage, and processing power managed by the cloud provider; this typically
involves using specific cloud platforms, programming languages, and
frameworks to design applications that can handle distributed computing
and large data volumes.
Key points about cloud-based application coding:
• Cloud Providers:
Developers usually choose a cloud platform like Amazon Web Services
(AWS), Microsoft Azure, or Google Cloud Platform (GCP) to access necessary
services like storage, databases, compute power, and networking.
• Programming Languages:
Popular languages for cloud coding include Python, Java, JavaScript, Ruby,
and .NET, often with specific libraries and frameworks tailored for cloud
development.
• Architectural Patterns:
To build scalable cloud applications, developers often utilize microservices
architecture, where the application is broken down into smaller,
independent services that can be deployed and managed separately.
• Key Cloud Services:
• Storage: Cloud storage services like Amazon S3, Azure Blob
Storage, or Google Cloud Storage for storing application data.
• Databases: Cloud databases like Amazon RDS, Azure SQL
Database, or Google Cloud Spanner for data management
• Serverless Computing: Functions as a Service (FaaS) like AWS
Lambda, Azure Functions, or Google Cloud Functions to execute
code without managing servers
• Development Process:
• Design: Planning the application architecture, considering
scalability, redundancy, and security requirements.
• Coding: Writing code using chosen languages and cloud-specific
APIs.
• Testing: Thoroughly testing the application in different scenarios
to ensure functionality and performance under load
• Deployment: Deploying the application to the cloud
environment
Examples of cloud-based applications:
• Email services: Gmail, Outlook.com
• Office productivity suites: Google Workspace, Microsoft Office 365
• Streaming services: Netflix, Spotify
• Cloud storage services: Dropbox, Google Drive
• CRM systems: Salesforce
TRADITIONAL APPS VS CLOUD APPS:

Difference between Cloud Computing and Traditional Computing

Aspect Cloud Computing Traditional Computing

Cloud Computing refers to


delivery of different
Traditional Computing refers
services such as data and
to delivery of different
programs through
services on local server.
internet on different
Definition servers.

Cloud Computing takes


place on third-party Traditional Computing takes
servers that is hosted by place on physical hard drives
Infrastructure third-party hosting and website servers.
Location companies.

Cloud Computing is ability User can access data only on


Data to access data anywhere system in which data is
Accessibility at any time by user. stored.

Cloud Computing is more


cost effective as
Traditional Computing is less
compared to tradition
cost effective as compared
computing as operation
to cloud computing because
and maintenance of
one has to buy expensive
server is shared among
equipment’s to operate and
several parties that in
maintain server.
Cost turn reduce cost of public
Effectiveness services.
Aspect Cloud Computing Traditional Computing

Traditional Computing is less


user-friendly as compared to
Cloud Computing is more
cloud computing because
user-friendly as compared
data cannot be accessed
to traditional computing
anywhere and if user has to
because user can have
access data in another
access to data anytime
system, then he need to save
anywhere using internet.
User- it in external storage
Friendliness medium.

Cloud Computing requires


Traditional Computing does
fast, reliable and stable
not require any internet
internet connection to
connection to access data or
Internet access information
information.
Dependency anywhere at any time.

Cloud Computing
provides more storage
Traditional Computing
space and servers as well
provides less storage as
as more computing power
compared to cloud
Storage and so that applications and
computing.
Computing software run must faster
Power and effectively.

Cloud Computing also


provides scalability and Traditional Computing does
elasticity i.e., one can not provide any scalability
Scalability and and elasticity.
increase or decrease
Elasticity
storage capacity, server
Aspect Cloud Computing Traditional Computing

resources, etc., according


to business needs.

Traditional Computing
requires own team to
Cloud service is served by
maintain and monitor
provider’s support team.
Maintenance system that will need a lot of
and Support time and efforts.

Software is offered as an
Software in purchased
on-demand service (SaaS)
individually for every user
Software that can be accessed
and requires to be updated
Delivery through subscription
periodically.
Model service.

CLIENT-SIDE AND SERVER-SIDE PROGRAMMING:


It is the program that runs on server dealing with the generation of content
of web page.
1) Querying the database
2) Operations over databases
3) Access/Write a file on server.
4) Interact with other servers.
5) Structure web applications.
6) Process user input. For example, if user input is a text in search box, run a
search algorithm on data stored on server and send the results.
Examples:
The Programming languages for server-side programming are :
1) PHP
2) C++
3) Java and JSP
4) Python
5) Ruby on Rails
Client-side Programming:
It is the program that runs on the client machine (browser) and deals with
the user interface/display and any other processing that can happen on
client machine like reading/writing cookies.
1) Interact with temporary storage
2) Make interactive web pages
3) Interact with local storage
4) Sending request for data to server
5) Send request to server
6) work as an interface between server and user
The Programming languages for client-side programming are:
1) Java script
2) VBScript
3) HTML
4) CSS
5) AJAX
FUNDAMENTAL TREATMENT OF WEB APPLICATIONS FRAMEWORKS:

A web application framework in cloud computing is a pre-built software


structure that provides developers with a standardized set of tools and
components to rapidly build and deploy web applications on a cloud
platform, significantly reducing the need to write code from scratch for basic
functionalities like database interaction, user authentication, and routing,
allowing them to focus on the unique features of their application while
leveraging the scalability and flexibility of the cloud environment.
Key points about web application frameworks in cloud computing:
• Abstraction:
Frameworks abstract away complex low-level details like server
management, network configuration, and database interactions, enabling
developers to focus on the application logic.
• Model-View-Controller (MVC) Pattern:
Many frameworks follow the MVC architecture, separating the application's
data (model), presentation (view), and business logic (controller) for better
organization and maintainability.
• Scalability:
Cloud platforms are designed for scalability, and frameworks often integrate
seamlessly with cloud services to handle fluctuating traffic and data volumes
effortlessly.
• Rapid Development:
Frameworks provide pre-built components and functionalities, significantly
accelerating the development process.
• Cloud-Specific Features:
Many frameworks offer cloud-specific features like integration with cloud
storage services, load balancing, and serverless functions.
Popular Web Application Frameworks for Cloud Computing:
• AWS:
• Amazon Spring Boot: Java-based framework for building
enterprise-grade applications.
• AWS Amplify: Framework for rapid development of front-end
and back-end applications with cloud features.
• Azure:
• Azure App Service: Platform-as-a-Service (PaaS) for building and
deploying web applications on Azure.
• ASP.NET Core: Cross-platform framework for building web
applications on Azure.
• Google Cloud Platform (GCP):
• Google App Engine: Platform for building and running scalable
web applications on GCP.
• Flask (Python): Lightweight framework ideal for building small to
medium-sized web applications.
Benefits of using a Web Application Framework in Cloud Computing:
• Reduced Development Time:
Faster application development due to reusable components and pre-built
functionalities.
• Improved Code Quality:
Frameworks often enforce best practices and design patterns, leading to
cleaner and more maintainable code.
• Enhanced Productivity:
Developers can focus on application-specific logic rather than writing low-
level infrastructure code.
• Scalability and Flexibility:
Leverage cloud services to easily scale applications based on demand.
UNIT-6
CLOUD GOVERNANCE AND ECONOMICS
SECURING THE CLOUD:
Cloud computing which is one of the most demanding technology of the current time,
starting from small to large organizations have started using cloud computing services.
Where there are different types of cloud deployment models are available and cloud
services are provided as per requirement like that internally and externally security is
maintained to keep the cloud system safe. Cloud computing security or cloud security
is an important concern which refers to the act of protecting cloud environments, data,
information and applications against unauthorized access, DDOS attacks, malwares,
hackers and other similar attacks. Community Cloud : These allow to a limited set of
organizations or employees to access a shared cloud computing service environment.
Planning of security in Cloud Computing :
As security is a major concern in cloud implementation, so an organization have to plan
for security based on some factors like below represents the three main factors on
which planning of cloud security depends.
• Resources that can be moved to the cloud and test its sensitivity risk are picked.
• The type of cloud is to be considered.
• The risk in the deployment of the cloud depends on the types of cloud and
service models.
Types of Cloud Computing Security Controls :
There are 4 types of cloud computing security controls i.e.
1. Deterrent Controls : Deterrent controls are designed to block nefarious attacks
on a cloud system. These come in handy when there are insider attackers.
2. Preventive Controls : Preventive controls make the system resilient to attacks by
eliminating vulnerabilities in it.
3. Detective Controls : It identifies and reacts to security threats and control. Some
examples of detective control software are Intrusion detection software and
network security monitoring tools.
4. Corrective Controls : In the event of a security attack these controls are
activated. They limit the damage caused by the attack.
Importance of cloud security :
For the organizations making their transition to cloud, cloud security is an essential
factor while choosing a cloud provider. The attacks are getting stronger day by day and
so the security needs to keep up with it. For this purpose it is essential to pick a cloud
provider who offers the best security and is customized with the organization’s
infrastructure. Cloud security has a lot of benefits –
• Centralized security : Centralized security results in centralizing protection. As
managing all the devices and endpoints is not an easy task cloud security helps
in doing so. This results in enhancing traffic analysis and web filtering which
means less policy and software updates.
• Reduced costs : Investing in cloud computing and cloud security results in less
expenditure in hardware and also less manpower in administration
• Reduced Administration : It makes it easier to administer the organization and
does not have manual security configuration and constant security updates.
• Reliability : These are very reliable and the cloud can be accessed from
anywhere with any device with proper authorization.
When we are thinking about cloud security it includes various types of security like
access control for authorized access, network segmentation for maintaining isolated
data, encryption for encoded data transfer, vulnerability check for patching vulnerable
areas, security monitoring for keeping eye on various security attacks and disaster
recovery for backup and recovery during data loss.
There are different types of security techniques which are implemented to make the
cloud computing system more secure such as SSL (Secure Socket Layer)
Encryption, Multi Tenancy based Access Control, Intrusion Detection System, firewalls,
penetration testing, tokenization, VPN (Virtual Private Networks), and avoiding public
internet connections and many more techniques.
But the thing is not so simple how we think, even implementation of number of
security techniques there is always security issues are involved for the cloud system. As
cloud system is managed and accessed over internet so a lot of challenges arises during
maintaining a secure cloud. Some cloud security challenges are
• Control over cloud data
• Misconfiguration
• Ever changing workload
• Access Management
• Disaster recovery
DISASTER RECOVERY AND BUSINESS CONTINUITY:

Disaster recovery and business continuity in the cloud" refers to a strategy where
organizations leverage cloud computing services to back up critical data and
applications, allowing them to quickly restore operations and maintain business
functions even in the event of a major disruption like a natural disaster, system failure,
or cyber attack, essentially minimizing downtime and data loss by utilizing the cloud's
scalability and redundancy features.
Key points about cloud-based disaster recovery and business continuity:
• Data replication:
Cloud providers automatically replicate data across geographically dispersed data
centers, ensuring access to critical information even if a primary location is affected.
• Rapid restoration:
By storing data in the cloud, businesses can quickly restore applications and systems to
a functional state with minimal downtime.
• Scalability:
Cloud services can be easily scaled up to meet increased demand during a disaster,
allowing businesses to handle surges in activity.
• Cost-effective:
Compared to traditional disaster recovery methods, cloud-based solutions can be more
cost-efficient by eliminating the need for dedicated hardware and physical data
centers.
How cloud technology supports business continuity:
• Automated backups:
Cloud platforms enable automatic data backups, ensuring regular snapshots of critical
information are available for recovery.
• High availability architectures:
Cloud providers often implement high availability features like load balancing and
failover mechanisms to maintain service even during outages.
• Virtualized environments:
Cloud allows for the creation of virtualized environments that can be easily replicated
and migrated to different locations if needed.
Important considerations for cloud disaster recovery:
• Data sovereignty:
Understand where your cloud provider stores data and comply with relevant
regulations regarding data location.
• Recovery time objectives (RTO):
Define how quickly your systems need to be operational after a disaster.
• Testing and drills:
Regularly test your disaster recovery plan to ensure it is effective and identify any
potential issues.
• Cloud provider selection:
Choose a reliable cloud provider with robust disaster recovery capabilities and a strong
track record.

MANAGING THE CLOUD:


Cloud computing management is maintaining and controlling the cloud services and
resources be it public, private or hybrid. Some of its aspects include load balancing,
performance, storage, backups, capacity, deployment etc. To do so a cloud managing
personnel needs full access to all the functionality of resources in the cloud. Different
software products and technologies are combined to provide a cohesive cloud
management strategy and process.

As we know Private cloud infrastructure is operated only for a single organization, so


that can be managed by the organization or by a third party. Public cloud services are
delivered over a network that is open and available for public use. In this model, the IT
infrastructure is owned by a private company and members of the public can purchase
or lease data storage or computing capacity as needed. Hybrid cloud environments are
a combination of public and private cloud services from different providers. Most
organizations store data on private cloud servers for privacy concerns, while leveraging
public cloud applications at a lower price point for less sensitive information. The
combination of both the public and private cloud are known as Hybrid cloud servers.
Need of Cloud Management:
Cloud is nowadays preferred by huge organizations as their primary data storage. A
small downtime or an error can cause a great deal of loss and inconvenience for the
organizations. So as to design, handle and maintain a cloud computing service specific
members are responsible who make sure things work out as supposed and all arising
issues are addressed.
Cloud Management Platform:
A cloud management platform is a software solution that has a robust and extensive
set of APIs that allow it to pull data from every corner of the IT infrastructure. A CMP
allows an IT organization to establish a structured approach to security and IT
governance that can be implemented across the organization’s entire cloud
environment.
Cloud Management Tasks:
The below figure represents different cloud management tasks:

Cloud Management Tasks


• Auditing System Backups –
It is required to audit the backups from time to time to ensure restoration of
randomly selected files of different users. This might be done by the organization
or by the cloud provider.
• Flow of data in the system –
The managers are responsible for designing a data flow diagram that shows how
the data is supposed to flow throughout the organization.
• Vendor Lock-In –
The managers should know how to move their data from a server to another in
case the organization decides to switch providers.
• Knowing provider’s security procedures –
The managers should know the security plans of the provider, especially
Multitenant use, E-commerce processing, Employee screening and Encryption
policy.
• Monitoring the Capacity, Planning and Scaling abilities –
The manager should know if their current cloud provider is going to meet their
organization’s demand in the future and also their scaling capabilities.
• Monitoring audit log –
In order to identify errors in the system, logs are audited by the managers on a
regular basis.
• Solution Testing and Validation –
It is necessary to test the cloud services and verify the results and for error-free
solutions.

MIGRATING TO THE CLOUD:


Cloud migration is the process of moving data, applications, and IT resources from a
company's on-premises data center to a cloud provider's infrastructure. The process
can also involve moving data and applications between different cloud platforms.
Cloud migration can offer several benefits, including:
• Cost savings: Cloud migration can eliminate large upfront capital expenditures
for hardware and software licenses, and replace them with a subscription or pay-
as-you-go model.
• Improved performance: Cloud migration can improve performance.
• Greater flexibility: Cloud migration can provide greater flexibility.
Here are some steps you can take when migrating to the cloud:
• Assess: Define the resources and capacity of applications, and identify key
stakeholders.
• Plan: Choose a strategy for each application, and design cloud infrastructure.
• Test: Devise a testing strategy, and test data migration and synchronization.
• Migrate: Migrate according to the plan for each app, workload, and instance.
• Optimize and modernize: Monitor application and cloud usage, and optimize
user experience.
Some other considerations when migrating to the cloud include:
• Deployment model
Whether to use a public cloud, private cloud, hybrid cloud, or multi-cloud.
• Service category
Whether to use Saas (Software as a Service), Paas (Platform as a Service), or Iaas
(Infrastructure as a service).
• Migration approach
Whether to use a lift & shift, re-platform, or re-factor approach.
• Migration costs
Consider the costs of migration, including per-month fees, per-user fees, and the costs
of IaaS resources and services.

GOVERNING AND EVALUATING THE CLOUDS:


Governing and evaluating the clouds" refers to the practice of setting rules, policies,
and monitoring systems to manage and assess the usage of cloud computing services
within an organization, ensuring security, compliance, cost optimization, and overall
alignment with business goals by evaluating performance, resource allocation, and
potential risks associated with cloud infrastructure.
Key aspects of cloud governance and evaluation:
• Security and Compliance:
Implementing robust security measures to protect data stored in the cloud, ensuring
adherence to industry regulations and compliance standards.
• Cost Management:
Monitoring cloud resource usage to identify and eliminate unnecessary spending,
optimizing resource allocation to achieve cost efficiency.
• Access Control:
Defining clear user access levels and permissions to prevent unauthorized access to
sensitive data.
• Data Governance:
Establishing guidelines for data storage, management, and lifecycle to maintain data
integrity and privacy.
• Performance Monitoring:
Continuously monitoring cloud performance metrics like response time, uptime, and
resource utilization to identify potential issues and optimize performance.
• Vendor Management:
Evaluating and selecting reliable cloud service providers based on their security
practices, compliance certifications, and service level agreements.
How to evaluate cloud usage:
• Cloud Usage Reports:
Analyzing reports provided by cloud providers to identify trends in resource
consumption, cost breakdowns, and potential areas for optimization.
• Cloud Management Platforms (CMPs):
Utilizing CMPs to gain centralized visibility into cloud infrastructure, monitor resource
utilization, and enforce governance policies.
• Auditing and Compliance Checks:
Regularly reviewing cloud configurations and access controls to ensure compliance
with relevant regulations.
Important considerations when governing the cloud:
• Shared Responsibility Model:
Understanding the shared responsibility between the cloud provider and the
organization regarding security and compliance.
• Cloud Migration Strategy:
Carefully planning the migration process to the cloud, considering data migration,
application adjustments, and potential risks.
• Cloud Native Architecture:
Adopting cloud-native design principles to leverage the full potential of cloud services.

BUSINESS IMPACT AND ECONOMICS:


Cloud computing significantly impacts businesses by offering cost-effective scalability,
flexibility, and accessibility to computing resources, enabling them to rapidly adapt to
changing market demands, improve operational efficiency, and collaborate more
effectively, ultimately leading to increased productivity and potential for revenue
growth while minimizing upfront capital expenditure on IT infrastructure; this
translates to economic benefits like reduced operational costs, pay-per-use pricing
models, and the ability to focus on core business activities rather than managing IT
infrastructure.
Key business impacts of cloud computing:
• Cost Optimization:
• Pay-per-use model: Companies only pay for the computing power they
utilize, eliminating the need for large upfront investments in hardware.
• Reduced operational costs: By eliminating the need to manage physical
servers, maintenance costs can be significantly lowered.
• Economies of scale: Cloud providers leverage large data centers to offer
cost-effective services by sharing resources across multiple users.
• Scalability and Flexibility:
• Rapid scaling up/down: Businesses can quickly adjust their computing
needs based on demand fluctuations, like seasonal spikes or new product
launches.
• Agile development: Enables faster deployment of applications and
updates to meet market needs.
• Improved Collaboration and Productivity:
• Real-time access to data: Cloud-based applications allow teams to
collaborate on documents and projects from anywhere with an internet
connection.
• Enhanced communication tools: Integrated communication features like
chat and video conferencing facilitate collaboration across teams.
• Business Continuity and Disaster Recovery:
• Data redundancy and backup: Cloud storage enables automatic data
backups and disaster recovery capabilities, minimizing downtime in case
of system failures.
• Market Reach and Innovation:
• Global access: Cloud services allow businesses to reach customers
worldwide easily.
• Faster time to market: Access to cutting-edge technologies in the cloud
enables quicker development and deployment of new products and
services.
Economic considerations in cloud computing:
• Capital Expenditure (CAPEX) vs. Operational Expenditure (OPEX):
Cloud computing shifts the focus from upfront capital investment in hardware to
ongoing operational costs based on usage.
• Cost transparency:
Cloud providers often offer detailed cost breakdowns, allowing businesses to monitor
and optimize their cloud spending.
• Cloud service provider lock-in:
Potential concerns about vendor dependence and potential costs associated with
switching providers.
• Data security and compliance:
Ensuring data privacy and compliance with relevant regulations when storing data in
the cloud.
UNIT-7
INSIDE CLOUD

INTRODUCTION TO MAP REDUCE:


A MapReduce is a data processing tool which is used to process the data
parallelly in a distributed form. It was developed in 2004, on the basis of
paper titled as "MapReduce: Simplified Data Processing on Large Clusters,"
published by Google.
The MapReduce is a paradigm which has two phases, the mapper phase,
and the reducer phase. In the Mapper, the input is given in the form of a
key-value pair. The output of the Mapper is fed to the reducer as input. The
reducer runs only after the Mapper is over. The reducer too takes input in
key-value format, and the output of reducer is the final output.

Steps in Map Reduce:


o The map takes data in the form of pairs and returns a list of <key,
value> pairs. The keys will not be unique in this case.
o Using the output of Map, sort and shuffle are applied by the Hadoop
architecture. This sort and shuffle acts on these lists of <key, value>
pairs and sends out unique keys and a list of values associated with
this unique key <key, list(values)>.
o An output of sort and shuffle sent to the reducer phase. The reducer
performs a defined function on a list of values for unique keys, and
Final output <key, value> will be stored/displayed.
Sort and Shuffle

The sort and shuffle occur on the output of Mapper and before the reducer.
When the Mapper task is complete, the results are sorted by key,
partitioned if there are multiple reducers, and then written to disk. Using
the input from each Mapper <k2,v2>, we collect all the values for each
unique key k2. This output from the shuffle phase in the form of <k2,
list(v2)> is sent as input to reducer phase.
Usage of MapReduce
o It can be used in various application like document clustering,
distributed sorting, and web link-graph reversal.
o It can be used for distributed pattern-based searching.
o We can also use MapReduce in machine learning.
o It was used by Google to regenerate Google's index of the World Wide
Web.
o It can be used in multiple computing environments such as multi-
cluster, multi-core, and mobile environment.

INTRODUCTION TO HADOOP:
Hadoop is an open-source framework from Apache and is used to store
process and analyse data which are very huge in volume. Hadoop is written
in Java and is not OLAP (online analytical processing). It is used for
batch/offline processing. It is being used by Facebook, Yahoo, Google,
Twitter, LinkedIn and many more. Moreover, it can be scaled up just by
adding nodes in the cluster.
Modules of Hadoop
1. HDFS: Hadoop Distributed File System. Google published its paper GFS
and on the basis of that HDFS was developed. It states that the files
will be broken into blocks and stored in nodes over the distributed
architecture.
2. Yarn: Yet another Resource Negotiator is used for job scheduling and
manage the cluster.
3. Map Reduce: This is a framework which helps Java programs to do the
parallel computation on data using key value pair. The Map task takes
input data and converts it into a data set which can be computed in
Key value pair. The output of Map task is consumed by reduce task and
then the out of reducer gives the desired result.
4. Hadoop Common: These Java libraries are used to start Hadoop and
are used by other Hadoop modules.
Hadoop Architecture
The Hadoop architecture is a package of the file system, MapReduce engine
and the HDFS (Hadoop Distributed File System). The MapReduce engine can
be MapReduce/MR1 or YARN/MR2.
A Hadoop cluster consists of a single master and multiple slave nodes. The
master node includes Job Tracker, Task Tracker, NameNode, and DataNode
whereas the slave node includes DataNode and TaskTracker.

Hadoop Distributed File System


The Hadoop Distributed File System (HDFS) is a distributed file system for
Hadoop. It contains a master/slave architecture. This architecture consist of
a single Name Node performs the role of master, and multiple Data Nodes
performs the role of a slave.
Both Name Node and Data Node are capable enough to run on commodity
machines. The Java language is used to develop HDFS. So, any machine that
supports Java language can easily run the Name Node and Data Node
software.
NameNode:
o It is a single master server exist in the HDFS cluster.
o As it is a single node, it may become the reason of single point failure.
o It manages the file system namespace by executing an operation like
the opening, renaming and closing the files.
o It simplifies the architecture of the system.
DataNode:
o The HDFS cluster contains multiple DataNodes.
o Each DataNode contains multiple data blocks.
o These data blocks are used to store data.
o It is the responsibility of DataNode to read and write requests from
the file system's clients.
o It performs block creation, deletion, and replication upon instruction
from the NameNode.
Job Tracker:
o The role of Job Tracker is to accept the MapReduce jobs from client
and process the data by using NameNode.
o In response, NameNode provides metadata to Job Tracker.
Task Tracker
o It works as a slave node for Job Tracker.
o It receives task and code from Job Tracker and applies that code on the
file. This process can also be called as a Mapper.
MapReduce Layer
The MapReduce comes into existence when the client application submits
the MapReduce job to Job Tracker. In response, the Job Tracker sends the
request to the appropriate Task Trackers. Sometimes, the Task Tracker fails
or time out. In such a case, that part of the job is rescheduled.

OVER VIEW OF BIG DATA:


Big data is a collection of structured, semi-structured, and unstructured data
that is so large and complex that traditional data management systems can't
process it. It is characterized by its volume, velocity, and variety:
• Volume: Big data is generated in large quantities.
• Velocity: Big data is generated, collected, and processed at high
speeds.
• Variety: Big data can contain many different types of data.
Big data is used in machine learning, predictive modelling, and other
advanced analytics to help organizations solve business problems. It can be
used to extract insights from a broad collection of data to help organizations
become more efficient, innovate faster, and earn more money.
Some examples of big data include: Social posts for customer sentiment,
Sensor data for machinery status, and financial transactions.
Big data analytics is a crucial process in many fields and sectors, including
businesses, healthcare, and education.
IMPACT OF BIG DATA ON CLOUD:
Key impacts of big data on cloud:
• Increased Cloud Adoption:
The need to handle large data volumes has pushed companies to adopt
cloud services due to their ability to provide flexible and scalable storage
and compute power, which are crucial for big data analytics.
• Pay-as-you-go Model:
Cloud providers offer a pay-per-use model, allowing organizations to only
pay for the computing resources they use to process big data, which
significantly reduces costs compared to managing on-premise
infrastructure.
• Scalability and Elasticity:
Cloud platforms can dynamically scale up or down storage and processing
power based on real-time data demands, enabling efficient handling of
fluctuating data volumes.
• Advanced Analytics Tools:
Cloud providers offer a wide range of big data analytics tools like machine
learning algorithms, data warehousing, and data visualization capabilities,
allowing businesses to extract valuable insights from their data.
• Data Accessibility:
Cloud-based data storage provides easy access to data from anywhere with
an internet connection, enabling collaboration among teams and
geographically dispersed data analysts.
• Data Security Concerns:
With sensitive data being stored in the cloud, robust security measures are
crucial, and cloud providers need to address data privacy and compliance
regulations to build trust with users.

You might also like