Cloud Application Development
Cloud Application Development
Development
(UNIT-1:Introduction)
1
What is Cloud Computing?
2
Who is using cloud computing?
• Organizations of every type, size, and industry are using the cloud for a wide
variety of use cases, such as data backup, disaster recovery, email, virtual
desktops, software development and testing, big data analytics, and
customer-facing web applications.
• For example, healthcare companies are using the cloud to develop more
personalized treatments for patients. Financial services companies are using
the cloud to power real-time fraud detection and prevention. And video game
makers are using the cloud to deliver online games to millions of players
around the world.
3
Benefits of cloud computing
Agility
• The cloud gives you easy access to a broad range of technologies so that you
can innovate faster and build nearly anything that you can imagine. You can
quickly spin up resources as you need them–from infrastructure services, such
as compute, storage, and databases, to Internet of Things, machine learning,
data lakes and analytics, and much more.
• You can deploy technology services in a matter of minutes, and get from idea
to implementation several orders of magnitude faster than before. This gives
you the freedom to experiment, test new ideas to differentiate customer
experiences, and transform your business.
4
Benefits of cloud computing
Elasticity
With cloud computing, you don’t have to over-provision resources up front to
handle peak levels of business activity in the future. Instead, you provision the
amount of resources that you actually need. You can scale these resources up or
down to instantly grow and shrink capacity as your business needs change.
Cost savings
The cloud allows you to trade fixed expenses (such as data centers and physical
servers) for variable expenses, and only pay for IT as you consume it. Plus, the
variable expenses are much lower than what you would pay to do it yourself
because of the economies of scale.
5
Benefits of cloud computing
Deploy globally in minutes
With the cloud, you can expand to new geographic regions and deploy globally
in minutes. For example, AWS has infrastructure all over the world, so you can
deploy your application in multiple physical locations with just a few clicks.
Putting applications in closer proximity to end users reduces latency and
improves their experience.
6
Evolution of Cloud Computing
1. Mainframe Computing
• Era: 1950s–1970s
• Description: Centralized computing systems with powerful processors used
mainly by large organizations.
• Access: Terminals (also called "dumb terminals") were used to access the
central mainframe.
• Characteristics:
• High reliability
• Centralized control
• Expensive hardware and maintenance
• Limitation: Expensive, limited scalability, Requires specialized personnel, Lacks
flexibility for modern distributed systems.
7
Evolution of Cloud Computing
2. Cluster Computing
• Era: 1980s–1990s
• Description: Group of interconnected computers (nodes) that work together
as a single system.
• Purpose: To improve performance and availability through parallel processing.
• Characteristics:
• Improved fault tolerance
• Load balancing and scalability
• Cost-effective compared to mainframes
• Use Case: Scientific simulations, financial modeling, data analysis
8
Evolution of Cloud Computing
3. Grid Computing
• Era: Late 1990s
• Description: Distributed computing model where resources across multiple
administrative domains are shared to solve complex tasks.
• Goal: To create a virtual supercomputer by linking geographically dispersed
systems.
• Characteristics:
• Heterogeneous systems connected via the internet
• Focus on resource sharing and collaboration
• Resource scheduling and allocation were key challenges
• Use Case: Research, large-scale computations, data-intensive applications
9
Evolution of Cloud Computing
4. Utility Computing
• Era: Early 2000s
• Description: A pay-per-use model of computing resources similar to public
utilities like water or electricity.
• Main Idea: Organizations pay only for what they use, when they use it.
• Characteristics:
• Metered usage
• Resource pooling and dynamic allocation
• Emergence of virtualization technologies
• Impact: Paved the way for scalable and flexible computing services
10
Evolution of Cloud Computing
5. Cloud Computing
• Era: Mid-2000s to Present
• Description: Delivery of computing services (servers, storage, databases, networking,
software, etc.) over the internet on a pay-as-you-go basis.
• Key Characteristics:
• On-demand self-service: Users can provision resources without human intervention.
• Broad network access: Services are accessible via standard devices over the internet.
• Resource pooling: Multiple customers share resources, dynamically assigned.
• Rapid elasticity: Resources can be scaled up/down quickly.
• Measured service: Usage is monitored, controlled, and reported.
• Deployment Models: Public, Private, Hybrid, Community
• Service Models: IaaS, PaaS, SaaS
• Examples: AWS, Microsoft Azure, Google Cloud Platform
11
Evolution of Cloud Computing
12
Types of cloud computing services
13
Types of cloud computing
Platform as a Service (PaaS)
PaaS removes the need for you to manage underlying infrastructure (usually
hardware and operating systems), and allows you to focus on the deployment
and management of your applications. This helps you be more efficient as you
don’t need to worry about resource procurement, capacity planning, software
maintenance, patching, or any of the other undifferentiated heavy lifting
involved in running your application.
Software as a Service (SaaS)
SaaS provides you with a complete product that is run and managed by the
service provider. In most cases, people referring to SaaS are referring to
end-user applications (such as web-based email). With a SaaS offering, you
don’t have to think about how the service is maintained or how the underlying
infrastructure is managed. You only need to think about how you will use that
particular software.
14
What are cloud services?
• Cloud services are also called cloud managed services because the underlying
infrastructure is fully managed by AWS. All required hardware, operating
systems, and other infrastructure layers are stored and managed in highly
secure AWS data centers distributed around the globe. We purchase and
maintain all types of IT resources, making them available as services you can
access in your application code.
• AWS monitors and maintains cloud servers, storage, networks, databases, and
more, ensuring consistent performance and uptime. Beyond hardware
maintenance, we handle all types of IT operational tasks from load balancing
and patch management to disaster recovery and more.
• Today, thanks to AWS, anyone—from college students to enterprise
teams—can access cloud services at a fraction of the cost of managing
on-premises infrastructure. Anyone can build and deploy software without
heavy upfront IT infrastructure investments 16
System Models for Distributed and Cloud Computing
1. Cluster Computing Model
Description:
Cluster computing connects multiple computers (nodes) via a local network, working as a
single system. These nodes collaborate to perform parallel processing tasks.
Characteristics:
• Homogeneous systems (same OS and hardware)
• Centralized control
• High availability and fault tolerance
• Cost-effective compared to supercomputers
Use Cases:
• Scientific simulations
• Weather forecasting
• Data analytics
• Load balancing and high-performance computing (HPC)
17
System Models for Distributed and Cloud Computing
2. Grid Computing Model
Description:
Grid computing connects geographically distributed and heterogeneous resources to work on a
common task. Each resource retains its autonomy.
Characteristics:
• Decentralized
• Supports resource sharing across organizations
• Can be heterogeneous (different OS/hardware)
• Requires middleware to manage communication and scheduling
Limitations:
• Complex to manage
• Security concerns due to distributed nature
Use Cases:
• Scientific research collaborations
• Large-scale computations (e.g., CERN experiments)
• Virtual organizations 18
System Models for Distributed and Cloud Computing
3. Peer-to-Peer (P2P) Model
Description:
Each node (peer) in a P2P system acts as both a client and a server. There is no central
coordination.
Characteristics:
• Decentralized
• Scalable and fault-tolerant
• Resource sharing (e.g., storage, files)
Limitations:
• Security and trust management
• Latency and inconsistent availability
Use Cases:
• File sharing (e.g., BitTorrent)
• Blockchain and cryptocurrencies
• Distributed databases
19
System Models for Distributed and Cloud Computing
4. Client-Server Model
Description:
In this model, clients request services and servers provide them. It's a foundational model
for web-based applications.
Characteristics:
• Centralized control
• Clear role distinction (client vs server)
• Easy to manage and secure
Limitations:
• Single point of failure
• Limited scalability
Use Cases:
• Web applications
• Database systems
• Enterprise resource planning (ERP)
20
System Models for Distributed and Cloud Computing
5. Cloud Computing
Description:
Cloud computing delivers computing services (servers, storage, databases, networking, software,
analytics, etc.) over the internet on-demand, typically in a pay-per-use model.
Characteristics:
• Elastic scalability
• Self-service provisioning
• Broad network access
• Resource pooling and multi-tenancy
• Service models: IaaS, PaaS, SaaS
• Deployment models: Public, Private, Hybrid, Community
Limitations:
• Internet connectivity is essential
• Security and compliance concerns
• Vendor lock-in risk
• Latency issues in real-time applications 21
System Models for Distributed and Cloud Computing
5. Cloud Computing
Use Cases:
• Hosting websites and applications (e.g., AWS, Azure)
• Cloud-native app development
• Big data processing and analytics
• AI/ML model training
• Video streaming and content delivery
22
NIST Cloud Computing Reference Architecture (NIST CC RA)
23
NIST Cloud Computing Reference Architecture (NIST CC RA)
24
NIST Cloud Computing Reference Architecture (NIST CC RA)
The architecture identifies five major actors (roles) in the cloud computing environment,
each with distinct responsibilities:
• Cloud Consumer: A cloud consumer is an individual or organization that uses services
provided by cloud providers. This role maintains a business relationship with the
provider and utilizes their cloud services.
Example: A company using cloud-based storage for its data or a software application
hosted on a cloud platform.
• Cloud Provider: A cloud provider is an entity responsible for offering cloud services to
users. Providers manage the infrastructure, platforms, or software that consumers use.
Example: Amazon Web Services (AWS), Microsoft Azure, or Google Cloud
Platform(GCP).
• Auditor: A cloud auditor is an independent entity that assesses cloud services to ensure they
meet certain standards for performance, security, and compliance.
Example: A third-party security firm that performs security audits of cloud service
implementations. 25
NIST Cloud Computing Reference Architecture (NIST CC RA)
• Cloud Broker: A cloud broker manages the delivery and performance of cloud services,
often negotiating between cloud consumers and providers. They might aggregate,
integrate, or customize services.
Example: A company that provides a marketplace where businesses can compare and
purchase cloud services from different providers
• Cloud Carrier: A cloud carrier provides the connectivity and transport necessary for
delivering cloud services from providers to consumers. They manage the network
infrastructure and ensure reliable communication
Example: An Internet Service Provider (ISP) that offers the network connection
through which cloud services are accessed.
26
NIST Cloud Computing Reference Architecture (NIST CC RA)
27
On-demand Provisioning
In cloud computing, on-demand provisioning (also known as dynamic
provisioning) allows users to access and allocate cloud resources (like
processing power, storage, and network bandwidth) on demand, as needed,
without requiring manual intervention or advance planning.
28
On-demand Provisioning
Effectively using of cloud computing
1. Over-provisioning: purchased resources are not fully utilized and cost
more than necessary.
2. Under-provisioning: purchased resources are not sufficient to meet the
actual demand hurts application performance.
29
On-demand Provisioning
Features
• Self-Service Access
• Users can request and configure resources via a web portal, command-line tools, or
APIs.
• No need to go through a manual setup process or contact IT support.
• Instant Availability
• Resources are provisioned in real time or near real time.
• For example, a virtual server can be up and running in minutes.
• Scalability
• Resources can be scaled up or down based on demand.
• Ideal for handling variable workloads (e.g., high traffic during a sale).
• Pay-as-You-Go Model
• Users are billed only for what they use.
• Helps avoid over-provisioning and reduces operational costs.
30
What is Cloud Elasticity?
• Cloud Elasticity is the property of a cloud to grow or shrink capacity for CPU,
memory, and storage resources to adapt to the changing demands of an
organization.
• Cloud Elasticity can be automatic, without need to perform capacity planning in
advance of the occasion, or it can be a manual process where the organization is
notified they are running low on resources and can then decide to add or reduce
capacity when needed.
• Monitoring tools offered by the cloud provider dynamically adjust the resources
allocated to an organization without impacting existing cloud-based operations.
• A cloud provider is said to have more or less elasticity depending on the degree to
which it is able to adapt to workload changes by provisioning or deprovisioning
resources autonomously to match demand as closely as possible.
• This eliminates the need for IT administration staff to monitor resources to
determine if additional CPU, memory, or storage resources are needed, or
whether excess capacity can be decommissioned.
31
What is Cloud Elasticity?
• Cloud Elasticity is often associated with horizontal scaling (scale-out)
architecture, and it generally associated with public cloud provider
resources that are billed on a pay-as-you-go basis.
• This approach brings real-time cloud expenditures more closely in
alignment with the actual consumption of cloud services, for example when
virtual machines (VMs) are spun up or down as demand for a particular
application or service varies over time.
• Cloud Elasticity provides businesses and IT organizations the ability to meet
any unexpected jump in demand, without the need to maintain standby
equipment to handle that demand.
• An organization that normally runs certain processes on-premises can
‘cloudburst’ to take advantage of Cloud Elasticity and meet that demand,
returning to on-premises operations only when the demand has passed.
Thus, the result of cloud elasticity is savings in infrastructure costs, in
human capital, and in overall IT costs. 32
Why is Cloud Elasticity Important?
• Without Cloud Elasticity, organizations would have to pay for capacity that
remained unused for most of the time, as well as manage and maintain that
capacity with OS upgrades, patches, and component failures.
• It is Cloud Elasticity that in many ways defines cloud computing and
differentiates it from other computing models such as client-server, grid
computing, or legacy infrastructure.
• Cloud Elasticity helps businesses avoid either over-provisioning (deploying
and allocating more IT resources than needed to serve current demands) or
under-provisioning (not allocating enough IT resources to meet existing or
imminent demands).
33
Why is Cloud Elasticity Important?
• Organizations that over-provision spend more than is necessary to meet
their needs, wasting valuable capital which could be applied elsewhere.
• Even if an organization is already utilizing the public cloud, without
elasticity, thousands of dollars could be wasted on unused VMs every year.
• Under-provisioning can lead to the inability to serve existing demand, which
could lead to unacceptable latency, user dissatisfaction, and ultimately loss
of business as customers abandon long and unresponsive online services
and take their business to more responsive organizations.
• In this way, the lack of Cloud Elasticity can lead to lost business and severe
bottom-line impacts.
34
How does Cloud Elasticity Work?
• Cloud Elasticity enables organizations to rapidly scale capacity up or down, either
automatically or manually. Cloud Elasticity can refer to ‘cloud bursting’ from
on-premises infrastructure into the public cloud for example to meet a sudden or
seasonal demand. Cloud Elasticity can also refer to the ability to grow or shrink
the resources used by a cloud-based application.
• If and when demand eases, capacity can be removed in minutes. In this manner,
organizations pay only for the amount of resources in use at any given time,
without the need to acquire or retire on-premises infrastructure to meet elastic
demand.
35
Cloud Deployment Model
• It works as your virtual computing environment with a choice of
deployment model depending on how much data you want to
store and who has access to the Infrastructure.
36
Cloud Deployment Model
Public Cloud
• The name says it all. It is accessible to the public. Public
deployment models in the cloud are perfect for organizations
with growing and fluctuating demands.
• It also makes a great choice for companies with low-security
concerns. Thus, you pay a cloud service provider for networking
services, compute virtualization & storage available on the public
internet.
• It is also a great delivery model for the teams with development
and testing. Its configuration and deployment are quick and
easy, making it an ideal choice for test environments.
37
38
Cloud Deployment Model
Benefits of Public Cloud
• Minimal Investment - As a pay-per-use service, there is no large upfront
cost and is ideal for businesses who need quick access to resources
• No Hardware Setup - The cloud service providers fully fund the entire
Infrastructure
• No Infrastructure Management - This does not require an in-house team
to utilize the public cloud.
Limitations of Public Cloud
• Data Security and Privacy Concerns - Since it is accessible to all, it does not
fully protect against cyber-attacks and could lead to vulnerabilities.
• Reliability Issues - Since the same server network is open to a wide range of
users, it can lead to malfunction and outages
• Service/License Limitation - While there are many resources you can
exchange with tenants, there is a usage cap.
39
Cloud Deployment Model
Private Cloud
• Now that you understand what the public cloud could offer you, of
course, you are keen to know what a private cloud can do.
Companies that look for cost efficiency and greater control over
data & resources will find the private cloud a more suitable choice.
• It means that it will be integrated with your data center and
managed by your IT team. Alternatively, you can also choose to
host it externally. The private cloud offers bigger opportunities that
help meet specific organizations' requirements when it comes to
customization. It's also a wise choice for mission-critical
processes that may have frequently changing requirements.
40
41
Cloud Deployment Model
Benefits of Private Cloud
• Data Privacy - It is ideal for storing corporate data where only
authorized personnel gets access
• Security - Segmentation of resources within the same Infrastructure can
help with better access and higher levels of security.
• Supports Legacy Systems - This model supports legacy systems that
cannot access the public cloud.
Limitations of Private Cloud
• Higher Cost - With the benefits you get, the investment will also be
larger than the public cloud. Here, you will pay for software, hardware,
and resources for staff and training.
• Fixed Scalability - The hardware you choose will accordingly help you
scale in a certain direction
• High Maintenance - Since it is managed in-house, the maintenance
costs also increase.
42
Cloud Deployment Model
Community Cloud
• The community cloud operates in a way that is similar to the public
cloud. There's just one difference - it allows access to only a
specific set of users who share common objectives and use
cases.
• This type of deployment model of cloud computing is managed
and hosted internally or by a third-party vendor. However, you can
also choose a combination of all three.
43
44
Cloud Deployment Model
Benefits of Community Cloud
• Smaller Investment - A community cloud is much cheaper than the
private & public cloud and provides great performance
• Setup Benefits - The protocols and configuration of a community
cloud must align with industry standards, allowing customers to
work much more efficiently.
Limitations of Community Cloud
• Shared Resources - Due to restricted bandwidth and storage
capacity, community resources often pose challenges.
• Not as Popular - Since this is a recently introduced model, it is not
that popular or available across industries
45
Cloud Deployment Model
Hybrid Cloud
• As the name suggests, a hybrid cloud is a combination of two or
more cloud architectures. While each model in the hybrid cloud
functions differently, it is all part of the same architecture.
• Further, as part of this deployment of the cloud computing model,
the internal or external providers can offer resources.
• Let's understand the hybrid model better. A company with critical
data will prefer storing on a private cloud, while less sensitive data
can be stored on a public cloud.
• The hybrid cloud is also frequently used for 'cloud bursting'. It
means, supposes an organization runs an application
on-premises, but due to heavy load, it can burst into the public
cloud. 46
47
Cloud Deployment Model
Benefits of Hybrid Cloud
• Cost-Effectiveness - The overall cost of a hybrid solution
decreases since it majorly uses the public cloud to store data.
• Security - Since data is properly segmented, the chances of data
theft from attackers are significantly reduced.
• Flexibility - With higher levels of flexibility, businesses can create
custom solutions that fit their exact requirements
Limitations of Hybrid Cloud
• Complexity - It is complex setting up a hybrid cloud since it needs
to integrate two or more cloud architectures
• Specific Use Case - This model makes more sense for
organizations that have multiple use cases or need to separate
critical and sensitive data
48
49
Cloud Service Models
There are the following three types of cloud service models -
• Infrastructure as a Service IaaS
• Platform as a Service PaaS
• Software as a Service SaaS
50
Cloud Service Models
Infrastructure as a Service (IaaS)
IaaS is also known as Hardware as a Service HaaS. It is a computing
infrastructure managed over the internet. The main advantage of using
IaaS is that it helps users to avoid the cost and complexity of purchasing
and managing the physical servers.
Characteristics of IaaS
There are the following characteristics of IaaS -
• Resources are available as a service
• Services are highly scalable
• Dynamic and flexible
• GUI and API-based access
• Automated administrative tasks
• Example: DigitalOcean, Linode, Amazon Web Services AWS, Microsoft
Azure, Google Compute Engine GCE, Rackspace, and Cisco 51
Cloud Service Models
Platform as a Service (PaaS)
PaaS cloud computing platform is created for the programmer to develop,
test, run, and manage the applications.
Characteristics of PaaS
There are the following characteristics of PaaS -
• Accessible to various users via the same development application.
• Integrates with web services and databases.
• Builds on virtualization technology, so resources can easily be scaled
up or down as per the organization's need.
• Support multiple languages and frameworks.
• Provides an ability to "Auto-scale".
• Example: AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com,
Google App Engine, Apache Stratos, Magento Commerce Cloud, and
OpenShift. 52
Cloud Service Models
Software as a Service (SaaS)
SaaS is also known as "on-demand software". It is a software in which
the applications are hosted by a cloud service provider. Users can
access these applications with the help of internet connection and web
browser.
Characteristics of SaaS
There are the following characteristics of SaaS -
• Managed from a central location
• Hosted on a remote server
• Accessible over the internet
• Users are not responsible for hardware and software updates. Updates
are applied automatically.
• The services are purchased on the pay-as-per-use basis
• Example: BigCommerce, Google Apps, Salesforce, Dropbox, ZenDesk,53
Cloud Service Models
Difference between IaaS, PaaS, and SaaS
54
Cloud Service Models
Advantages of Cloud Service Models
• Cost Efficiency: Cloud providers provide a pricing model that
permits customers to pay only for the sources they consume. This
gets rid of the need for advanced infrastructure investments and
allows price efficiency as businesses scale resources based totally
on need.
• Scalability: Cloud services provide the potential to scale sources
up or down speedily and respond to changing workloads and
commercial organization requirements. This flexibility ensures that
agencies can correctly manipulate fluctuating needs without
over-provisioning.
• Accessibility and Flexibility: Cloud computing allows one to get
access to applications and facts remotely from everywhere with
an internet connection. This fosters collaboration among
55
Cloud Service Models
Advantages of Cloud Service Models
• Rapid Deployment: Cloud provider models facilitate rapid
deployment of programs. Users can provision sources and deploy
programs quickly, decreasing time-to-market and allowing faster
innovation.
• Managed Services: Cloud providers offer more than a few
managed offerings, managing duties together with safety,
tracking, and safety. This helps agencies dump operational
obligations, pay attention to relevant skills, and experience the
records of cloud carriers.
• Automatic Updates and Patch Management: Cloud providers
manipulate software application updates, patches, and protection
functions robotically. This ensures that clients always have to get
proper entry to the required abilities and protection upgrades
56
Cloud Service Models
Disadvantages of Cloud Service Models
• Security Concerns: Security remains a top concern for companies
moving to the cloud. Storing information and programs on
out-of-door servers will increase questions on statistics'
privateness, regulatory compliance, and the functionality of
unauthorized access.
• Dependency on Internet Connectivity: Cloud services require a
reliable internet connection. Downtime or disruptions in internet
connectivity can impact the right to access essential applications
and information, affecting business operations.
• Limited Customization in SaaS While SaaS offers convenience, it
is able to lack the extent of customization that a few organizations
require. Users depend on the capabilities and configurations
supplied by the useful resources of the SaaS company, restricting
57
Cloud Service Models
Disadvantages of Cloud Service Models
• Data Transfer Costs: Moving huge volumes of records from the
cloud can require extra charges. Organizations need to cautiously
recollect and manipulate facts and switch fees, in particular at the
same time as dealing with enormous amounts of records.
• Vendor Lock-In: Adopting certain cloud providers can also result
in provider lock-in, wherein it becomes hard to migrate packages
and statistics to a different employer or again to on-premises
surroundings. This can limit flexibility and cause lengthy periods of
dependence on a specific cloud organization.
• Potential for Downtime: Cloud company companies may also
experience outages or downtime, impacting the supply of
services. While respectable businesses try for immoderate
availability, occasional disruptions can occur, affecting users who
get proper entry to agency continuity 58
Cloud Service Providers
• A cloud service provider CSP) is a company that offers cloud
computing services such as storage, databases, and infrastructure
at scale to organizations.
• AWS, Microsoft Azure, and Google Cloud Provider GCP represent
the Big Three of cloud service providers, with AWS controlling
32% of the market share as of 2023.
• Many organizations rely on a multicloud strategy. Implementing
multicloud strategies gives organizations the edge in terms of
having increased control over where and how their data is being
stored and used.
• Cloud service providers CSPs play a pivotal role in modern
business by offering scalable, on-demand computing resources
and services. They facilitate the transition from traditional
on-premises infrastructure to cloud-based solutions, enhancing
operational efficiency, cost-effectiveness, and flexibility. 59