Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 36

Introduction

Chapter 1
topics
● Cloud Computing
● Layers and Types of Clouds
● Cloud Infrastructure Management
● Challenges and Applications
● Virtualization:
○ Virtualization of Computing, Storage and Resources
● Cloud Services:
○ Introduction to Cloud Services IaaS, PaaS and SaaS
What is cloud computing ?
● Cloud computing is a model for enabling convenient, on-demand network access to a shared
pool of configurable(refers to the hardware or software's ability to be changed and
customized.) and reliable computing resources (e.g., networks, servers, storage,
applications, services)

● Cloud is a parallel and distributed computing system consisting of a collection of inter-


connected and virtualised computers that are dynamically provisioned and presented as one
or more unified computing resources based on service-level agreements (SLA) established
through negotiation between the service provider and consumers
Roots of cloud computing
We can track the roots of clouds computing by observing the advancement of several
technologies, especially in hardware (virtualization, multi-core chips), Internet
technologies (Web services, service-oriented architectures, Web 2.0), distributed
computing (clusters, grids), and systems management (autonomic computing, data center
automation)

We are currently experiencing a switch in the IT world, from in-house generated


computing power into utility-supplied computing resources delivered over the Internet as
Web services
Convergence of various advances leading to the
advent of cloud computing
Cluster Computing:
A Computer Cluster is a local network of two or more
homogeneous computers .A computation process on such a
computer network i.e. cluster is called Cluster Computing.

Grid Computing:
Grid Computing can be defined as a network of homogeneous or
heterogeneous computers working together over a long
distance to perform a task that would rather be difficult
for a single machine.

Data center automation  Is the process by which routine


workflows and processes of a data center—scheduling,
monitoring, maintenance, application delivery, and so on—are
managed and executed without human administration.

Utility computing  is defined as a service provisioning


model that offers computing resources to clients as and when
they require them on an on-demand basis. The charges are
exactly as per the consumption of the services provided,
rather than a fixed charge or a flat rate.

A Multicore Processor incorporates multiple processors on


the same chip, sharing main memory and sometimes second
level caches and bus.
Characteristics (લક્ષણો)
1. On-Demand Self-Service

2. Broad Network Access - Broad network access is defined as the ability of network infrastructure to connect with a wide variety of
devices, including thin and thick clients, such as mobile phones, laptops, workstations, and tablets, to enable seamless access to
computing resources across these diverse platforms

3. Location-Independent Resource Pooling - There is a sense of location independence in that the customer generally has no control or
knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g.,
country, state, or datacenter).

4. Rapid Elasticity - Rapid elasticity in cloud computing refers to the cloud's capability to scale quickly to meet demand. Consumers
benefit from rapid elasticity because they can expand or reduce their resources how and when they would like.

5. Measured Service - Measured service is a delivery model in which a utility provider monitors how much of a particular service each
customer consumes within a designated time period.

6. Pay-as-go model
Features
Web based technologies
SOA - The purpose of a SOA is to address requirements of loosely coupled, standards-based, and protocol-independent
distributed computing.

In a SOA software resources are packaged as “services,” which are well-defined, self-contained modules that provide standard
business functionality and are independent of the state or context of other services.

Resource Pooling - IT service providers allow multiple clients to access the same tools and storage space within a “pool” of resources.

Automation System - involves using cloud management tools to achieve tasks without manual interference. Auto-provisioning servers, backing up data, or discovering and
eliminating unused processes are some of the tasks that cloud automation could accomplish without real-time human interaction.

Auto-provisioning in cloud computing refers to the automatic creation and configuration of computing resources (such as virtual machines, storage, and networking) based on
predefined rules or policies. In simpler terms, it's like having a system that sets up and manages your servers in the cloud without manual intervention.

A configuration defines the structure of your deployment, including the type and properties of the resources that are part of the deployment, any templates the configuration should
use, and additional subfiles that can be executed to create your final configuration.
Definition: Loosely coupled systems are designed in a way that minimizes dependencies between components or modules. In the context of distributed
computing, this means that different parts of a system can operate independently without relying too heavily on one another.
Significance: Loosely coupled systems are more flexible and easier to maintain. Changes to one component are less likely to have a cascading effect on others,
promoting scalability and adaptability.
Standards-Based:

Definition: Standards-based computing involves using established and widely accepted specifications or conventions for designing and implementing systems.
In distributed computing, this could refer to adherence to industry standards for communication, data formats, or interfaces.
1.Loosely Coupled:
•Definition: Loosely coupled systems are designed in a way that minimizes dependencies between components or modules. In the context of distributed computing, this means that different parts of a system can operate independently without relying too heavily on one another.
Significance: •Standards-based approaches
Significance: Loosely coupled systems promote
are more flexible and easier interoperability
to maintain. Changes to one component are less and compatibility.
likely to have Systems
a cascading effect on others, that
promoting scalability follow common standards can work together seamlessly,
and adaptability.
2.Standards-Based:
regardless of the specific
•Definition: technologies
Standards-based computing involves usingor platforms
established they
and widely accepted use.
specifications or conventions for designing and implementing systems. In distributed computing, this could refer to adherence to industry standards for communication, data formats, or interfaces.
•Significance: Standards-based approaches promote interoperability and compatibility. Systems that follow common standards can work together seamlessly, regardless of the specific technologies or platforms they use.
Protocol-Independent:
3.Protocol-Independent:
•Definition: Being protocol-independent means that a system is not tied to a specific communication protocol. In distributed computing, this flexibility allows components or services to interact using different communication protocols as needed.
•Significance: Protocol independence enhances interoperability and adaptability. It enables systems to communicate using diverse protocols, accommodating a variety of communication requirements without requiring a complete redesign.
In summary, achieving loosely coupled, standards-based, and protocol-independent distributed computing involves designing systems with minimal inter-component dependencies, adhering to widely accepted standards for consistency and compatibility, and allowing flexibility in communication protocols for broader
Definition: Being protocol-independent means that a system is not tied to a specific communication protocol. In distributed computing, this flexibility allows
interoperability. These principles contribute to the creation of robust, adaptable, and scalable distributed systems in various computing environments, including cloud computing.

components or services to interact using different communication protocols as needed.


Significance: Protocol independence enhances interoperability and adaptability. It enables systems to communicate using diverse protocols, accommodating a
variety of communication requirements without requiring a complete redesign.
In summary, achieving loosely coupled, standards-based, and protocol-independent distributed computing involves designing systems with minimal inter-
component dependencies, adhering to widely accepted standards for consistency and compatibility, and allowing flexibility in communication protocols for
broader interoperability. These principles contribute to the creation of robust, adaptable, and scalable distributed systems in various computing environments,
including cloud computing.
Web based technologies
WEB SERVICE MASHUP - This concept of gluing services initially focused on
the enterprise Web, but gained space in the consumer realm as well, especially with the
advent of Web 2.0.

In the consumer Web, information and services may be programmatically aggregated,


acting as building blocks of complex compositions, called service mashups.

Many service providers, such as Amazon, del.icio.us, Facebook, and Google, make their
service APIs publicly accessible using standard protocols such as SOAP and REST
LAYERS AND TYPES OF CLOUDS
LAYERS AND TYPES OF CLOUDS
Cloud computing services are divided into three classes, according to the abstraction level
of the capability provided and the service model of providers, namely:

(1) Infrastructure as a Service, (2) Platform as a Service, and (3) Software as a Service

These abstraction levels can also be viewed as a layered architecture where services of a
higher layer can be composed from services of the underlying layer
Infrastructure as a Service (IAAS)
Infrastructure as a service (IaaS) is a service model that delivers computer infrastructure
on an outsourced basis to support various operations.

Typically IaaS is a service where infrastructure is provided as outsourcing to enterprises


such as networking equipment, devices, database, and web servers.

It is also known as Hardware as a Service (HaaS). IaaS customers pay on a per-user basis,
typically by the hour, week, or month.

Some providers also charge customers based on the amount of virtual machine space they
use.
Advantages of IaaS
1. Cost-Effective: Eliminates capital expense and reduces ongoing cost and IaaS
customers pay on a per-user basis, typically by the hour, week, or month.
2. Website hosting: Running websites using IaaS can be less expensive than traditional
web hosting.
3. Security: The IaaS Cloud Provider may provide better security than your existing
software.
4. Maintenance: There is no need to manage the underlying data center or the
introduction of new releases of the development or underlying software. This is all
handled by the IaaS Cloud Provider.
Disadvantages of IaaS
1. Limited control over infrastructure: IaaS providers typically manage the underlying
infrastructure and take care of maintenance and updates, but this can also mean that
users have less control over the environment and may not be able to make certain
customizations.
2. Security concerns: Users are responsible for securing their own data and applications,
which can be a significant undertaking.
3. Limited access: Cloud computing may not be accessible in certain regions and
countries due to legal policies.
Platform as a Service
PaaS is a category of cloud computing that provides a platform and environment to allow
developers to build applications and services over the internet.

PaaS services are hosted in the cloud and accessed by users simply via their web browser.

A PaaS provider hosts the hardware and software on its own infrastructure.
Platform as a Service (PAAS) ..II
PaaS makes users free from having to install in-house hardware and software to develop
or run a new application. Thus, the development and deployment of the application take
place independent of the hardware.

The consumer does not manage or control the underlying cloud infrastructure including
network, servers, operating systems, or storage, but has control over the deployed
applications and possibly configuration settings for the application-hosting environment.
Advantages of PaaS
1. Simple and convenient for users: It provides much of the infrastructure and other IT
services, which users can access anywhere via a web browser.
2. Cost-Effective: It charges for the services provided on a per-use basis thus
eliminating the expenses one may have for on-premises hardware and software.
3. Efficiently managing the lifecycle: It is designed to support the complete web
application lifecycle: building, testing, deploying, managing, and updating.
4. Efficiency: It allows for higher-level programming with reduced complexity thus, the
overall development of the application can be more effective
Disadvantages of Paas
1. Limited control over infrastructure: PaaS providers typically manage the underlying
infrastructure and take care of maintenance and updates, but this can also mean that
users have less control over the environment and may not be able to make certain
customizations.
2. Dependence on the provider: Users are dependent on the PaaS provider for the
availability, scalability, and reliability of the platform, which can be a risk if the
provider experiences outages or other issues.
3. Limited flexibility: PaaS solutions may not be able to accommodate certain types of
workloads or applications, which can limit the value of the solution for certain
organizations.
Software as a Service(SaaS)
Software-as-a-Service (SaaS) is a way of delivering services and applications over the
Internet.

Instead of installing and maintaining software, we simply access it via the Internet, freeing
ourselves from the complex software and hardware management.

It removes the need to install and run applications on our own computers or in the data
centers eliminating the expenses of hardware as well as software maintenance.
Software as a Service(SaaS) .. II
SaaS provides a complete software solution that you purchase on a pay-as-you-go basis
from a cloud service provider.

Most SaaS applications can be run directly from a web browser without any downloads or
installations required.

The SaaS applications are sometimes called Web-based software, on-demand software, or
hosted software
Advantages of SaaS
1. Cost-Effective: Pay only for what you use.
2. Reduced time: Users can run most SaaS apps directly from their web browser without
needing to download and install any software.
3. Accessibility: We can Access app data from anywhere.
4. Automatic updates: Rather than purchasing new software, customers rely on a SaaS
provider to automatically perform the updates.
Disadvantages of Saas
1. Limited customization: SaaS solutions are typically not as customizable as on-premises
software, meaning that users may have to work within the constraints of the SaaS
provider platform and may not be able to tailor the software to their specific needs.
2. Dependence on internet connectivity: SaaS solutions are typically cloud-based, which
means that they require a stable internet connection to function properly.
3. Security concerns: SaaS providers are responsible for maintaining the security of the
data stored on their servers, but there is still a risk of data breaches or other security
incidents.
4. Limited control over data: SaaS providers may have access to a user’s data, which can
be a concern for organizations that need to maintain strict control over their data for
regulatory or other reasons.
Deployment models of cloud
Cloud computing is deployed in different forms:
● Public clouds: in a public cloud, a business rents the capability and they pay for what they use on-demand.
Example- Amazon, Google and IBM

● Private clouds: cloud computing environment in which all hardware and software resources are dedicated
exclusively to, and accessible only by, a single customer

● Hybrid clouds: it is combination of public and private making advantage of both

● Community cloud: Allows sharing of resources costing less for resource usage
Public cloud
Public Cloud is an IT model where on-demand computing services and infrastructure are managed by a third-party provider and shared with
multiple organizations using the public Internet.
Private cloud
In private clouds, a business essentially turns its IT environment into a cloud and uses it to
deliver services to their users.
Hybrid cloud

● Hybrid cloud is a combination of public and private clouds.


● Hybrid cloud = public cloud + private cloud
● The main aim to combine these cloud (Public and Private) is to create a unified,
automated, and well-managed computing environment.
● In the Hybrid cloud, non-critical activities are performed by the public cloud and
critical activities are performed by the private cloud.
● Mainly, a hybrid cloud is used in finance, healthcare, and Universities.
● The best hybrid cloud provider companies are Amazon, Microsoft, Google, Cisco,
and NetApp.
Community Cloud
Community cloud is a cloud infrastructure that allows systems and services to be
accessible by a group of several organizations to share the information.

It is owned, managed, and operated by one or more organizations in the community, a


third party, or a combination of them.
Cloud Infrastructure Management
● A key challenge IaaS providers face when building a cloud infrastructure is managing
physical and virtual resources, namely servers, storage, and networks, in a holistic
fashion
● The orchestration of resources must be performed in a way to rapidly and
dynamically provision resources to applications
● The software toolkit responsible for this orchestration is called a virtual infrastructure
manager (VIM)
Cloud Infrastructure Management
● This type of software resembles a traditional operating system—but instead of
dealing with a single computer, it aggregates resources from multiple computers,
presenting a uniform view to user and applications.
● The term “cloud operating system” is also used to refer to it
● The availability of a remote cloud-like interface and the ability of managing many
users and their permissions are the primary features that would distinguish “cloud
toolkits” from “VIMs”
Challenges
Despite the initial success and popularity of the cloud computing paradigm and the
extensive availability of providers and tools, a significant number of challenges and risks
are inherent to this new model of computing.

Issues to be faced include user privacy, data security, data lock-in, availability of service,
disaster recovery,performance,scalability, energy-efficiency, and programmability.
What is virtualization
● Virtualization is technology that allows you to create multiple simulated
environments or dedicated resources from a single, physical hardware system.
● Software called a hypervisor connects directly to that hardware and allows you to
split 1 system into separate, distinct, and secure environments known as virtual
machines (VMs).
● These VMs rely on the hypervisor’s ability to separate the machine’s resources from
the hardware and distribute them appropriately
Virtualization in Cloud Computing
● Cloud computing takes virtualization one step further:
● You don’t need to own the hardware
● Resources are rented as needed from a cloud
● Various providers allow creating virtual servers:
○ Choose the OS and software each instance will have
○ The chosen OS will run on a large server farm
○ Can instantiate more virtual servers or shut down existing ones within minutes
● You get billed only for what you used
how abstraction is provided in cloud
Abstraction in cloud computing refers to the process of hiding complex underlying
infrastructure details and presenting users with simplified and higher-level services.

This abstraction helps users focus on their core tasks without needing to worry about the
intricacies of hardware, networking, and other low-level components.

Cloud providers offer various levels of abstraction to cater to different user needs.
Thats all folks for this chapter !!!!

You might also like