0% found this document useful (0 votes)
65 views12 pages

Unit I

The document discusses cloud architecture, including various system models such as client-server, virtualization, and microservices, as well as the NIST Cloud Computing Reference Architecture which outlines key components and relationships in cloud environments. It details cloud deployment models (public, private, hybrid, community) and service models (SaaS, PaaS, IaaS), emphasizing their unique benefits and considerations. Additionally, it addresses the architectural design of compute and storage clouds, highlighting components like frontend, backend, and storage nodes, while also outlining design challenges such as scalability and reliability.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
65 views12 pages

Unit I

The document discusses cloud architecture, including various system models such as client-server, virtualization, and microservices, as well as the NIST Cloud Computing Reference Architecture which outlines key components and relationships in cloud environments. It details cloud deployment models (public, private, hybrid, community) and service models (SaaS, PaaS, IaaS), emphasizing their unique benefits and considerations. Additionally, it addresses the architectural design of compute and storage clouds, highlighting components like frontend, backend, and storage nodes, while also outlining design challenges such as scalability and reliability.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

UNIT I

CLOUD ARCHITECTURE MODELS AND INFRASTRUCTURE

Cloud Architecture: System Models for Distributed and Cloud Computing – NIST Cloud
Computing Reference Architecture – Cloud deployment models – Cloud service models; Cloud
Infrastructure: Architectural Design of Compute and Storage Clouds – Design Challenges

Cloud Architecture: System Models for Distributed and Cloud Computing

Cloud architecture refers to the design and structure of a cloud computing system that
encompasses the various components, services, and interactions within a cloud environment.
It involves defining the system models and frameworks that enable the efficient and reliable
delivery of cloud services.

Architecture of Cloud Computing

Here are some commonly used system models for distributed and cloud computing:

1. Client-Server Model: This model forms the foundation of cloud computing. It involves
two main components: clients and servers. Clients are the end-user devices that
interact with the cloud services, while servers provide the resources and services
hosted in the cloud. Clients send requests to servers, and servers respond with the
requested data or perform the requested tasks.

2. Virtualization: Virtualization is a key technology in cloud computing that allows the


abstraction and sharing of physical computing resources. It enables the creation of
virtual machines (VMs) or containers that run multiple instances of operating systems
and applications on a single physical server. Virtualization provides flexibility, resource
optimization, and isolation among different applications or users.

3. Service-Oriented Architecture (SOA): SOA is an architectural style that structures


applications as a collection of loosely coupled and interoperable services. In cloud
computing, SOA is used to build modular and scalable applications by breaking them
down into smaller, independent services. These services can be distributed across
multiple servers and can be easily integrated or reused by other applications.

4. Microservices Architecture: Microservices architecture is an evolution of SOA that


emphasizes the development of small, independent services that are responsible for
specific business capabilities. Each microservice runs in its own process and
communicates with other services through lightweight mechanisms like APIs or
message queues. Microservices architecture enables agility, scalability, and resilience
in cloud applications.

5. Event-Driven Architecture: Event-driven architecture (EDA) is a model where the flow


of events triggers the execution of functions or actions. Events can be user actions,
system events, or messages from other services. Cloud platforms often leverage EDA
to build reactive and real-time applications that respond to events with minimal
latency.

6. Peer-to-Peer (P2P) Model: P2P architecture allows nodes in a network to act as both
clients and servers, sharing resources and services directly with other nodes. In cloud
computing, P2P models can be used for decentralized file storage, content delivery,
or distributed computing tasks, enabling efficient resource utilization and fault
tolerance.

7. Hybrid Cloud Model: The hybrid cloud model combines public and private cloud
infrastructures, allowing organizations to leverage the benefits of both. It enables the
flexibility to run applications and store data on-premises (private cloud) while utilizing
public cloud services for scalability, cost optimization, or specialized functionalities.

These system models provide a foundation for designing and implementing cloud
architectures that address scalability, reliability, performance, security, and cost-efficiency
requirements. Cloud architects consider these models along with specific technologies, such
as load balancers, databases, caching systems, and security mechanisms, to build robust and
efficient cloud systems tailored to the needs of organizations and users.

NIST Cloud Computing Reference Architecture

The NIST (National Institute of Standards and Technology) Cloud Computing Reference
Architecture provides a comprehensive framework for understanding and evaluating cloud
computing architectures and services. It defines a standardized model that guides
organizations in designing, deploying, and managing cloud-based systems. The reference
architecture outlines the key components and relationships within a cloud environment,
enabling interoperability and portability across different cloud platforms.

NIST Cloud Computing Architecture

The NIST Cloud Computing Reference Architecture consists of five essential components:

1. Cloud Service Models:

• Software as a Service (SaaS): Applications delivered over the internet on a


subscription basis.

• Platform as a Service (PaaS): Platforms and development tools provided as


services, enabling application development and deployment.

• Infrastructure as a Service (IaaS): Virtualized computing resources, such as


servers, storage, and networking, provided as services.

2. Cloud Deployment Models:

• Public Cloud: Cloud services accessible to the general public over the internet.

• Private Cloud: Cloud infrastructure exclusively dedicated to a single


organization.
• Community Cloud: Shared cloud infrastructure and services among
organizations with similar requirements.

• Hybrid Cloud: Combination of two or more cloud deployment models, allowing


data and applications to be distributed between them.

3. Cloud Service Components:

• Service Consumer: The entity that consumes cloud services, such as end-users
or applications.

• Service Provider: The entity that delivers cloud services to service consumers.

• Service Orchestration: Coordination and management of multiple cloud


services to fulfill a specific requirement.

• Service Management: Activities related to the provisioning, monitoring, and


maintenance of cloud services.

• Cloud Brokerage: Intermediary services that help consumers select and


manage cloud services from different providers.

4. Cloud Reference Architecture Layers:

• Business Layer: Represents the business aspects, including cloud service


catalogs, pricing, and billing models.

• Information Layer: Encompasses data storage, management, and security


mechanisms.

• Infrastructure Layer: Includes the physical and virtual resources required to


support cloud services.

• Access Layer: Covers the interfaces and protocols used to access cloud
services, including APIs and user interfaces.

5. Cloud Reference Architecture Relationships:

• Cross-Layer Relationships: Connections and interactions between different


layers of the cloud architecture.

• External Relationships: Interactions between the cloud environment and


external entities, such as networks, systems, and service providers.

The NIST Cloud Computing Reference Architecture provides a standardized framework


for understanding cloud computing concepts and designing cloud-based systems. It helps
organizations evaluate cloud services, understand their responsibilities and roles within a
cloud ecosystem, and make informed decisions when adopting cloud technologies.
Cloud Deployment Models

A cloud deployment model refers to the way in which cloud computing resources
and services are deployed and made available to users. It defines the ownership,
management, and accessibility of the cloud infrastructure. There are four primary cloud
deployment models:

Cloud Deployment Model

1. Public Cloud:

• In a public cloud deployment model, cloud resources and services are owned
and operated by a cloud service provider (CSP) and made available to the
general public over the internet.

• The infrastructure, platforms, and applications are shared among multiple


organizations or users.

• Public clouds offer scalability, flexibility, and cost-effectiveness since users pay
for the resources they consume on a pay-as-you-go basis.

• Examples of public cloud providers include Amazon Web Services (AWS),


Microsoft Azure, and Google Cloud Platform (GCP).

2. Private Cloud:

• A private cloud deployment model involves the use of cloud resources


exclusively by a single organization.

• The infrastructure and services can be owned, managed, and operated by the
organization itself (on-premises private cloud) or by a third-party service
provider (hosted private cloud).
• Private clouds offer enhanced security, control, and customization options,
making them suitable for organizations with strict regulatory requirements,
sensitive data, or specific needs.

• Private cloud solutions include VMware Cloud Foundation, OpenStack, and


Microsoft Azure Stack.

3. Hybrid Cloud:

• A hybrid cloud deployment model combines elements of both public and


private clouds.

• It allows organizations to leverage the benefits of both deployment models by


integrating and managing resources across multiple environments.

• Hybrid clouds involve a mix of on-premises infrastructure, private cloud, and


public cloud services.

• Organizations can use public cloud resources for scalability, flexibility, and cost
savings while maintaining sensitive data or critical workloads on-premises or
in a private cloud.

• Hybrid clouds require robust connectivity, integration, and management


capabilities to ensure smooth data and application movement between
different environments.

4. Community Cloud:

• A community cloud deployment model involves a shared cloud infrastructure


and services that are tailored to meet the specific requirements of a particular
community of organizations.

• The community may have shared interests, compliance needs, or security


concerns.

• Multiple organizations with similar requirements collaborate to establish and


maintain the community cloud.

• Community clouds can be managed by the organizations themselves or by a


third-party service provider.

• They offer increased control, customization, and cost sharing among


community members.

Each cloud deployment model offers unique benefits and considerations, and
organizations choose the model that best aligns with their requirements, budget, security
needs, and resource demands. In some cases, organizations may adopt a combination of
deployment models, such as a hybrid cloud approach, to leverage the advantages of multiple
models for different workloads or applications.

Cloud Service Models

Cloud service models refer to the types of services or levels of abstraction that are
provided by cloud computing providers. These models define the extent of control and
responsibility that users have over their applications and infrastructure. The three primary
cloud service models are:

1. Software as a Service (SaaS):

• Software as a Service is a cloud service model in which the cloud provider


delivers software applications over the internet.

• Users can access and use the software applications through a web browser or
thin client without the need for local installation or management.

• The cloud provider is responsible for maintaining and managing the underlying
infrastructure, platform, and software, including updates, security, and
availability.

• Examples of SaaS applications include email services (e.g., Gmail), customer


relationship management (CRM) systems (e.g., Salesforce), and productivity
suites (e.g., Google Workspace, Microsoft Office 365).

2. Platform as a Service (PaaS):


• Platform as a Service is a cloud service model that provides a platform and
environment for users to develop, deploy, and manage their applications.

• PaaS abstracts the underlying infrastructure and provides tools, libraries, and
frameworks to support application development, testing, and deployment.

• Users can focus on building and managing their applications without worrying
about the underlying infrastructure, such as servers, storage, and networking.

• The cloud provider is responsible for managing the infrastructure and runtime
environment, while users have control over their applications and data.

• Examples of PaaS offerings include Heroku, Google App Engine, and Microsoft
Azure App Service.

3. Infrastructure as a Service (IaaS):

• Infrastructure as a Service is a cloud service model that provides virtualized


computing resources over the internet.

• IaaS offers users virtual machines (VMs), storage, networking, and other
fundamental computing resources as a service.

• Users have full control over the operating system, applications, and
configurations on the provided infrastructure.

• Users are responsible for managing and maintaining the operating system,
middleware, applications, and data, while the cloud provider is responsible for
the underlying infrastructure.

• Examples of IaaS platforms include Amazon Web Services (AWS) EC2, Google
Cloud Compute Engine, and Microsoft Azure Virtual Machines.

These cloud service models provide different levels of abstraction and cater to different user
requirements. SaaS offers ready-to-use applications, PaaS offers a platform for application
development, and IaaS provides virtualized infrastructure resources. Organizations can
choose the appropriate service model based on factors such as the level of control, scalability,
complexity, and resource requirements for their applications and workloads.

Cloud Infrastructure:Architectural Design of Compute and Storage Clouds

Architecture of cloud computing is the combination of both SOA (Service Oriented


Architecture) and EDA (Event Driven Architecture). Client infrastructure, application, service,
runtime cloud, storage, infrastructure, management and security all these are the
components of cloud computing architecture.
1. Frontend

Frontend of the cloud architecture refers to the client side of cloud computing system.
Means it contains all the user interfaces and applications which are used by the client to
access the cloud computing services/resources. For example, use of a web browser to access
the cloud platform.

Client Infrastructure – Client Infrastructure is a part of the frontend component. It contains


the applications and user interfaces which are required to access the cloud platform.

In other words, it provides a GUI (Graphical User Interface) to interact with the cloud.

2. Backend :

Backend refers to the cloud itself which is used by the service provider. It contains the
resources as well as manages the resources and provides security mechanisms. Along with
this, it includes huge storage, virtual applications, virtual machines, traffic control
mechanisms, deployment models, etc.

I. Application
Application in backend refers to a software or platform to which client accesses. Means it
provides the service in backend as per the client requirement.

II. Service
Service in backend refers to the major three types of cloud based services like SaaS, PaaS
and IaaS. Also manages which type of service the user accesses.

III. Runtime Cloud


Runtime cloud in backend provides the execution and Runtime platform/environment to
the Virtual machine.
IV. Storage
Storage in backend provides flexible and scalable storage service and management of
stored data.

V. Infrastructure
Cloud Infrastructure in backend refers to the hardware and software components of cloud
like it includes servers, storage, network devices, virtualization software etc.

VI. Management
Management in backend refers to management of backend components like application,
service, runtime cloud, storage, infrastructure, and other security mechanisms etc.

VII. Security
Security in backend refers to implementation of different security mechanisms in the
backend for secure cloud resources, systems, files, and infrastructure to end-users.

VIII. Internet
Internet connection acts as the medium or a bridge between frontend and backend and
establishes the interaction and communication between frontend and backend.

IX. Database

Database in backend refers to provide database for storing structured data, such as SQL
and NOSQL databases. Example of Databases services include Amazon RDS, Microsoft
Azure SQL database and Google CLoud SQL.

X. Networking

Networking in backend services that provide networking infrastructure for application in


the cloud, such as load balancing, DNS and virtual private networks.

XI. Analytics

Analytics in backend service that provides analytics capabilities for data in the cloud, such
as warehousing, business intelligence and machine learning.

Storage Cloud Architecture:

1. Storage Nodes: Storage clouds consist of multiple storage nodes that provide
distributed storage capacity. These nodes can be physical servers with attached hard
drives or solid-state drives (SSDs), or they can leverage distributed storage systems
like object storage or distributed file systems.

2. Redundancy and Replication: To ensure data durability and availability, storage clouds
employ redundancy and replication techniques. Data is typically replicated across
multiple storage nodes or data centers, and redundancy mechanisms like erasure
coding or RAID (redundant array of independent disks) may be used.
3. Storage APIs: Storage clouds provide APIs (Application Programming Interfaces) that
allow users or applications to interact with the storage services. These APIs enable
operations such as reading, writing, deleting, and managing data stored in the cloud.

4. Object Storage or Block Storage: Storage clouds may offer different storage models,
such as object storage or block storage. Object storage provides a scalable and flexible
way to store unstructured data, while block storage offers raw block-level access and
is commonly used for databases or file systems.

5. Data Management and Data Services: Storage clouds may provide additional data
management services, such as data backup, data versioning, data encryption, and data
lifecycle management. These services enhance the reliability, security, and efficiency
of data storage and retrieval.

Both compute and storage cloud architectures require robust networking, security
measures, monitoring, and management tools to ensure performance, scalability, and
resilience. The specific design and components used may vary based on the cloud provider,
the scale of the infrastructure, and the targeted use cases and workloads.

Design Challenges

Designing and implementing cloud computing infrastructure involves several


challenges that need to be addressed to ensure a successful and efficient system. Some of the
key design challenges in cloud infrastructure are:

1. Scalability: One of the primary advantages of cloud computing is its ability to scale
resources up or down based on demand. Designing a scalable infrastructure involves
addressing issues such as load balancing, resource provisioning, and efficient
utilization of computing and storage resources.

2. Reliability and Availability: Cloud services need to be highly reliable and available to
ensure uninterrupted access for users. Redundancy, fault tolerance, and disaster
recovery mechanisms must be incorporated into the infrastructure design to minimize
downtime and provide continuous service availability.

3. Security: Cloud infrastructure must be designed with robust security measures to


protect data and systems from unauthorized access, breaches, and data loss. This
includes implementing strong access controls, encryption, identity and access
management (IAM), network security, and regular security audits.

4. Network Performance: Cloud infrastructure relies heavily on networking to connect


various components and users. Designing a high-performance network with low
latency, high bandwidth, and efficient data transfer is crucial to ensure optimal
performance and user experience.
5. Data Management: Managing and storing large amounts of data efficiently and
securely is a significant challenge in cloud infrastructure design. This includes
addressing data storage, data backup and recovery, data governance, data privacy,
and compliance with regulatory requirements.

6. Cost Optimization: Designing a cost-effective cloud infrastructure involves optimizing


resource allocation, minimizing idle resources, and adopting cost-effective storage
and computing solutions. This includes implementing auto-scaling, usage monitoring,
and workload optimization techniques to reduce overall infrastructure costs.

7. Interoperability and Portability: Cloud infrastructure should be designed to promote


interoperability and portability, allowing users to easily migrate applications and data
between different cloud platforms or environments. This involves adhering to open
standards, using industry-accepted protocols, and avoiding vendor lock-in.

8. Performance Monitoring and Management: Designing effective monitoring and


management systems is crucial for maintaining the performance and health of cloud
infrastructure. This includes implementing monitoring tools, logging mechanisms,
performance analytics, and automated management processes for proactive system
monitoring and troubleshooting.

9. Compliance and Governance: Cloud infrastructure design must consider compliance


with regulatory requirements and industry-specific standards. This involves
implementing appropriate security controls, data protection measures, and audit
trails to meet compliance obligations.

10. User Experience: Cloud infrastructure design should prioritize providing a seamless
and user-friendly experience for both administrators and end-users. This includes
intuitive user interfaces, self-service portals, and efficient management tools to
enhance productivity and ease of use.

Addressing these design challenges requires a holistic approach that considers various aspects
such as architecture, technology selection, operational processes, and business
requirements. Cloud infrastructure designers need to strike a balance between performance,
security, scalability, cost, and user experience to build a robust and efficient cloud computing
environment.

You might also like