CC Module2 Part2
CC Module2 Part2
Index:
Cloud-based services are computing resources provided over the internet, allowing users to run
applications, store data, and access IT services without using local hardware. It is a model that delivers
computing resources such as servers, storage, and software over the internet on demand, eliminating the
need for local infrastructure.
Users can get and use resources whenever they need, without waiting for anyone.
Services are accessible over the internet from multiple devices like laptops, smartphones, and tablets.
Computing resources are shared across multiple users, with resources dynamically allocated based
on demand.
Resources can be quickly scaled up or down to meet workload demands.
Users are billed only for the resources they use, reducing unnecessary costs.
1. Software as a Service(SaaS)
Software as a Service (SaaS) is a cloud computing model in which software applications are delivered over
the internet and accessed through a web browser, eliminating the need for local installation, maintenance, or
updates. The service provider manages the application, infrastructure, and security, while users pay on a
usage or subscription basis.
Cloud-based Access and Subscription Model
With SaaS, businesses only pay for the software they use often on a monthly or annual subscription basis.
The subscription model is advantageous as it allows businesses to access cutting-edge software without
upfront costs. Additionally, the software can be accessed from anywhere, enabling remote work and
collaboration, which is especially important in today’s dynamic business environment.
Accessible through a web browser
Pay-as-you-go or subscription-based pricing
Can be accessed anytime, anywhere
Also known as web-based or on-demand software
Example: Google Docs is a SaaS application where users can create and edit documents online without
installation, while Google handles storage and updates.
Advantages
CSE 336 CLOUD COMPUTING
2. Platform as a Service
Platform as a Service (PaaS) is a cloud computing model that provides developers with a ready-to-use
platform for building, testing, deploying, and managing applications without worrying about underlying
hardware, operating systems, or infrastructure. The service provider manages servers, storage, and runtime
environments, allowing developers to focus only on application logic.
How does Platform as a Service(PaaS) work?
Platform as a Service (PaaS) makes it easier for developers to create, test and deploy applications by
providing a cloud-based environment packed with tools, services and infrastructure. Here's a simple
breakdown of how it works:
1. Core Infrastructure
PaaS is built on cloud infrastructure provided by platforms like AWS, Microsoft Azure and Google Cloud.
The provider handles everything behind the scenes, including servers, storage, and networking.
Servers: The provider manages hardware, load balancing and scaling for you.
Storage: Applications and data are stored in secure cloud data centers.
Networking: The provider ensures secure, fast communication between resources.
2. Built-In Platform Services
On top of the infrastructure PaaS offers all the tools and services you need to develop and run applications:
Operating Systems: Pre-configured systems like Linux or Windows.
Runtime Environments: Ready-to-use environments for languages like Java, Python, [Link],
Ruby or .NET.
Middleware: Services like caching, authentication and messaging for applications.
Development Tools: Access to code editors, debugging tools, and CI/CD pipelines to streamline
coding and deployment.
3. Simplified Development and Deployment
PaaS takes care of the heavy lifting in the development process:
CSE 336 CLOUD COMPUTING
Development: You can write code using built-in frameworks and tools. For example, a developer
might use [Link] and connect it to a pre-configured MySQL database.
Testing: Applications can be tested in sandbox environments that simulate real-world conditions.
Deployment: PaaS automates the deployment process with CI/CD pipelines, making it easy to push
updates and changes.
Example: PaaS is like renting a fully equipped venue for an event—basic setup is already done, so you can
concentrate on organizing the event. Similarly, developers focus on coding while the provider handles
backend infrastructure.
Advantages
Simple and convenient: No infrastructure management required.
Cost-effective: Pay only for resources used.
Full lifecycle support: Helps in building, testing, deploying, and updating applications.
Higher efficiency: Reduces development complexity and time.
Disadvantages
Limited infrastructure control: Restricted customization options.
Provider dependency: Availability and reliability depend on the vendor.
Limited flexibility: Not suitable for all application types.
Popular PaaS Providers: AWS Elastic Beanstalk, Google App Engine, Azure App Service, Salesforce
Platform ([Link]), CloudBees, IBM Cloud
3. Infrastructure as a Service
Infrastructure as a Service (IaaS) is a cloud computing model in which virtualized computing resources such
as servers, storage, and networking are provided over the internet on a rental basis. The cloud provider
manages the physical infrastructure, while users control the operating system, applications, and data.
How does IaaS Architecture Work ?
Here's a step-by-step overview of how IaaS typically operates:
On-Demand Access: With IaaS, users can get to processing resources on-demand, allowing them to
rapidly arrangement and deploy infrastructure components depending on the situation. This disposes
of the requirement for forthright interest in equipment and empowers quick scaling to meet changing
workload demands.
Self-Service Provisioning: IaaS platforms offer self-support interfaces, for example, online
interfaces or APIs, that empower users to freely arrangement and manage systems resources. This
self-service model engages users to control their infrastructure deployments without depending on IT
administrators.
Scalability: IaaS platforms regularly offer level adaptability, allowing users to scale resources up or
down based on demand, this adaptability ensures that associations can deal with changes in
responsibility without encountering margin time or execution corruption.
Pay-Per-Use Billing: IaaS providers normally utilize a pay-per-use billing model, where users are
charged on their actual use of computing resources, this utilization based estimating model offers
CSE 336 CLOUD COMPUTING
cost effectiveness, as associations just compensation for the resources they consume, as opposed to
putting resources into excess limit.
Example: IaaS is like renting a server instead of buying one. You use the provider’s hardware and network,
but you decide what software or website runs on it.
Advantages
Cost-effective: No need to buy physical hardware.
Flexible hosting: Suitable for websites and applications.
Reduced maintenance: Provider manages data centers and hardware.
Scalable: Resources can be increased or decreased as needed.
Disadvantages
Security responsibility: Users must secure their own data and apps.
Limited infrastructure control: Physical infrastructure is provider-managed.
Regional limitations: Availability may vary due to legal or policy issues.
Popular IaaS Providers: Amazon Web Services (AWS), Microsoft Azure, Google Cloud, IBM Cloud,
Rackspace, VMware.
4. Anything as a Service
Anything or Everything as a Service (XaaS) is a broad cloud computing model in which a wide range of IT
services—including infrastructure, platforms, software, storage, security, and networking—are delivered
over the internet on a pay-as-you-use basis. It represents the combination and extension of SaaS, PaaS,
IaaS, and other cloud services.
Example: A company uses AWS for virtual servers (IaaS), Google Workspace for email and documents
(SaaS), and Firebase for backend services (PaaS). Using all these services together is an example of XaaS.
Advantages
Scalable: Services can be easily scaled as needed.
Flexible: Offers a wide variety of on-demand services.
Cost-effective: Users pay only for the services they consume.
Disadvantages
Provider dependency: Service availability depends on the cloud provider.
Limited flexibility: Some workloads may not be supported.
Integration issues: Compatibility with existing systems can be challenging.
CSE 336 CLOUD COMPUTING
Cloud Computing has now become an essential part of modern businesses, offering flexibility, scalability,
and cost-effective solutions. But Selecting the most appropriate cloud deployment model is essential to
utilize the complete potential of cloud services. Whether you're a small business or a large enterprise,
choosing the right cloud model can affect your security, scalability, and operational efficiency.
i. Public Cloud
The public cloud makes it possible for anybody to access systems and services. The public cloud may be
less secure as it is open to everyone. The public cloud is one in which cloud infrastructure services are
provided over the internet to the general people or major industry groups. The infrastructure in this cloud
model is owned by the entity that delivers the cloud services, not by the consumer. It is a type of cloud
hosting that allows customers and users to easily access systems and services. This form of cloud
computing is an excellent example of cloud hosting, in which service providers supply services to a variety
of customers. In this arrangement, storage backup and retrieval services are given for free, as a
subscription, or on a per-user basis. For example, Google App Engine etc.
No setup cost: The entire infrastructure is fully subsidized by the cloud service providers, thus there
is no need to set up any hardware.
Infrastructure Management is not required: Using the public cloud does not necessitate
infrastructure management.
No maintenance: The maintenance work is done by the service provider (not users).
Dynamic Scalability: To fulfill your company's needs, on-demand resources are accessible.
Disadvantages of the Public Cloud Model
Less secure: Public cloud is less secure as resources are public so there is no guarantee of high-level
security.
Low customization: It is accessed by many public so it can't be customized according to personal
requirements.
v. Multi-Cloud
We're talking about employing multiple cloud providers at the same time under this paradigm, as the name
implies. It's similar to the hybrid cloud deployment approach, which combines public and private cloud
resources. Instead of merging private and public clouds, multi-cloud uses many public clouds. Although
public cloud providers provide numerous tools to improve the reliability of their services, mishaps still
occur. It's quite rare that two distinct clouds would have an incident at the same moment. As a result, multi-
cloud deployment improves the high availability of your services even more.
Multi-Cloud
Advantages of the Multi-Cloud Model
You can mix and match the best features of each cloud provider's services to suit the demands of
your apps, workloads, and business by choosing different cloud providers.
Reduced Latency: To reduce latency and improve user experience, you can choose cloud regions
and zones that are close to your clients.
High availability of service: It's quite rare that two distinct clouds would have an incident at the
same moment. So, the multi-cloud deployment improves the high availability of your services.
Disadvantages of the Multi-Cloud Model
Complex: The combination of many clouds makes the system complex and bottlenecks may occur.
Security issue: Due to the complex structure, there may be loopholes to which a hacker can take
advantage hence, makes the data insecure.
Community
Factors Public Cloud Private Cloud Cloud Hybrid Cloud
Scalability
High High Fixed High
and Flexibility
Google Cloud Platform (GCP) is a set of cloud services provided by Google, built on the same
technology that powers Google services like Search, Gmail, YouTube, Google Docs, and Google Drive.
Many companies prefer GCP because it can be up to 20% cheaper for storing data and databases compared
to other cloud providers like AWS.
Google Cloud Platform (GCP) is a suite of cloud computing services offered by Google that runs on the
same global infrastructure used by Google products like Search, Gmail, and YouTube. It provides services
for computing, storage, networking, databases, machine learning, big data, and security, enabling
organizations to build, deploy, and scale applications efficiently.
code editor, 5 GB of persistent storage, and pre-installed tools, including the gcloud CLI. It supports
multiple programming languages like Java, Python, Go, [Link], and more.
3. Client Libraries
Google Cloud also offers client libraries that simplify resource management and application development.
These libraries expose APIs tailored to specific languages such as Python and [Link], allowing you to
interact with GCP services more intuitively. Client libraries are available for:
App APIs for accessing services with less code and seamless integration with GCP.
Admin APIs for managing resources, ideal for building automation tools.
Additionally, these libraries can be used for services like Google Maps, Drive, and YouTube.
Storage Services
Used to store structured and unstructured data.
Cloud Storage – Object storage for files, images, videos, backups
Persistent Disk – Block storage for VM instances
Filestore – Managed file storage for applications
Database Services
Managed databases for different use cases.
Cloud SQL – Managed MySQL, PostgreSQL, SQL Server
Cloud Spanner – Globally distributed relational database
Firestore – NoSQL document database
Bigtable – Wide-column NoSQL database for large-scale workloads
Networking Services
Provides secure and fast networking.
Virtual Private Cloud (VPC) – Private network for GCP resources
Cloud Load Balancing – Distributes traffic across instances
CSE 336 CLOUD COMPUTING
Security in GCP
GCP follows a shared responsibility model and provides:
IAM (Identity and Access Management) – Role-based access control
Encryption – Data encrypted at rest and in transit
Cloud Security Command Center – Threat detection and monitoring
Compliance – ISO, SOC, GDPR, HIPAA support
Pricing Model
GCP uses a pay-as-you-use pricing strategy:
No upfront cost
Sustained use discounts
Committed use discounts
Free tier for selected services
Limitations of GCP
Smaller market share compared to AWS
Limited learning resources compared to competitors
Complex pricing for beginners
CSE 336 CLOUD COMPUTING
A scalable runtime environment, Google App Engine is mostly used to run Web applications. These
dynamic scales as demand change over time because of Google's vast computing infrastructure. Because it
offers a secure execution environment in addition to a number of services, App Engine makes it easier to
develop scalable and high-performance Web apps. Google's applications will scale up and down in
response to shifting demand. Croon tasks, communications, scalable data stores, work queues, and in-
memory caching are some of these services.
The App Engine SDK facilitates the testing and professionalization of applications by emulating the
production runtime environment and allowing developers to design and test applications on their own PCs.
When an application is finished being produced, developers can quickly migrate it to App Engine, put in
place quotas to control the cost that is generated, and make the programmer available to everyone. Python,
Java, and Go are among the languages that are currently supported.
The development and hosting platform Google App Engine, which powers anything from web
programming for huge enterprises to mobile apps, uses the same infrastructure as Google's large-scale
internet services. It is a fully managed PaaS (platform as a service) cloud computing platform that uses in-
built services to run your apps. You can start creating almost immediately after receiving the software
development kit (SDK). You may immediately access the Google app developer's manual once you've
chosen the language you wish to use to build your app.
After creating a Cloud account, you may Start Building your App
Using the Go template/HTML package
Python-based webapp2 with Jinja2
PHP and Cloud SQL
using Java's Maven
Google Cloud SQL, logs, datastore, dedicated Memcached, blob store, Memcached, and search are
included in the categories of data storage, retrieval, and search.
Features in Preview
In a later iteration of the app engine, these functions will undoubtedly be made broadly accessible.
However, because they are in the preview, their implementation may change in ways that are
backward-incompatible. Sockets, MapReduce, and the Google Cloud Storage Client Library are a
few of them.
Experimental Features
These might or might not be made broadly accessible in the next app engine updates. They might be
changed in ways that are irreconcilable with the past. The "trusted tester" features, however, are only
accessible to a limited user base and require registration in order to utilize them. The experimental
features include Prospective Search, Page Speed, OpenID, Restore/Backup/Datastore Admin, Task
Queue Tagging, MapReduce, and Task Queue REST API. App metrics analytics, datastore
admin/backup/restore, task queue tagging, MapReduce, task queue REST API, OAuth, prospective
search, OpenID, and Page Speed are some of the experimental features.
Third-Party Services
As Google provides documentation and helper libraries to expand the capabilities of the app engine
platform, your app can perform tasks that are not built into the core product you are familiar with as
app engine. To do this, Google collaborates with other organizations. Along with the helper libraries,
the partners frequently provide exclusive deals to app engine users.
CSE 336 CLOUD COMPUTING
AWS is Amazon’s leading cloud platform, offering 200+ managed services on secure, globally distributed,
highly available infrastructure, and it’s trusted worldwide to build, run, and scale everything from simple
websites to enterprise systems
Widely used by top companies and startups globally.
Powers major services like Netflix, LinkedIn, NASA.
Offers hands-on cloud experience with real infrastructure.
Scalable, secure, and cost-effective platform to build apps.
Accessing AWS
Once your account is ready, you need to interact with AWS services to build and manage your
applications.
Computing in AWS
After IAM, learn AWS compute: run your apps, sites, or scripts on AWS cloud servers instead of
local machines. This section introduces AWS computing services and guides you on how to use
them to deploy and manage your applications efficiently.
Section 1: AWS EC2 - Virtual Servers
EC2 is AWS’s first compute service, offering customizable virtual servers where you
choose CPU, memory, and storage to run your applications. Learn what EC2 is, how to
create and manage instances, understand pricing models, and how to securely connect to
your servers using the below references.
Section 2: AWS Elastic Bean Stalk - Simplified App Deployment
Use AWS Elastic Beanstalk to deploy and manage apps it automates provisioning, scaling,
storage setup, health-based replacements, and security tasks.
Section 3- AWS AMI
To speed up server creation, Amazon Machine Images (AMIs) are preconfigured templates
(OS + software) that let you quickly launch consistent, repeatable servers.
Section 4 - AWS Lambda (Serverless)
Managing servers can be complex and time-consuming. AWS Lambda lets you run event-
driven code without managing servers build functions, trigger them from services (e.g., S3,
DynamoDB), and scale cost-effectively.
Section 5 - Other Elastic Computes (ECS, EKS, ECR)
Modern applications increasingly use containers- lightweight, portable packages for
running software. Use containers on AWS with ECS (orchestration), EKS (managed
Kubernetes), and ECR (image registry) to build/deploy/scale apps—and know storage: EBS
(block) vs EFS (shared).
CSE 336 CLOUD COMPUTING
EC2 stands for Elastic Compute Cloud is a service from Amazon Web Services (AWS). EC2 is an on-
demand computing service on the AWS cloud platform called instances. It lets you rent virtual computers
to run your applications. You pay only for what you use.
The name itself explains its core value:
Elastic: You can easily increase or decrease the number of instances or their size as your needs
change.
Compute: It provides the processing power, memory, and storage for your workloads.
Cloud: It runs on AWS's massive, global data center infrastructure.
2. Instance Types
Instance types are the hardware profiles of your virtual server. AWS offers a vast array of instance types
optimized for different tasks, grouped into families:
t family (e.g., [Link], [Link]): General Purpose, burstable instances. Perfect for web servers,
development environments, and small databases.
m family (e.g., [Link]): General Purpose, balanced instances with a good mix of CPU, memory,
and networking.
c family (e.g., [Link]): Compute Optimized, with a high ratio of CPU power to memory. Ideal for
CPU-intensive tasks like batch processing, media transcoding, and scientific modeling.
r family (e.g., [Link]): Memory Optimized, with a high ratio of memory to CPU. Used for
memory-intensive applications like large databases or in-memory caches.
4. Security Groups
A Security Group acts as a virtual firewall for your EC2 instance, controlling all inbound and outbound
traffic. You define rules that specify which protocols (e.g., SSH, HTTP), ports (e.g., 22, 80), and IP address
ranges are allowed to send traffic to or receive traffic from your instance.
5. Key Pairs
A Key Pair, consisting of a public key and a private key, is the set of security credentials used to prove
your identity when connecting to a Linux EC2 instance. AWS stores the public key, and you are responsible
for securely storing the private key file (.pem). You will use this private key to SSH into your instance.