Cloud System Architecture
Front End
● The front end is used by the client. It contains client-side
interfaces and applications that are required to access the cloud computing
platforms. The front end includes web servers (including Chrome, Firefox,
internet explorer, etc.), thin & fat clients, tablets, and mobile devices.
Back End
● The back end is used by the service provider. It
manages all the resources that are required to provide cloud computing
services. It includes a huge amount of data storage, security mechanism,
virtual machines, deploying models, servers, traffic control mechanisms, etc.
● 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.
● 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
● Cloud Runtime –
Runtime
cloud in backend refers to provide platform/environment to the
virtual machine
● Storage –
Storage in backend refers to provide
flexible and scalable storage service and
management of stored data.
● Infrastructure –
Cloud Infrastructure in backend refers to
hardware and software components of cloud like it includes servers, storage,
network devices, virtualization software
etc.
● Management –
Management in backend refers to management
of backend components like application,
service, runtime cloud, storage, infrastructure, and other security mechanisms etc.
● 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.
● Internet –
Internet connection acts as the medium or a
bridge between frontend and backend and
establishes the interaction and communication between frontend and backend.
Cloud Computing Logical Architecture
- Consumer/User Layer:
Provides interfaces for users to access and interact with cloud services.
- Service Management Layer: Manages service provisioning, metering, billing, and
monitoring.
- Cloud Services Layer:
Provides core services such as SaaS, PaaS, and IaaS for consumers.
- Resource Abstraction and Virtualization Layer: Virtualizes physical resources to provide scalable and
elastic cloud resources.
- Physical Resource Layer: The physical infrastructure (servers, storage, and
networking) that forms the foundation of the cloud.
- Security and Compliance Layer: Ensures security, identity management, and compliance
with regulations.
- Network Layer:
Provides connectivity and communication between cloud components and
users.
This logical structure ensures
flexibility, scalability, security, and efficiency in cloud environments,
making it suitable for various use cases and industries.
Holistic
Cloud Computing Reference Model
A Holistic Cloud Computing
Reference Model integrates all components and functions of cloud computing
to provide a clear, comprehensive framework for cloud adoption. The model
includes:
- Cloud Service Models:
IaaS, PaaS, SaaS, representing different levels of service abstraction.
- Deployment Models:
Public, private, hybrid, and multi-cloud for diverse use cases.
- Layered Architecture:
Divided into layers such as user interface, service management, cloud
services, virtualization, and physical resources.
- Cross-Layer Functions: Security, monitoring, analytics, governance, and
automation that ensure the environment operates efficiently and securely.
- Ecosystem Integration: Multi-cloud, hybrid cloud, API integration, and
third-party services.
- Automation and Cost Management: Efficient resource management, automation for scaling
and deployment, and cost optimization through billing models and
monitoring.
This model ensures that cloud
environments are scalable, flexible, secure, and aligned with organizational
goals and industry standards.
It provides a roadmap for designing,
implementing, and managing cloud solutions in a way that addresses the full
spectrum of operational, security, and business requirements.
Live Example: Deploying a Web Application
on the Cloud
Imagine you are a startup company developing a web-based e-commerce application that allows users to buy and sell products online. You want to make this application available to a global audience, and you decide to use cloud computing to do so.
1. Choosing a Cloud
Provider
You choose a cloud service provider like Amazon Web Services (AWS), Microsoft Azure, or Google Cloud Platform to host your application. These platforms offer multiple cloud services like IaaS, PaaS, and SaaS.
2. Setting Up
Infrastructure (IaaS)
You use Infrastructure as a Service (IaaS) to rent virtual servers and storage instead of buying physical servers.
- You create Virtual
Machines (VMs) on AWS (using EC2) to host your application.
- Use Amazon
S3 (Simple Storage Service) to store images, product data, and
user files.
- Set up Amazon
RDS (Relational Database Service) to handle user accounts and
transaction data.
3. Using Platform
as a Service (PaaS)
Instead of manually configuring everything on the server, you use a Platform as a Service (PaaS).
- You deploy
your application code on AWS Elastic Beanstalk, which
takes care of provisioning servers, load balancing, auto-scaling, and
deploying your web app.
- You no
longer have to manage the operating system, middleware, or runtime
environment – it’s all handled by AWS Elastic Beanstalk.
4. Storing Data in
the Cloud
Your e-commerce application needs a database to store product information and user details. You use:
- Amazon RDS (Relational Database
Service) for SQL databases, where all user transactions and order
histories are stored securely.
- Amazon DynamoDB to handle
non-relational data such as customer session information, user
preferences, and product reviews.
5. Content Delivery
& Scaling
To ensure that your web app loads quickly for users around the world, you use Amazon CloudFront (a Content Delivery Network, CDN) to cache copies of your web pages and deliver them to users from data centers closest to them.
- You enable auto-scaling
on your EC2 instances to handle traffic spikes. For example, during a
Black Friday sale, the cloud platform will automatically add more servers
as traffic increases and remove them when traffic reduces.
6. Security and
Compliance
You secure your application by:
- Using AWS
Identity and Access Management (IAM) to create roles and
permissions for different team members. For example, your developers have
access to the code, while the marketing team has access to customer
analytics.
- Encrypting
all customer data stored in your database using AWS Key Management
Service (KMS).
- Implementing
multi-factor authentication (MFA) for administrators to prevent
unauthorized access.
7. Monitoring and
Optimizing
You use AWS CloudWatch to monitor the health of your web application. It tracks CPU usage, memory, traffic, and logs any errors.
- You also
use AWS Cost Explorer to see how much you’re spending on
cloud services and optimize costs by choosing the right instance sizes and
adjusting storage needs.
8. Scaling Further
with Microservices and Containers
As your e-commerce platform grows, you decide to break the application into smaller, independent components using microservices. You deploy each service (e.g., product service, payment service, user service) as a Docker container using AWS Fargate or Amazon Elastic Kubernetes Service (EKS).
- This allows
you to scale individual components of your application separately.
9. Serverless
Computing for Special Functions
For occasional tasks like sending an email confirmation when someone places an order, you decide to use AWS Lambda (serverless computing). You write small functions that execute automatically when an order is placed without having to manage the infrastructure.
- This
approach is cost-effective because you only pay when the function is
executed, rather than paying for always-running servers.
10. Disaster
Recovery and Backups
You ensure your application is protected against data loss by setting up automated backups using Amazon RDS and storing snapshots of your database. You also enable cross-region replication, meaning if one region (e.g., a data center in the US) goes down, your application can still function from another region (e.g., Europe).
Comments
Post a Comment