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

AWS_Cloud_Computing_Unit_2

The document provides an overview of key concepts in cloud computing, focusing on Service-Oriented Architecture (SOA), REST, web services, the Publish-Subscribe model, and virtualization. It highlights the benefits of SOA, the principles of REST, types of web services, and the advantages and disadvantages of the Publish-Subscribe model. Additionally, it covers various types and levels of virtualization, including server, desktop, application, network, and storage virtualization, along with their respective tools and mechanisms.

Uploaded by

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

AWS_Cloud_Computing_Unit_2

The document provides an overview of key concepts in cloud computing, focusing on Service-Oriented Architecture (SOA), REST, web services, the Publish-Subscribe model, and virtualization. It highlights the benefits of SOA, the principles of REST, types of web services, and the advantages and disadvantages of the Publish-Subscribe model. Additionally, it covers various types and levels of virtualization, including server, desktop, application, network, and storage virtualization, along with their respective tools and mechanisms.

Uploaded by

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

Cloud computing unit-2 Notes

Q) Service Oriented Architecture?

Service-Oriented Architecture (SOA) is an architectural pattern in


software design and development where software components
(services) are designed and deployed as independent, reusable, and
loosely coupled entities that communicate over a network.

The goal of SOA is to enable flexibility and scalability by breaking down


applications into smaller, manageable pieces that can be developed,
maintained, and scaled independently.

Benefits of SOA:

Flexibility and Agility:

As services are modular and independent, it's easier to modify, update,


or replace specific components without disrupting the entire system.

Re-usability:

Since services are designed to be generic and independent, they can be


reused across multiple applications or use cases.

Cost Efficiency:

SOA allows for better resource utilization because services can be shared
across systems, reducing redundancy and lowering overall development
costs.

Easier Integration:

SOA facilitates the integration of new systems and services into existing
infrastructure without major changes to the underlying architecture.
Simplified Maintenance:

Individual services are easier to maintain and update, which reduces the
complexity of the overall system and makes it easier to handle issues.

Q) REST and SOS (system of system)

What is REST?

REST (Representational State Transfer) is an architectural style for


designing networked applications. It is based on a set of principles that
use standard web protocols (primarily HTTP) to create a stateless, client-
server communication model.
The key characteristics of REST include:

Statelessness: Every interaction between the client and the server must
be independent. The server does not store any information about the
client’s state between requests.

Uniform Interface: REST relies on standard operations such as GET,


POST, PUT, DELETE (CRUD operations), which are defined using HTTP
methods.

Client-Server Architecture: In REST, the client and server are distinct


entities. The client makes requests, and the server processes them and
returns responses. This separation allows for modularity.

Representation of Resources: In REST, the focus is on resources (data or


objects) that can be represented in various formats, such as JSON, XML,
HTML, etc. The state of a resource is transferred between the client and
server via these representations.

Stateless Communication: Each request from a client contains all the


information needed to process it. The server does not retain any session
information between requests.
Cacheability: Responses from the server can be explicitly marked as
cacheable or non-cacheable, improving performance by reducing the
need to repeatedly fetch the same data.

A System of Systems (SoS) refers to a complex system composed of


multiple, independent, and often heterogeneous systems that interact
and work together to achieve a larger, overarching goal.

These systems can be from different organizations, technologies, and


disciplines, but they combine to function as a whole.

SoS can be found in various domains such as defense, healthcare,


transportation, and manufacturing.

Key Characteristics of a System of Systems:

Autonomy: Each system within the SoS is independent and can operate
on its own, but it contributes to the overall functionality when
combined.

Heterogeneity: The systems that make up the SoS may vary in terms of
technology, protocols, or platforms. They can be developed
independently and may serve different purposes.

Interoperability: Even though systems in a SoS are independent, they


need to be able to communicate and share information effectively to
achieve the broader goals.

Evolutionary: A SoS is often not static; new systems may be added over
time, or existing systems may be updated or replaced as technology
evolves.

Distributed Control: There is no central control; each system within the


SoS maintains some level of autonomy while contributing to the
collective function.
Q) Web Services?

Web Services are software systems designed to support machine-to-


machine communication over a network (such as the internet).

They allow different applications, often running on different platforms


and written in different programming languages, to communicate with
each other.

This is achieved by exposing functionality over the web in a way that is


standardized and accessible.

Web services are typically built using open standards and protocols such
as HTTP, SOAP (Simple Object Access Protocol), REST (Representational
State Transfer), XML (eXtensible Markup Language), and JSON
(JavaScript Object Notation).

They allow for interoperability and integration of applications and


systems, whether they are running within the same network or across
the internet.

Types of Web Services:

There are primarily two types of web services:

SOAP Web Services and RESTful Web Services

1. SOAP Web Services (Simple Object Access Protocol)

SOAP is a protocol for exchanging structured information in the


implementation of web services.

It relies on XML as its message format and can be transported over


various protocols, most commonly HTTP or SMTP.

2. RESTful Web Services (Representational State Transfer)

REST is an architectural style rather than a protocol.


It uses standard HTTP methods (GET, POST, PUT, DELETE) to perform
operations on resources, which are represented as URLs.

RESTful web services are often used for lightweight communication


between systems.

Q) Publish Subscribe Model?

The Publish-Subscribe Model is a messaging pattern used in distributed


systems where message producers (publishers) and message consumers
(subscribers) communicate indirectly through a message broker or
message queue, rather than through direct connections between them.

This model decouples the sender and receiver, enabling greater


flexibility, scalability, and maintainability in the system.

It is widely used in event-driven architectures, messaging systems, and


real-time data systems.

How the Publish-Subscribe Model Works:

Publisher sends messages to a topic or message queue.

Subscribers register their interest in specific topics or types of messages.

The message broker routes the messages from the publisher to the
appropriate subscribers based on the topics they are subscribed to.

Subscribers receive and process the messages asynchronously.

Advantages of the Publish-Subscribe Model:

Decoupling of Producers and Consumers:


Publishers and subscribers do not need to know about each other, which
simplifies the system design. A publisher can add or remove subscribers
without affecting its operation, and vice versa.
Scalability:

The model naturally supports horizontal scaling. More publishers and


subscribers can be added without major changes to the system. The
message broker can distribute messages to many subscribers
simultaneously, enabling large-scale systems.

Flexibility:

Subscribers can dynamically subscribe or unsubscribe from topics,


enabling real-time updates and adaptability. Publishers can send
messages to multiple subscribers without worrying about which
subscribers are receiving the messages.

Asynchronous Communication:

The publish-subscribe model allows for asynchronous communication,


meaning that publishers do not have to wait for a response from
subscribers, leading to more efficient and non-blocking systems.

Event-Driven Architecture:

It supports an event-driven architecture where actions are triggered by


the arrival of new messages, which is ideal for systems where real-time
updates are critical (e.g., IoT, stock trading, notifications).

Load Balancing:

The message broker can distribute messages to multiple subscribers in a


load-balanced manner, ensuring efficient resource utilization and
preventing overloading of individual subscribers.

Disadvantages of the Publish-Subscribe Model:

Complexity of Message Management:


Managing subscriptions and ensuring that messages are routed properly
to the right subscribers can become complex, especially as the number
of topics and subscribers grows.

Message Duplication:

In some cases, a message might be delivered to a subscriber multiple


times, leading to unnecessary duplication of efforts. Message
deduplication strategies need to be implemented.

Latency:

Depending on the architecture and the number of subscribers, there can


be delays in message delivery, especially in large systems. Performance
tuning is essential to minimize latency.

Potential for Overhead:

The broker must handle all message routing and management, which
can introduce additional overhead in terms of memory, CPU, and
bandwidth usage.

Message Loss:

If the message broker is not reliable or there is a failure in the system,


messages may be lost. Some systems implement message persistence or
queuing mechanisms to handle this issue, but it adds complexity.

Q) Basics of Virtualization?

Virtualization is the process of creating a virtual version of something,


such as hardware, software, storage, or a network, using software to
simulate physical hardware resources. It enables multiple virtual systems
to run on a single physical system, improving resource utilization,
flexibility, and scalability.Key Concepts of VirtualizationVirtual Machine
(VM):A software-based emulation of a physical computer.It runs its own
operating system (OS) and applications as if it were a real
machine.Hypervisor:A software layer that creates and manages virtual
machines.Types of Hypervisors:Type 1: Bare-metal hypervisor runs
directly on hardware (e.g., VMware ESXi, Microsoft Hyper-V).Type 2:
Runs on top of a host operating system (e.g., VMware Workstation,
Oracle VirtualBox).Host Machine:The physical system on which
virtualization is performed.Guest Machine:The virtualized operating
system running on the host machine.Virtualization Software:Tools like
VMware, VirtualBox, Hyper-V, and KVM enable virtualization.
Advantages of Virtualization
Resource Optimization: Maximizes the utilization of hardware resources.
Cost Savings: Reduces hardware costs and energy consumption.
Scalability: Easily scale resources as needed.
Improved Disaster Recovery: Virtual machines are easy to back up and
restore.
Isolation: Each VM runs in its own environment, ensuring security and
independence.

Q) Types of VirtualizationServer Virtualization:Divides one physical


server into multiple virtual servers.Benefits: Optimized hardware
utilization, reduced costs.Desktop Virtualization:Separates a desktop
environment from the physical machine.Enables users to access virtual
desktops remotely.Application Virtualization:Runs applications in an
isolated environment, independent of the underlying OS.Network
Virtualization:Combines or splits network resources into virtual
networks.Example: VLANs (Virtual Local Area Networks), software-
defined networking (SDN).Storage Virtualization:Combines multiple
storage devices into a single virtualized resource.Example: Storage Area
Network (SAN).
Q) Implementation Levels of Virtualization
Virtualization can be implemented at various levels within a computing
system, depending on the resources being virtualized. Each level serves a
unique purpose and comes with specific techniques and technologies.1.
Hardware-Level Virtualization
Description: Virtualizes the physical hardware to allow multiple virtual
machines (VMs) to run on a single physical system.How it Works:A
Hypervisor or Virtual Machine Monitor (VMM) runs directly on the
hardware or on the OS.It abstracts the physical hardware resources (CPU,
memory, disk) and allocates them to VMs.
Key Components:
Type-1 Hypervisor (Bare-metal): Runs directly on hardware (e.g.,
VMware ESXi, Hyper-V, Xen).
Type-2 Hypervisor: Runs on an operating system (e.g., VirtualBox,
VMware Workstation).
Use Case: Server consolidation, cloud infrastructure.2. Operating System-
Level Virtualization
Description: Virtualizes the operating system to allow multiple isolated
environments (containers) to run on a single OS kernel.
How it Works:
Instead of full virtual machines, the OS kernel supports containers or
namespaces.
Each container runs isolated applications while sharing the host OS
kernel.
Key Components:
Containers: Lightweight and portable environments (e.g., Docker, LXC).
OS Virtualization Tools: Docker, Kubernetes, OpenVZ.
3. Use Case: Microservices, application deployment, DevOps
pipelines.Application-Level Virtualization
Description: Virtualizes applications so they can run independently of the
underlying operating system.
How it Works:
Applications are encapsulated into a virtual package that includes all
required files, libraries, and dependencies.
They run in an isolated virtual environment without interfering with the
host system.
Key Components:
Application virtualization tools like Microsoft App-V, VMware ThinApp,
and Citrix XenApp.
Use Case: Running incompatible applications, software testing, reducing
conflicts between apps.4. Network-Level Virtualization
Description: Abstracts and combines physical network resources to create
virtual networks.
How it Works:
Virtual network components like switches, routers, and firewalls are
created and managed in software.
Technologies like VLANs and Software-Defined Networking (SDN)
enable virtualized networking.
Key Components:
SDN Controllers: Manage network traffic dynamically.
Network Virtualization Tools: VMware NSX, Cisco ACI, and OpenFlow.
Use Case: Cloud networking, virtual LANs, network optimization.5.
Storage-Level Virtualization
Description: Combines multiple storage devices into a single unified
virtual storage resource.

How it Works:
Abstracts physical storage devices (SAN, NAS) and presents them as a
virtual storage pool.
Ensures efficient storage management, data redundancy, and
scalability.Key Components:
Storage management tools like VMware vSAN, IBM Spectrum
Virtualize, and NetApp ONTAP.
Use Case: Storage consolidation, data centers, cloud storage solutions.6.
Desktop-Level Virtualization
Description: Virtualizes the desktop environment and enables users to
access desktops remotely.
How it Works:
Virtual desktops are hosted on a centralized server and delivered to
endpoints via a network.
Users can access their desktop environments using thin clients, laptops,
or tablets.
Key Components:
Virtual Desktop Infrastructure (VDI): VMware Horizon, Citrix Virtual
Apps and Desktops.
Remote Desktop Protocol (RDP).
Use Case: Remote work, centralized IT management, security.

Q) Virtualization Structures
StructureDescriptionE
xamplesFull
VirtualizationVirtualiz
es hardware
entirely.VMware
ESXi, KVM, Hyper-
VParavirtualizationGu
est OS aware of
virtualization.Xen,
VMware
ToolsHardware-
AssistedUses CPU
extensions for
virtualization.Intel
VT-x, AMD-V,
Hyper-VOS-Level
VirtualizationShares
host OS kernel for
containers.Docker,
LXC,
OpenVZApplication
VirtualizationVirtualiz
es individual
applications.App-V,
ThinApp, Citrix
XenAppStorage
VirtualizationAbstract
s and pools storage
resources.VMware
vSAN, IBM
SpectrumNetwork
VirtualizationCreates
virtual networks and
devices.VMware
NSX, Cisco ACI
Q) Tools and mechanisms?

Tools provide the platforms, software, and frameworks to implement


virtualization across different resources (hardware, OS, applications,
etc.).Mechanisms include the techniques and underlying technologies that
make virtualization possible and efficient, such as hardware abstraction,
memory management, and I/O virtualization.
CategoryTo
olsMechanis
ms
Hypervisors
VMware
ESXi,
Hyper-V,
KVMHard
ware
Abstraction,
CPU
Scheduling
Containers
Docker,
Kubernete
s, LXCOS-
level
Virtualizat
ion,
Namespac
es
Storage
VirtualizationVM
ware vSAN, IBM
SpectrumThin
Provisioning,
Snapshotting,
Pooling
Network
VirtualizationVM
ware NSX, Cisco
ACI, Open
vSwitchVirtual
Switches, Overlay
Networks, SR-
IOV
Application
VirtualizationApp-V,
ThinApp,
XenAppApplication
Isolation,
Encapsulation
VDI
ToolsCitr
ix,
VMware
HorizonR
emote
Access,
Desktop
Abstracti
on

End of unit-2:

You might also like