AWS For Cloud
AWS For Cloud
2. Broad Network Access: Services are accessible over the internet through various
devices like laptops, tablets, and smartphones.
3. Resource Pooling: Providers share resources among multiple users using a multi-
tenant model.
5. Pay-As-You-Go Pricing: Users pay only for what they use, avoiding upfront costs.
Cost Efficiency: Eliminates the need for purchasing and maintaining hardware.
Flexibility and Mobility: Access resources from anywhere with an internet
connection.
Enhanced Collaboration: Teams can work together on shared data and
applications.
Improved Security: Leading providers invest in advanced security measures.
Improved Performance : Cloud providers offer high-performance servers with
the latest technology.
Enhanced Security : Cloud providers implement advanced security measures,
including encryption, firewalls, and regular audits.
3. Evolution of cloud computing
2. Virtualization (1970s–1990s):
Virtualization technologies emerged, allowing a single physical machine to run
multiple virtual machines, improving resource utilization.
The concept of "pay-as-you-go" started, where users only paid for what they used.
5. Growth of SaaS, PaaS, and IaaS (2010s): Different service models emerged:
SaaS (Software as a Service): Applications delivered over the internet (e.g., Gmail,
Salesforce).
PaaS (Platform as a Service): Platforms for developers to build applications (e.g.,
Google App Engine).
IaaS (Infrastructure as a Service): Virtualized hardware resources (e.g., AWS,
Microsoft Azure).
Parallel Computing: Parallel computing is a method where a single task is divided into
smaller sub-tasks, and these sub-tasks are executed simultaneously on multiple
processors within the same system.
Load Balancing: Distributing tasks evenly across all processors to maximize resource
utilization and minimize idle time.
Shared Memory Access: Processors access a common memory space for data
exchange.
Resource Sharing: Sharing resources like processors, memory, and storage across
multiple systems in a network.
Communication: Nodes exchange data over a network using protocols like TCP/IP or
message passing (e.g., MPI).
1. Loosely Coupled
o Services operate independently, changes in one service don’t heavily
impact others.
2. Interoperability
o SOA supports communication between services built using different
technologies and programming languages.
o Standard protocols like HTTP, SOAP, or REST facilitate this
interaction.
3. Reusability
o Services can be reused across multiple applications, saving time and
development costs.
o Example: A payment gateway service can be used in different e-
commerce platforms.
4. Discoverability
o Services in SOA are published in a directory, making them easy to find
and integrate.
5. Standardized Interfaces
o Each service communicates using a well-defined interface, often
described using standards like WSDL (Web Services Description
Language) for SOAP-based services or OpenAPI for REST-based
services.
SOA Components
1. Service Provider
o The entity that creates and maintains the service. It also registers the
service in a directory.
2. Service Consumer
o Any application or service that uses the available services to perform
tasks.
3. Service Registry
o A directory that lists all available services. Service consumers can
discover and connect to services using this registry.
Features of SOA
Interoperability: Services communicate using standard protocols.
Loose Coupling: Components remain independent and modular.
Reusability: Services can be reused across multiple applications.
Scalability: Easy to add or remove services without impacting the system.
Key Principles
Resources: Exposed via URIs.
Statelessness: Each request contains all necessary information.
Standard Methods: Uses HTTP methods like GET, POST, PUT, DELETE.
Representation: Data is exchanged in formats like JSON or XML.
Characteristics of SoS
Autonomy: Individual systems operate independently.
Interoperability: Systems communicate seamlessly.
Evolution: Systems can be updated or replaced without disrupting the SoS.
Decentralization: No single system controls the others.
Web Services
Web services are software components that allow communication between
applications over a network.
How It Works
1. Publisher
o The entity that generates and publishes messages or events.
o Publishers do not send messages directly to subscribers but instead to a
central entity called a broker or topic.
2. Subscriber
o The entity that registers interest in specific types of messages or events
(topics).
o Subscribers receive only the messages they are subscribed to.
3. Broker
o Acts as an intermediary between publishers and subscribers.
o Categorizes messages based on topics and ensures delivery to the
appropriate subscribers.
4. Basics of Virtualization
1. Host Machine
o The physical machine that provides the hardware resources for virtualization.
2. Guest Machine
o The virtual machine or environment created within the host machine.
3. Hypervisor
o A software layer that manages and allocates the physical resources to virtual
machines.
o Types of hypervisors:
Type 1 (Bare-Metal): Runs directly on the hardware (e.g., VMware
ESXi, Microsoft Hyper-V).
Type 2 (Hosted): Runs on top of an operating system (e.g., VMware
Workstation, Oracle VirtualBox).
Benefits of Virtualization
Components of Virtualization
1. Server Virtualization
o Virtualizes physical servers into multiple virtual servers.
o Use Case: Data centers for running multiple server applications on one
physical machine.
2. Desktop Virtualization
o Allows users to access a virtual desktop from any device.
o Use Case: Remote work and BYOD (Bring Your Own Device) environments.
3. Network Virtualization
o Abstracts network resources like switches and routers into virtual networks.
o Use Case: Software-Defined Networking (SDN).
4. Storage Virtualization
o Combines multiple physical storage resources into a single logical unit.
o Use Case: Cloud storage and data management.
5. Application Virtualization
o Enables applications to run in isolated environments without being installed on
the local OS.
o Use Case: Software testing and deployment.
6. Data Virtualization
o Abstracts and integrates data from multiple sources into a unified view.
o Use Case: Business Intelligence (BI) tools.
1. Hardware Virtualization
How It Works
How It Works
Containers use the host operating system’s kernel to run multiple isolated
environments (containerized applications).
A containerized application can run on any system that supports the container
runtime, such as Docker.
Types of OS-Level Virtualization
Containers: Lightweight, fast, and portable environments that package
applications with all dependencies needed to run (e.g., Docker, Kubernetes).
Linux Containers (LXC): A type of OS-level virtualization for running
multiple Linux distributions on the same host.
3. Application Virtualization
How It Works
The application is encapsulated and delivered as a virtualized instance, separate
from the underlying operating system.
This allows applications to run on different machines without requiring direct
installation or configuration.
4. Network Virtualization
How It Works
A software-defined network (SDN) controller manages virtual networks and
allocates network resources to different virtual machines or containers.
It creates virtual switches, routers, and firewalls to manage network traffic
without needing to change the physical network infrastructure.
5. Storage Virtualization
Storage virtualization abstracts physical storage devices (e.g., hard drives or SSDs)
into a unified virtual storage pool that can be easily managed, allocated, and accessed
by applications or virtual machines.
How It Works
A storage virtualization layer consolidates physical storage devices into a
logical pool, which can then be managed centrally.
Virtual storage can be dynamically resized or moved between physical devices,
making storage management more efficient and flexible.
6. Data Virtualization
Data virtualization involves abstracting and integrating data from multiple sources
into a unified, logical view without physically moving or copying the data. This
allows users and applications to access data from different systems without worrying
about its location or format.
How It Works
A data virtualization layer connects to various data sources (e.g., databases,
data warehouses, cloud storage) and presents them as a single data source.
Data is accessed in real-time through a unified query interface.
6. Virtualization Structures
1. Hypervisor
Types of Hypervisors
Type 1 (Bare-Metal Hypervisor):
o Runs directly on the host hardware without an underlying operating
system. It has direct access to the hardware and can control and manage
virtual machines more efficiently.
o Examples: VMware ESXi, Microsoft Hyper-V, Xen.
Type 2 (Hosted Hypervisor):
o Runs on top of a host operating system and depends on the host OS to
manage hardware resources. Type 2 hypervisors are typically used for
desktop virtualization.
o Examples: VMware Workstation, Oracle VirtualBox, Parallels.
2. Virtual Machines (VMs)
3. Virtualization Layer
The virtualization layer is the software or set of tools that sits between the hardware
and the virtual machines or containers. It abstracts the physical hardware and creates
virtual environments that behave like separate machines or resources.
Virtualization management refers to the tools and software that administrators use to
monitor, configure, and control virtual environments. Orchestration refers to the
automation of the deployment, scaling, and management of virtual machines and other
resources across multiple environments.
5. Virtual Storage
Virtual storage abstracts and aggregates physical storage resources into a single,
logical storage pool, making it easier to manage and allocate storage.
6. Virtual Network
Hypervisor tools and mechanisms help manage the virtualization layer that controls
the virtual machines (VMs) and their resources. These tools facilitate the creation,
provisioning, and monitoring of VMs.
2. Containerization Tools
Containerization tools allow the packaging and running of applications within isolated
containers that share the same host OS. These tools are widely used for microservices,
cloud-native applications, and DevOps pipelines.
Common Tools and Mechanisms
Docker: The most popular containerization platform, enabling the creation and
management of containers. Docker provides tools like Docker Engine, Docker
Compose, and Docker Swarm for orchestration.
Kubernetes: A powerful container orchestration platform that automates the
deployment, scaling, and management of containerized applications.
Kubernetes uses tools like kubectl, Helm, and Kubeadm.
OpenShift: A Kubernetes-based container platform by Red Hat that provides
additional features like integrated CI/CD, security, and developer tools.
Amazon ECS (Elastic Container Service): A fully managed container
orchestration service for deploying Docker containers at scale in AWS.
Virtual network tools manage the abstraction of physical network components (like
routers, switches, firewalls) into software-defined virtual networks. These tools are
essential for managing network connectivity within virtualized environments.
Common Tools and Mechanisms
VMware NSX: A network virtualization and security platform that allows for
the creation of virtual networks within VMware environments.
OpenStack Neutron: A networking component within OpenStack that
provides networking as a service for VMs in a cloud environment.
Cisco ACI (Application Centric Infrastructure): A data center solution for
managing virtual networks, combining physical and virtual network
management.
SDN (Software-Defined Networking): Tools like OpenFlow, Floodlight, and
Cumulus Networks are used for managing network resources
programmatically and dynamically.
These tools are used to monitor, manage, and optimize virtualized environments. They
provide administrators with insights into resource utilization, performance, and
potential issues within the virtual infrastructure.