Module2 Chapter1
Module2 Chapter1
COMPUTING
Module 2
Fundamentals of Cloud Computing
3
What it enables
Cloud data center technology makes it possible to:
4
Data centers are typically comprised of the following
technologies and components.
Virtualization
• Data centers consist of both physical and virtualized IT resources.
• The physical IT resource layer refers to the facility infrastructure.
5
6
Standardization and modularity
• Data centers are built upon standardized commodity
hardware and designed with modular architectures.
• Modularity and standardization are key
requirements for reducing investment and
operational costs, as they enable economies of scale
for the procurement, acquisition, deployment,
operation, and maintenance processes.
• Common virtualization strategies and the constantly
improving capacity and performance of physical
devices both favor IT resource consolidation.
• Consolidated IT resources can serve different
systems and be shared among different cloud
consumers.
7
Autonomic computing
• Autonomic computing is the ability of a system to be self-managing, which means that
it is expected to react to external input without the need for human intervention.
• Using autonomic computing, clouds can be equipped to manage certain tasks
themselves, without human involvement.
• The common features of self-management can include:
1. Self-configuration
• Here the cloud services can configure themselves automatically in response to
established policies, avoiding manual intervention from cloud resource administrators.
• This feature also involves the automatic configuration of new cloud resources when
provisioned.
2. Self-optimization
Here the cloud resources continuously strive to improve their performance indicators by
modifying their configuration parameters at runtime, such as scaling up or out dynamically.
8
Autonomic computing(cont..,)
3. Self-healing
• Here the cloud services can recover from hardware or software
failure, having detected and diagnosed issues automatically
beforehand.
4. Self-protecting
• Here the cloud computing platforms are able to defend
themselves from malicious attacks or cascading failure
conditions.
• This is possible due to their ability to predict potential problem
situations based on the analysis of logs and diagnostics, in
which data science technologies are typically involved.
9
Remote operation & management
• Most of the operational and administrative tasks of IT
resources in data centers are commanded through the
network’s remote consoles and management systems.
• Technical personnel are not required—and many times not
allowed—to visit the dedicated rooms that house servers,
except to perform highly specific tasks, such as equipment
handling and cabling or hardware-level installation and
maintenance.
10
High availability
• Since any form of data center outage significantly impacts business
continuity for the organizations that use their services, data centers
are designed to operate with increasingly higher levels of
redundancy to sustain availability.
11
Security-Aware Design, Operation, and Management
• Requirements for security, such as physical and logical
access controls and data recovery strategies, need to be
thorough and comprehensive for data centers, since they
are centralized structures that store and process business
data.
• Due to the sometimes-prohibitive nature of building and
operating on-premises data centers, outsourcing data
center-based IT resources has been a common industry
practice for decades.
• However, the outsourcing models often required long-term
consumer commitment and usually could not provide
elasticity—issues that a typical cloud can address via
inherent features, such as ubiquitous access, on-demand
provisioning, rapid elasticity, and pay-per-use.
12
facilities
• Data center facilities are custom-designed locations that are outfitted with specialize
• These facilities have several function as layout areas, as well as various power supplies,
cabling, and environmental control stations that regulate heating, ventilation, air
• The site and layout of a given data center facility are typically demarcated into segregated
spaces.
13
Computing hardware
• Much of the heavy processing in data centers is often
executed by standardized commodity servers that have
substantial computing power and storage capacity.
• Several computing hardware technologies are integrated
into these modular servers, such as:
• rackmount form factor server design composed of standardized racks
with interconnects for power, network, and internal cooling .
• support for different hardware processing architectures, such as
x86-32bits, x86-64, and RISC.
• a power-efficient multicore CPU architecture that houses hundreds of
processing cores in a space as small as a single unit of standardized
racks.
• redundant components, such as hard disks, power supplies, network
interfaces, and storage controller cards.
14
15
• Computing architectures such as blade server technologies use
rack-embedded physical interconnections (blade enclosures),
fabrics (switches), and shared power supply units and cooling
fans.
• The interconnections enhance intercomponent networking and
management while optimizing physical space and power.
• These systems typically support individual server swapping,
scaling, replacement, and maintenance, which benefits the
deployment of fault-tolerant systems that are based on computer
clusters.
• Contemporary computing hardware platforms generally support
industry-standard and proprietary operational and management
software systems that configure, monitor, and control hardware
IT resources from remote management consoles.
• With a properly established management console, a single
operator can oversee hundreds to thousands of physical servers,
virtual servers, and other IT resources.
16
Storage hardware
• Data centers have specialized storage systems that maintain
enormous amounts of digital information to fulfill considerable
storage capacity needs.
• These storage systems are containers housing numerous hard
disks that are organized into arrays.
• Storage systems usually involve the following technologies:
1. Hard Disk Arrays – These arrays inherently divide and
replicate data among multiple physical drives, and increase
performance and redundancy by including spare disks. This
technology is often implemented using redundant arrays of
independent disks (RAID) schemes, which are typically
realized through hardware disk array controllers.
2. I/O Caching – This is generally performed through hard disk
array controllers, which enhance disk access times and
performance by data caching.
17
Storage hardware(cont..,)
3. Hot-Swappable Hard Disks – These can be safely
removed from arrays without requiring prior powering
down.
18
Storage hardware(cont..,)
• Storage systems encompass tertiary redundancies, such
as robotized tape libraries, which are used as backup and
recovery systems that typically rely on removable media.
• This type of system can exist as a networked IT resource
or direct-attached storage (DAS), in which a storage
system is directly connected to the computing IT resource
using a host bus adapter (HBA).
• In the former case, the storage system is connected to one
or more IT resources through a network.
19
Storage hardware(cont..,)
Networked storage devices usually fall into one of the following categories:
1. Storage Area Network (SAN) Physical data storage media are connected through a
dedicated network and provide block-level data storage access using industry standard
protocols, such as the Small Computer System Interface (SCSI).
2. Network-Attached Storage (NAS) – Hard drive arrays are contained and managed by this
dedicated device, which connects through a network and facilitates access the data using
file-centric data access protocols like the Network File System (NFS) of Server Message
Block (SMB).
NAS, SAN, and other more advanced storage system options provide fault tolerance in many
components through controller redundancy, cooling redundancy, and hard disk arrays that use
RAID storage technology.
•NAS → Like a shared Google Drive folder (you see files).
•SAN → Like adding an extra internal hard disk to your server (you manage everything).
20
network hardware
• Data centers require extensive network hardware to enable multiple levels of
connectivity.
• For a simplified version of networking infrastructure, the data center is broken
down into five network subsystems, followed by a summary of the most
common elements used for their implementation.
Carrier and External Networks Interconnection
• A subsystem related to the internetworking infrastructure, this interconnection is
usually comprised of backbone routers that provide routing between external
WAN connections and the data center’s LAN, as well as perimeter network
security devices such as firewalls and VPN gateways.
21
network hardware(cont..,)
LAN Fabric
• The LAN fabric constitutes the internal LAN and
provides high-performance and redundant connectivity
for all the data center’s network-enabled IT resources.
• It is often implemented with multiple network switches
that facilitate network communications and operate at
speeds of up to 10 gigabits per second.
• These advanced network switches can also perform
several virtualization functions, such as LAN segregation
into VLANs, link aggregation, controlled routing between
networks, load balancing, and failover.
22
network hardware(cont..,)
SAN Fabric
Related to the implementation of storage area networks (SANs)
that provide connectivity between servers and storage systems,
the SAN fabric is usually implemented with Fibre Channel (FC),
Fibre Channel over Ethernet (FCoE), and InfiniBand network
switches.
23
network hardware(cont..,)
NAS Gateways
• This subsystem supplies attachment points for NAS-based storage devices and
implements protocol conversion hardware that facilitates data transmission
between SAN and NAS devices.
• Data center network technologies have operational requirements for scalability
and high availability that are fulfilled by employing redundant and/or
fault-tolerant configurations.
• These five network subsystems improve data center redundancy and reliability to
ensure that they have enough IT resources to maintain a certain level of service
even in the face of multiple failures.
• Ultra-high-speed network optical links can be used to aggregate individual
gigabit-per second channels into single optical fibers using multiplexing
technologies like dense wavelength-division multiplexing (DWDM).
• Spread over multiple locations and used to interconnect server farms, storage
systems, and replicated data centers, optical links improve transfer speeds and
resiliency
24
Feature SAN NAS
Dedicated storage
Network Type Normal LAN
network
25
Serverless environments
• A serverless environment consists of technologies that automatically provide
runtime resources for applications that can be deployed without the need to set
up the underlying resources required for them to run.
• The deployed logic still runs on servers, whether physical, virtual,
containerized, or otherwise, but service administrators do not need be concerned
with capacity planning, management, resiliency, or elasticity configurations,
which are aspects taken care of by the serverless environment.
• Serverless technologies include automation, virtualization, infrastructure and
software deployment and management, Infrastructure as Code, and Continuous
Deployment, all encompassed in a highly customized cloud service that allows
developers to simply upload their code and an accompanying description of its
runtime requirements in a language specific to each cloud provider.
• The serverless environment then takes over from there.
26
Serverless environments(cont..,)
• A serverless environment is most commonly provided and operated by a
public cloud provider that relies on either container engines or virtual
machines to isolate the runtime of one application from another.
• The runtime details are hidden from the cloud consumer, and the cloud
provider is responsible for managing the low-level infrastructure, including
operating systems, virtual machines, and containers.
• Resources required by programs deployed using these serverless technologies
are billed by cloud providers only for the time that the programs actually run.
• When the program is not running , it does not generate any cost.
• This can be considered one of the most important advantages of serverless
technologies, along with the ease of use provided to development teams by
the automation of the entire deployment process all the way into production.
27
Nosql
• NoSQLclustering
(short for “Not only SQL”) refers to technologies used to develop
next-generation non-relational databases that are highly scalable and fault
tolerant
• These technologies achieve high levels of scalability and fault tolerance
because they are designed as clusters of servers that act as a single database or
storage entity.
• This is known as NoSQL clustering.
• A cluster is a centrally managed group of nodes connected together via a
network to process tasks in parallel, where each node is responsible for a
subtask of a larger problem (Figure 5.8).
• Clusters enable distributed data processing. Ideally, a cluster comprises
low-cost commodity nodes that collectively provide increased processing
capacity with inherent redundancy and fault tolerance—features made possible
by the fact that the cluster consists of physically separate nodes.
28
Nosql clustering(cont..,)
• Clusters are highly scalable, supporting horizontal scaling with linear performance gains.
• They provide an ideal deployment environment for a processing engine, as large datasets
can be divided into smaller datasets and then processed in parallel in a distributed manner.
• Clusters are a fundamental resource provided by cloud computing platforms.
• Clustering technology is used to provide big data platform-related services, advanced
container management environments, development of applications that scale automatically
and deployment environments (such as PaaS), among others.
29
Nosql clustering(cont.,)
• NoSQL clustering provides storage devices that are scalable,
available, fault-tolerant, and very fast for read/write operations.
• However, these devices do not provide the same transaction and
consistency support as exhibited by relational database
management systems (RDBMSs).
Following are some of the principal features of NoSQL storage
devices:
• Schemaless Data Model – Data can exist in its raw form.
• Scale Out Rather Than Scale Up – Additional nodes are added
as required, rather than replacing an existing node with a better,
higher-performance node.
• Highly Available – NoSQL storage devices are built on
cluster-based technologies that provide fault tolerance out of the
box.
• Lower Operational Costs – The devices are built on
open-source platforms with no licensing costs and can be
deployed on commodity hardware
30
Nosql clustering(cont.,)
• Eventual Consistency – Reads across multiple nodes may not
be consistent immediately after a write. However, all nodes will
eventually be in a consistent state.
• BASE, not ACID – BASE compliance requires a database to
maintain high availability in the event of network or node
failure, while not requiring the database to be in a consistent
state whenever an update occurs. The database can be in a soft
or inconsistent state until it eventually attains consistency.
• API-Driven Data Access – Data access is generally supported
via API-based queries, including RESTful APIs. Some
implementations may also provide SQL-like query capability.
• Auto Sharding and Replication – To support horizontal scaling
and provide high availability, a NoSQL storage device
automatically employs sharding and replication techniques
whereby the dataset is partitioned horizontally and then copied
over to multiple nodes.
31
Nosql clustering(cont..,)
• Integrated Caching – This feature eliminates the need for a third-party distributed caching
layer, such as Memcached.
• Distributed Query Support – NoSQL storage devices maintain consistent query behavior
across multiple shards.
• Polyglot Persistence – The use of NoSQL device storage does not mandate retiring
traditional RDBMSs. Both types of storage can be used at the same time, thereby supporting
polyglot persistence which is an approach for persisting data using different types of storage
technologies. This is helpful for developing systems requiring structured as well as
semi-structured or unstructured data.
• Aggregate-Focused – Unlike relational databases that are most effective with fully
normalized data, NoSQL storage devices store denormalized aggregated data (an entity
containing merged, often nested, data for an object), thereby eliminating the need for joins and
mapping between application objects and the data stored in the database.
32
Data Type Best Database Type Example
User account data Relational (ACID) PostgreSQL
Posts & feeds NoSQL document MongoDB
Friend relationships Graph DB Neo4j
Caching In-memory store Redis
33
MODERN VIRTUALIZATION
• Modern virtualization technology is a foundation of
contemporary cloud platforms.
• It provides a variety of virtualization types and technology
layers.
Hardware Independence
• The installation of an operating system’s configuration and
application software in a unique IT hardware platform results in
many software–hardware dependencies.
• In a nonvirtualized environment, the operating system is
configured for specific hardware models and requires
reconfiguration if these IT resources need to be modified.
34
Hardware Independence(cont..,)
35
Server consolidation
• The coordination function that is provided by the
virtualization software allows multiple virtual servers to
be simultaneously created in the same virtualization host.
• Virtualization technology enables different virtual servers
to share one physical server.
• This process is called server consolidation and is
commonly used to increase hardware utilization, load
balancing, and optimization of available IT resources.
• The resulting flexibility is such that different virtual
servers can run different guest operating systems on the
same host.
• This fundamental capability directly supports common
cloud features, such as on demand usage, resource
pooling, elasticity, scalability, and resiliency.
36
Resource Replication
• Virtual servers are created as virtual disk images that contain binary file copies of hard disk
content.
• These virtual disk images are accessible to the host’s operating system, meaning simple file
operations, such as copy, move, and paste, can be used to replicate, migrate, and back up the
virtual server.
• This ease of manipulation and replication is one of the most salient features of virtualization
technology, as it enables:
1. The creation of standardized virtual machine images commonly configured to include
virtual hardware capabilities, guest operating systems, and additional application
software, for prepackaging in virtual disk images in support of instantaneous deployment.
2. Increased agility in the migration and deployment of a virtual machine’s new instances
by being able to rapidly scale out and up.
3. The ability to roll back, which is the instantaneous creation of VM snapshots by saving
the state of the virtual server’s memory and hard disk image to a hostbased file.
(Operators can easily revert to these snapshots and restore the virtual machine to its prior
state.)
4. The support of business continuity with efficient backup and restoration procedures, as
well as the creation of multiple instances of critical IT resources and applications.
37
Operating System Based
• Virtualization
Operating system–based virtualization is the installation of virtualization
software in a preexisting operating system, which is called the host operating
system (Figure 5.9).
• For example, a user whose workstation is installed with a specific version of
Windows wants to generate virtual servers and installs virtualization software into
the host operating system like any other program.
• This user needs to use this application to generate and operate one or more virtual
servers.
• The user needs to use virtualization software to enable direct access to any of the
generated virtual servers. Since the host operating system can provide hardware
devices with the necessary support, operating system virtualization can rectify
hardware compatibility issues even if the hardware driver is not available to the
virtualization software.
• Hardware independence that is enabled by virtualization allows hardware IT
resources to be more flexibly used.
38
Operating System Based
Virtualization(cont..,)
39
Operating System Based
Virtualization(cont..,)
• Virtualization software translates hardware IT resources
that require unique software for operation into virtualized
IT resources that are compatible with a range of operating
systems.
• Since the host operating system is a complete operating
system in itself, many operating system–based services
that are available as administration tools can be used to
manage the physical host.
• Examples of such services include:
1. Backup and Recovery
2. Integration to Directory Services
3. Security Management
40
Operating System Based
• Operating system–based virtualization can introduce demands
Virtualization(cont..,)
and issues related to performance overhead, such as:
❖ The host operating system consumes CPU, memory, and other
hardware IT resources.
❖ Hardware-related calls from guest operating systems need to
traverse several layers to and from the hardware, which
decreases overall performance.
❖ Licenses are usually required for host operating systems, in
addition to individual licenses for each
• A concern with operating system–based virtualization is the processing overhead required to run the
virtualization software and host operating systems.
• Implementing a virtualization layer will negatively affect overall system performance.
• Estimating, monitoring, and managing the resulting impact can be challenging because it requires
expertise in system workloads, software and hardware environments, and sophisticated monitoring
tools of their guest operating systems.
41
Hardware Based Virtualization
• This option represents the installation of virtualization
software directly on the physical host hardware so as to
bypass the host operating system, which is presumably
engaged with operating system–based virtualization
(Figure 5.10).
• Allowing the virtual servers to interact with hardware
without requiring intermediary action from the host
operating system generally makes hardware-based
virtualization more efficient.
42
Hardware Based Virtualization(cont..,)
• Virtualization software is typically referred to as a hypervisor for this
type of processing.
• A hypervisor has a simple user interface that requires a negligible
amount of storage space.
• It exists as a thin layer of software that handles hardware
management functions to establish a virtualization management
layer.
• Device drivers and system services are optimized for the
provisioning of virtual servers, although many standard operating
system functions are not implemented.
43
Hardware Based Virtualization(cont..,)
• This type of virtualization system is essentially used to optimize
performance overhead inherent to the coordination that enables
multiple virtual servers to interact with the same hardware
platform.
• One of the main issues of hardware-based virtualization concerns
compatibility with hardware devices.
• The virtualization layer is designed to communicate directly with
the host hardware, meaning all the associated device drivers and
support software need to be compatible with the hypervisor.
• Hardware device drivers may not be as available to hypervisor
platforms as they are to operating systems.
• Host management and administration features may further not
include the range of advanced functions that are common to
operating systems.
44
Containers and Application based Virtualization
• Application virtualization is a method of creating and using
applications without operating system dependency.
• For many types of applications and services, containers provide a
portable, compatible, and highly manageable deployment
environment that allows independent and autonomous software
programs and systems to run on almost any platform, in
accordance with the definition of application virtualization.
• Software running in containers can be deployed almost anywhere,
always providing the same functionality independently of the
runtime environment in which it is deployed.
• Containers are suitable for application-based virtualization because
applications running in containers can run on any platform,
regardless of the underlying operating system or hardware
architecture, as long as a compatible containerization engine is
running on that platform, as depicted in Figure 5.11.
45
Containers and Application based Virtualization(cont..,)
46
Virtualization and Management
• Many administrative tasks can be performed more easily
using virtual servers as opposed to using their physical
counterparts.
• Modern virtualization software provides several advanced
management functions that can automate administration
tasks and reduce the overall operational burden on
virtualized IT resources.
• Virtualized IT resource management is often supported by
virtualization infrastructure management (VIM) tools that
collectively manage virtual IT resources and rely on a
centralized management module, otherwise known as a
controller, that runs on a dedicated computer.
• VIMs are commonly encompassed by the resource
management system mechanism.
47
Other considerations
• Performance Overhead – Virtualization may not be ideal for complex
systems that have high workloads with little use for resource sharing and
replication.
• A poorly formulated virtualization plan can result in excessive
performance overhead.
• A common strategy used to rectify the overhead issue is a technique
called paravirtualization, which presents a software interface to the
virtual machines that is not identical to that of the underlying hardware.
The software interface has instead been modified to reduce the guest
operating system’s processing overhead, which is more difficult to
manage.
• A major drawback of this approach is the need to adapt the guest
operating system to the para-virtualization API, which can impair the use
of standard guest operating systems while decreasing solution
48
portability.
Other considerations(cont..,)
• Access Control – Tenants can independently control the access rights for users and
groups.
52
Multitenant Technology(cont..,)
• Common characteristics of multitenant applications include:
• Usage Isolation – The usage behavior of one tenant does not affect the application
availability and performance of other tenants.
• Data Security – Tenants cannot access data that belongs to other tenants.
• Recovery – Backup and restore procedures are separately executed for the data of
each tenant.
• Application Upgrades – Tenants are not negatively affected by the synchronous
upgrading of shared software artifacts.
• Scalability – The application can scale to accommodate increases in usage by
existing tenants and/or increases in the number of tenants.
• Metered Usage – Tenants are charged only for the application processing and
features that are actually consumed.
• Data Tier Isolation – Tenants can have individual databases, tables, and/or
schemas isolated from other tenants. Alternatively, databases, tables, and/or schemas
can be designed to be intentionally shared by tenants.
53
Multitenant Technology(cont..,)
• A multitenant application that is being concurrently used
by two different tenants is illustrated in Figure 5.12. This
type of application is typical with SaaS implementations.
54
55
Service Technology and API’s
• The field of service technology is a keystone foundation
of cloud computing that formed the basis of the “as a
service” cloud delivery models.
• Several prominent service technologies that are used to
realize and build upon cloud-based environments.
56
REST Services
• REST services are designed according to a set of constraints that shape the service
architecture to emulate the properties of the World Wide Web, resulting in service
implementations that rely on the use of core web technologies.
The six REST design constraints are:
• Client-Server
• Stateless
• Cache
• Interface/Uniform Contract
• Layered System
• Code-On-Demand
• REST services do not have individual technical interfaces, but instead share a
common technical interface that is known as the uniform contract, which is typically
established via the use of HTTP methods.
57
Web services
• Also commonly prefixed with “SOAP-based,” web services represent an
established and common medium for sophisticated, web-based service logic.
Along with XML, the core technologies behind web services are represented
by the following industry standards:
• Web Service Description Language (WSDL) – This markup language is used
to create a WSDL definition that defines the application programming
interface (API) of a web service, including its individual operations (functions)
and each operation’s input and output messages.
• XML Schema Definition Language (XML Schema) – Messages exchanged
by web services must be expressed using XML. XML schemas are created to
define the data structure of the XML-based input and output messages
exchanged by webservices.
• XML schemas can be directly linked to or embedded within WSDL
definitions.
• SOAP – Formerly known as the Simple Object Access Protocol, this standard
defines a common messaging format used for request and response messages
exchanged by web services. SOAP messages are comprised of body and
header
58
Web services(cont..,)
sections. The former houses the main message content, and
the latter is used to
contain metadata that can be processed at runtime.
• Universal Description, Discovery, and Integration
(UDDI) – This standard regulates service registries in
which WSDL definitions can be published as part of a
service catalog for discovery purposes.
• These four technologies collectively form the first
generation of web service technologies (Figure 5.13).
• A comprehensive set of second-generation web service
technologies (commonly referred to as WS-*) has been
developed to address various additional functional areas,
such as security, reliability, transactions, routing, and
business process automation.
59
60
Service Agents
• Service agents are event-driven programs designed to intercept
messages at runtime.
• There are active and passive service agents, both of which are
common in cloud environments.
• Active service agents perform an action upon intercepting and
reading the contents of a message.
• This action typically requires making changes to the
messagecontents (most commonly message header data and less
commonly the body content)or changes to the message path
itself.
• Passive service agents, on the other hand, do not change
message contents. Instead, they read the message and may then
capture certain parts of its contents, usually for monitoring,
logging, or reporting purposes.
61
Service Agents(cont..,)
• Cloud-based environments rely heavily on the use of system-level and
custom service agents to perform much of the runtime monitoring and
measuring required to ensure that features, such as elastic scaling and
pay-for-use billing, can be carried out instantaneously.
62
Service Middleware
• Falling under the umbrella of service technology is the large
market of middleware platforms that evolved from
messaging-oriented middleware (MOM) platforms, used
primarily to facilitate integration, to sophisticated service
middleware platforms designed to accommodate complex
service compositions.
• The two most common types of middleware platforms relevant
to services computing are the enterprise service bus (ESB) and
the orchestration platform.
• The ESB encompasses a range of intermediary processing
features, including service brokerage, routing, and message
queuing. Orchestration environments are designed to host and
execute workflow logic that drives the runtime composition of
services.
• Both forms of service middleware can be deployed and operated
within cloud-based environments.
63
Web Based RPC
• Cloud providers commonly deliver access to the resources that
they offer via RESTful services.
• The interaction between RESTful services and their service
consumers requires considerable amounts of bandwidth in
conversations that require multiple messages to be exchanged
through the network.
• Traditional RPC frameworks can overcome some of the
performance challenges presented by RESTful architectures, but
they are bound to communication via TCP/IP, which is a
limitation incompatible with web-based application
requirements.
• To address both sets of limitations, a set of contemporary
protocols was developed that leverage the performance benefits
of RPC, while supporting web-based communication.
64
Web Based RPC(cont..,)
These include:
• gRPC (originally developed by Google)
• GraphQL (originally developed by Facebook)
• Falcor (originally developed by Netflix)
• Each of these protocols was developed by an organization in response
to a need to overcome limitations with more established protocols.
65
66