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

Unit 2

Cloud Computing Unit-2 Important question Notes 100% pass

Uploaded by

hr.admin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Unit 2

Cloud Computing Unit-2 Important question Notes 100% pass

Uploaded by

hr.admin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Unit-2

Service Oriented Architecture (SOA)


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.

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
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.
Advantages of SOA
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.

REST?
RE presentational State Transfer (REST) is a software architectural style that defines
the constraints to create web services.

The web services that follows the REST architectural style is called RESTful Web
Services.

It differentiates between the computer system and web services.

The REST architectural style describes the six barriers.


1. Uniform Interface
The Uniform Interface defines the interface between client and server.

The Uniform Interface has four guiding principles:

o Resource-based
o Manipulation of resources by representation
o Self-Descriptive Message
o As the engine of Hypermedia Application State (HATEOAS)

2. Client-server
A client-server interface separates the client from the server. For Example, the
separation of concerns not having an internal relationship with internal storage for each
server to improve the portability of customer's data codes.

Servers are not connected with the user interface or user status to make the server
simpler and scalable. Servers and clients are independently replaced and developed
until the interface is changed.

3. Stateless
Stateless means the state of the service doesn't persist between subsequent requests
and response.

It means that the request itself contains the state required to handle the request.

It can be a query-string parameter, entity, or header as a part of the URI.

The URI identifies the resource and state (or state change) of that resource in the unit.

4. Layered system
It is directly connected to the end server or by any intermediary whether a client cannot
tell.

Intermediate servers improve the system scalability by enabling load-


balancing and providing a shared cache. Layers can enforce security policies.

5. Cacheable
On the World Wide Web, customers can cache responses.
Therefore, responses clearly define themselves as unacceptable or prevent customers
from reusing stale or inappropriate data to further requests.

Well-managed caching eliminates some client-server interactions to improving


scalability and performance.

6. Code on Demand (optional)


The server temporarily moves or optimizes the functionality of a client by logic that it
executes. Examples of compiled components are Java applets and client-side scripts.

Compliance with the constraints will enable any distributed hypermedia system with
desirable contingency properties such as performance, scalability, variability,
visibility, portability, and reliability.

Note: The optional lock of the REST architecture is Code on Demand. If a


service violates a constraint, it cannot be strictly referenced.

Virtualization
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.

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.

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.

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.

Server Virtualization
Server Virtualization is the process of dividing a physical server into several virtual
servers, called virtual private servers.

Each virtual private server can run independently.

The concept of Server Virtualization widely used in the IT infrastructure to minimizes the
costs by increasing the utilization of existing resources.

Types of Server Virtualization

1. Hypervisor
In the Server Virtualization, Hypervisor plays an important role. It is a layer between
the operating system (OS) and hardware. There are two types of hypervisors.

o Type 1 hypervisor ( also known as bare metal or native hypervisors)


o Type 2 hypervisor ( also known as hosted or Embedded hypervisors)

2. Full Virtualization
Full Virtualization uses a hypervisor to directly communicate with the CPU and physical
server. It provides the best isolation and security mechanism to the virtual machines.

The biggest disadvantage of using hypervisor in full virtualization is that a hypervisor has
its own processing needs, so it can slow down the application and server performance.

VMWare ESX server is the best example of full virtualization.

3. Para Virtualization
Para Virtualization is quite similar to the Full Virtualization.

The advantage of using this virtualization is that it is easier to use, Enhanced


performance, and does not require emulation overhead.
Xen primarily and UML use the Para Virtualization.

The difference between full and pare virtualization is that, in para virtualization
hypervisor does not need too much processing power to manage the OS.

4. Operating System Virtualization


Operating system virtualization is also called as system-lever virtualization.

It is a server virtualization technology that divides one operating system into multiple
isolated user-space called virtual environments.

The biggest advantage of using server visualization is that it reduces the use of physical
space, so it will save money.

5. Hardware Assisted Virtualization


Hardware Assisted Virtualization was presented by AMD and Intel.

It is also known as Hardware virtualization, AMD virtualization, and Intel


virtualization.

It is designed to increase the performance of the processor.

The advantage of using Hardware Assisted Virtualization is that it requires less


hypervisor overhead.

6. Kernel-Level Virtualization
Kernel-level virtualization is one of the most important types of server virtualization.

It is an open-source virtualization which uses the Linux kernel as a hypervisor.

The advantage of using kernel virtualization is that it does not require any special
administrative software and has very less overhead.

User Mode Linux (UML) and Kernel-based virtual machine are some examples of
kernel virtualization.

Advantages of Server Virtualization

 Independent Restart
 Low Cost
 Disaster Recovery
 Faster deployment of resources
 Security

Disadvantages of Server Virtualization


1. The biggest disadvantage of server virtualization is that when the server goes offline, all
the websites that are hosted by the server will also go down.
2. There is no way to measure the performance of virtualized environments.
3. It requires a huge amount of RAM consumption.
4. It is difficult to set up and maintain.
5. Some core applications and databases are not supported virtualization.
6. It requires extra hardware resources.

Uses of Server Virtualization


o Server Virtualization is used in the testing and development environment.
o It improves the availability of servers.
o It allows organizations to make efficient use of resources.
o It reduces redundancy without purchasing additional hardware components.

Hypervisor
A hypervisor is a form of virtualization software used in Cloud hosting to divide
and allocate the resources on various pieces of hardware.
The program which provides partitioning, isolation, or abstraction is called a
virtualization hypervisor.
The hypervisor is a hardware virtualization technique that allows multiple guest
operating systems (OS) to run on a single host system at the same time.
A hypervisor is sometimes also called a virtual machine manager(VMM).

Types of Hypervisor
TYPE-1 Hypervisor:
The hypervisor runs directly on the underlying host system.
It is also known as a “Native Hypervisor” or “Bare metal hypervisor”.
It does not require any base server operating system.
It has direct access to hardware resources.
Examples of Type 1 hypervisors include VMware ESXi, Citrix XenServer, and
Microsoft Hyper-V hypervisor.
TYPE-2 Hypervisor:
A Host operating system runs on the underlying host system.
It is also known as ‘Hosted Hypervisor”.
Such kind of hypervisors doesn’t run directly over the underlying hardware
rather they run as an application in a Host system(physical machine).
Basically, the software is installed on an operating system.

Benefits of hypervisors
 Speed
 Efficiency
 Flexibility
 Portability

Memory Virtualization

Virtual memory virtualization is similar to the virtual memory support provided


by modern operating systems.
In a traditional execution environment, the operating system maintains
mappings of virtual memory to machine memory using page tables, which is
a one-stage mapping from virtual memory to machine memory.
All modern x86 CPUs include a memory management unit (MMU) and
a translation lookaside buffer (TLB) to optimize virtual memory performance.
However, in a virtual execution environment, virtual memory virtualization
involves sharing the physical system memory in RAM and dynamically
allocating it to the physical memory of the VMs.
Since each page table of the guest OSes has a separate page table in the VMM
corresponding to it, the VMM page table is called the shadow page table.
Nested page tables add another layer of indirection to virtual memory. The
MMU already handles virtual-to-physical translations as defined by the OS.
Then the physical memory addresses are translated to machine addresses using
another set of page tables defined by the hypervisor. Since modern operating
systems maintain a set of page tables for every process, the shadow page tables
will get flooded. Consequently, the perfor-mance overhead and cost of memory
will be very high.

Pub/Sub Architecture
The Pub/Sub (Publisher/Subscriber) model is a messaging pattern used in
software architecture to facilitate asynchronous communication between different
components or systems.

In this model, publishers produce messages that are then consumed by


subscribers.

Key points of the Pub/Sub model include:

 Publishers: Entities that generate and send messages.


 Subscribers: Entities that receive and consume messages.
 Topics: Channels or categories to which messages are published.
 Message Brokers: Intermediaries that manage the routing of messages
between publishers and subscribers.

Components of Pub/Sub Architecture?

In the Pub/Sub (Publish/Subscribe) model, there are several key components


that work together to enable communication between publishers and
subscribers. These components include:
1. Publisher

The Publisher is responsible for creating and sending messages to the Pub/Sub
system. Publishers categorize messages into topics or channels based on their
content. They do not need to know the identity of the subscribers.

2. Subscriber

The Subscriber is a recipient of messages in the Pub/Sub system. Subscribers


express interest in receiving messages from specific topics. They do not need
to know the identity of the publishers. Subscribers receive messages from
topics to which they are subscribed.

3. Topic

A Topic is a named channel or category to which messages are published.


Publishers send messages to specific topics, and subscribers can subscribe to
one or more topics to receive messages of interest. Topics help categorize
messages and enable targeted message delivery to interested subscribers.

4. Message Broker

The Message Broker is an intermediary component that manages the routing of


messages between publishers and subscribers. It receives messages from
publishers and forwards them to subscribers based on their subscriptions. The
Message Broker ensures that messages are delivered to the correct subscribers
and can provide additional features such as message persistence, scalability,
and reliability.

5. Message

A Message is the unit of data exchanged between publishers and subscribers in


the Pub/Sub system. Messages can contain any type of data, such as text,
JSON, or binary data. Publishers create messages and send them to the
Pub/Sub system, and subscribers receive and process these messages.

6. Subscription

A Subscription represents a connection between a subscriber and a topic.


Subscriptions define which messages a subscriber will receive based on the
topics to which it is subscribed. Subscriptions can have different
configurations, such as message delivery guarantees (e.g., at-most-once, at-
least-once) and acknowledgment mechanisms.
Working Pub/Sub Architecture

 Step: 1 – Publishers create and send messages to the Pub/Sub system. They
categorize messages into topics or channels based on their content.
 Step: 2 – Subscribers express interest in receiving messages from specific
topics. They receive messages from topics to which they are subscribed.
 Step: 3 – Topics are named channels to which messages are published.
Publishers send messages to specific topics, and subscribers can subscribe
to one or more topics to receive messages of interest.
 Step: 4 – Message brokers are intermediaries that manage the routing of
messages between publishers and subscribers. They receive messages from
publishers and forward them to subscribers based on their subscriptions.
 Step: 5 – When a publisher sends a message to a topic, the message broker
receives the message and forwards it to all subscribers that are subscribed
to that topic.
 Step: 6 – Pub/Sub allows for asynchronous communication between
publishers and subscribers. Publishers can send messages without waiting
for subscribers to receive them, and subscribers can receive messages
without the need for publishers to be active.

You might also like