KEMBAR78
Unit 3 CC | PDF | Cloud Computing | Software As A Service
0% found this document useful (0 votes)
210 views18 pages

Unit 3 CC

Uploaded by

Shruti Kadam
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)
210 views18 pages

Unit 3 CC

Uploaded by

Shruti Kadam
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/ 18

Cloud Computing Platforms: Overview

Cloud computing is a revolutionary technology that has transformed


the IT landscape over the past decade. It allows users to access
computing resources such as servers, storage, databases, networking,
software, and more over the internet. The major types of cloud service
models include Infrastructure as a Service (IaaS), Platform as a Service
(PaaS), and Software as a Service (SaaS).

1. Infrastructure as a Service (IaaS)

 IaaS provides users with the most control over cloud resources,
offering a virtualized environment where users can run their own
software, including operating systems and applications, without
managing the underlying hardware.
 IaaS allows users to provision computing resources like virtual
machines (VMs), storage, and networking on-demand, providing
scalability and flexibility. It's particularly useful for businesses that
want to avoid the cost and complexity of managing physical
servers.

2. Platform as a Service (PaaS)

 PaaS offers a higher level of abstraction, focusing on providing a


development platform where users can create, run, and manage
applications without worrying about the infrastructure. The
platform typically includes operating systems, databases, web
servers, and development tools.
 PaaS is ideal for developers who need to focus on building and
deploying applications without the hassle of managing
infrastructure, allowing for faster development cycles and
reduced time to market.

3. Software as a Service (SaaS)


 SaaS delivers complete software applications over the internet,
where users can access them via a web browser or other client
application. The underlying infrastructure, platforms, and
software are all managed by the cloud provider.
 SaaS solutions are generally subscription-based and allow users to
access software applications without worrying about installation,
maintenance, or updates.

3.1 Infrastructure as a Service (IaaS): Amazon EC2

Amazon Elastic Compute Cloud (EC2) is one of the flagship products of


Amazon Web Services (AWS). It is a highly scalable cloud computing
platform that provides users with resizable compute capacity in the
cloud. As an IaaS product, it offers the most control over the
infrastructure, allowing businesses to run and scale applications, store
data, and manage networking resources.

Overview of Amazon EC2

Amazon EC2 is primarily designed to provide virtualized computing


resources, enabling users to quickly deploy and manage scalable web
applications without the need for physical hardware. EC2 operates
within the broader AWS ecosystem, integrating with services like
Amazon S3 (Simple Storage Service), Amazon RDS (Relational Database
Service), and Amazon VPC (Virtual Private Cloud).

Key Features of Amazon EC2:

1. Virtual Machine Instances (Instances):


o EC2 offers a wide array of instance types, each optimized for
specific use cases. These include general-purpose instances
(e.g., t3, m5), compute-optimized (e.g., c5), memory-
optimized (e.g., r5), and storage-optimized (e.g., i3).
o Users can select instance types based on the application
workload (e.g., CPU-intensive tasks, memory-heavy
applications, or high storage requirements).
2. Elasticity:
o EC2 allows users to scale horizontally (adding more
instances) or scale vertically (upgrading the size of
instances). With Auto Scaling, instances can be added or
removed based on demand. This helps organizations handle
traffic spikes while optimizing costs.
3. Pay-as-you-go Pricing:
o EC2 follows a pay-per-use pricing model, where users only
pay for the compute capacity they use. This eliminates
upfront costs associated with traditional physical
infrastructure.
o Pricing models include On-Demand Instances (pay-per-hour
or second), Reserved Instances (commit for one to three
years for discounts), and Spot Instances (bid for unused
capacity at a lower price).
4. Storage Options:
o EC2 instances can use Amazon Elastic Block Store (EBS) for
persistent block-level storage, offering low-latency and high-
performance storage for critical data.
o Amazon S3 can be integrated for object storage needs, while
EC2's instance store offers temporary storage that is fast but
volatile.
5. Networking:
o EC2 integrates seamlessly with Amazon VPC, allowing users
to create isolated networks within the cloud. VPC provides
features like subnets, IP ranges, route tables, and internet
gateways to secure network traffic.
o EC2 supports Elastic Load Balancers (ELB) to distribute
incoming traffic evenly across multiple instances.
6. Security:
o Security in EC2 is managed through security groups (acting
as virtual firewalls), network access control lists (ACLs), and
Identity and Access Management (IAM) to control
permissions.
o Data in EC2 is encrypted at rest using AWS KMS (Key
Management Service) and can be encrypted in transit using
SSL/TLS protocols.

Use Cases of Amazon EC2:

1. Web Hosting:
o EC2 can host websites, applications, and services, allowing
businesses to launch websites that automatically scale
during high traffic periods. The load balancing feature and
auto-scaling help ensure seamless performance.
2. Data Processing:
o EC2 provides the necessary computational power to run
large-scale data processing tasks. When integrated with
services like Amazon EMR, it can handle big data processing
jobs, such as machine learning or data analytics.
3. Development and Testing:
o Developers can quickly create and destroy instances to
develop, test, and deploy applications without the overhead
of maintaining physical servers. EC2’s flexibility allows rapid
prototyping and testing of various configurations.

3.2 Platform as a Service (PaaS): Google App Engine

Google App Engine (GAE) is a Platform as a Service (PaaS) offering by


Google Cloud Platform (GCP) that allows developers to build and deploy
applications without managing the underlying hardware. GAE abstracts
the infrastructure layer, so users can focus on code rather than
operational details.

Overview of Google App Engine (GAE):

Google App Engine was introduced in 2008 and is designed for


developers who want to deploy applications without dealing with the
complexity of managing infrastructure. GAE is known for its simplicity,
scalability, and integrated tools, allowing developers to focus on writing
code while Google manages the hardware, networking, and storage
aspects.

Key Features of Google App Engine:

1. Managed Infrastructure:
o Google manages all aspects of the infrastructure, including
scaling, load balancing, and health monitoring. This allows
developers to focus entirely on writing and deploying code.
2. Automatic Scaling:
o App Engine automatically adjusts the number of instances
based on incoming traffic. It can scale up to handle high
traffic loads and scale down during periods of inactivity,
ensuring efficient resource usage.
3. Support for Multiple Languages:
o GAE natively supports several programming languages,
including Python, Java, Node.js, Go, Ruby, and PHP. For
languages not supported out of the box, developers can use
custom runtimes with Docker containers.
4. Integrated Databases:
o GAE integrates with several Google Cloud services, including
Cloud Datastore (a NoSQL database), Cloud SQL (relational
database), and Google Cloud Firestore for scalable, real-time
databases.
5. Version Control:
o Developers can deploy multiple versions of their application
simultaneously, allowing for testing and rollbacks. GAE
offers traffic splitting, which allows you to direct a
percentage of traffic to a particular version for A/B testing.
6. Security:
o GAE provides built-in security features like HTTPS, data
encryption at rest, and IAM (Identity and Access
Management) for controlling user permissions. It also
integrates with Google Cloud Armor for DDoS protection.
7. Application Services:
o GAE integrates with various Google services such as Google
Cloud Pub/Sub (for event-driven architecture), Google Cloud
Tasks (for task queue management), and Google Cloud
Monitoring for real-time insights into application
performance.

Use Cases of Google App Engine:

1. Web Applications:
o App Engine is ideal for hosting scalable web applications
where traffic may fluctuate. It handles backend services,
databases, and storage, allowing developers to focus on the
application's functionality.
2. Microservices Architecture:
o GAE supports microservices architecture, allowing
organizations to deploy independent services that scale
based on demand. Each microservice can be written in
different programming languages and deployed
independently.
3. Mobile Backends:
o App Engine can be used to build backend services for mobile
applications, managing data storage, authentication, and
communication between mobile clients and the cloud.
3.3 Microsoft Azure

Microsoft Azure is one of the largest and most comprehensive cloud


platforms in the world, offering a wide range of cloud services that
cover IaaS, PaaS, and SaaS. Azure is designed to meet the needs of
enterprises, developers, and organizations by providing advanced
capabilities in infrastructure management, application development,
and data analytics.

Overview of Microsoft Azure:

Launched in 2010, Microsoft Azure has grown to support over 200


products and services. It is known for its robust hybrid cloud offerings,
seamless integration with existing Microsoft technologies (such as
Windows Server, SQL Server, and Active Directory), and support for
open-source platforms.

Key Features of Microsoft Azure:

1. Comprehensive IaaS Offerings:


o Azure provides users with on-demand access to computing
resources such as virtual machines (VMs), storage (Blob
Storage, Disk Storage), and networking (Virtual Networks,
Load Balancers).
2. PaaS Capabilities:
o Azure offers App Service and Azure Functions for building,
hosting, and running applications. Azure App Service
supports multiple languages (e.g., .NET, Java, Python, PHP),
while Azure Functions allows event-driven serverless
computing.
3. Hybrid Cloud Support:
o Azure is known for its strong hybrid capabilities, allowing
organizations to run workloads on-premises and in the cloud
using tools like Azure Stack and Azure Arc.
4. Security and Compliance:
o Azure provides advanced security features like multi-factor
authentication (MFA), role-based access control (RBAC),
Azure Security Center, and Azure Sentinel for security
monitoring and threat management.
5. Global Reach:
o Azure has a global presence with data centers in over 60
regions. This allows organizations to deploy applications
close to their users for reduced latency and regulatory
compliance.
6. AI and Machine Learning:
o Azure offers a wide range of AI and machine learning
services, including Azure Machine Learning, Cognitive
Services, and Azure Bot Services, for building and deploying
intelligent applications.
7. Integrated Development Tools:
o Azure integrates well with Microsoft's development tools,
such as Visual Studio and Azure DevOps. This provides a
seamless development lifecycle from coding and building to
testing and deployment.

Use Cases of Microsoft Azure:

1. Enterprise Applications:
o Azure is ideal for large organizations that need to run
mission-critical applications such as ERP systems, CRM, or
data warehousing solutions with high availability and global
distribution.
2. Data Analytics and AI:
o Azure offers robust tools for big data analytics, including
Azure Synapse Analytics, Power BI, and HDInsight. It also
provides advanced AI tools for building intelligent
applications.
3. Hybrid Cloud Architecture:
o Azure is well-suited for businesses that need to maintain a
hybrid cloud environment, leveraging both on-premise
infrastructure and the cloud for greater flexibility and
scalability.

What are Iaas, Paas and Saas?


IaaS, PaaS and SaaS are the three most popular types
of cloud service offerings. They are sometimes referred to as cloud
service models or cloud computing service models.

IaaS, PaaS and SaaS are the three most popular types
of cloud service offerings. They are sometimes referred to as cloud
service models or cloud computing service models.

 IaaS, or infrastructure as a service, is on-demand access to cloud-


hosted physical and virtual servers, storage and networking—
the backend IT infrastructure for running applications and
workloads in the cloud.

 PaaS, or platform as a service, is on-demand access to a complete,


ready-to-use, cloud-hosted platform for developing, running,
maintaining and managing applications.

 SaaS, or software as a service, is on-demand access to ready-to-


use, cloud-hosted application software.

IaaS, PaaS and SaaS are not mutually exclusive. Many mid-sized
businesses use more than one, and most large enterprises use all three.
'As a service' refers to the way IT assets are consumed in these offering
and to the essential difference between cloud computing and
traditional IT. In traditional IT, an organization consumes IT assets—
hardware, system software, development tools, applications—by
purchasing them, installing them, managing them and maintaining
them in its own on-premises data center.

In cloud computing, the cloud service provider owns, manages and


maintains the assets; the customer consumes them via an Internet
connection, and pays for them on a subscription or pay-as-you-go basis.

So the chief advantage of IaaS, PaaS, SaaS or any 'as a service' solution
is economic: A customer can access and scale the IT capabilities it needs
for a predictable cost, without the expense and overhead of purchasing
and maintaining everything in its own data center. But there are
additional advantages specific to each of these solutions.
GuideRealize the full value of your hybrid cloud
Connect and integrate your systems to prepare your infrastructure for
AI.
Related content
Register for the guide on app modernization
IaaS

IaaS is on-demand access to cloud-hosted computing infrastructure—


servers, storage capacity and networking resources—that customers
can provision, configure and use in much the same way as they use on-
premises hardware.

The difference is that the cloud service provider hosts, manages and
maintains the hardware and computing resources in its own data
centers. IaaS customers use the hardware via an internet connection,
and pay for that use on a subscription or pay-as-you-go basis.
Typically IaaS customers can choose between virtual
machines (VMs) hosted on shared physical hardware (the cloud service
provider manages virtualization) or bare metal servers on dedicated
(unshared) physical hardware. Customers can provision, configure and
operate the servers and infrastructure resources via a graphical
dashboard, or programmatically through application programming
interfaces (APIs).

IaaS can be thought of as the original 'as a service' offering: Every


major cloud service provider—Amazon Web Services, Google Cloud,
IBM Cloud, Microsoft Azure—began by offering some form of IaaS.

Benefits of IaaS

Compared to traditional IT, IaaS gives customers more flexibility build


out computing resources as needed, and to scale them up or down in
response to spikes or slow-downs in traffic. IaaS lets customers avoid
the up-front expense and overhead of purchasing and maintaining its
own on-premises data center. It also eliminates the constant tradeoff
between the waste of purchasing excess on-premises capacity to
accommodate spikes, versus the poor performance or outages that can
result from not having enough capacity for unanticipated traffic bursts
or growth.

Other benefits of IaaS include:

 Higher availability: With IaaS a company can create redundant


servers easily, and even create them in other geographies to
ensure availability during local power outages or physical
disasters.

 Lower latency, improved


performance: Because IaaS providers typically operate data
centers in multiple geographies, IaaS customers can locate apps
and services closer to users to minimize latency and maximize
performance.

 Improved responsiveness: Customers can provision resources in a


matter of minutes, test new ideas quickly and quickly roll out new
ideas to more users.

 Comprehensive security: With a high level of security onsite, at


data centers, and via encryption, organizations can often take
advantage of more advanced security and protection they might
provide if they hosted the cloud infrastructure in-house.

 Faster access to best-of-breed technology: Cloud providers


compete with each other by providing the latest technologies to
their users, IaaS customers can take advantage of these
technologies much earlier (and at far less cost) than they can
implement them on premises.

IaaS use cases

Common uses of IaaS include:

 Disaster recovery: Instead of setting up redundant servers in


multiple locations, IaaS can deploy its disaster recovery solution
to the cloud provider's existing geographically dispersed
infrastructure.

 Ecommerce: IaaS is an excellent option for online retailers that


frequently see spikes in traffic. The ability to scale up during
periods of high demand and high-quality security are essential in
today’s 24-7 retail industry.

 Internet of Things (IoT), event processing, artificial intelligence


(AI): IaaS makes it easier to set up and scale up data
storage and computing resources for these and other applications
that work with huge volumes of data.

 Startups: Startups can't afford to sink capital into on-premises IT


infrastructure. IaaS gives them access to enterprise-class data
center capabilities without the up-front investment in hardware
and management overhead.

 Software development: With IaaS, the infrastructure for testing


and development environments can be set up much more quickly
than on-premises. (However, this use case is better suited to
PaaS, as you'll read in the next section.)
PaaS

PaaS provides a cloud-based platform for developing, running,


managing applications. The cloud services provider hosts manages and
maintains all the hardware and software included in the platform—
servers (for development, testing and deployment), operating
system (OS) software, storage, networking,
databases, middleware, runtimes, frameworks, development tools—as
well as related services for security, operating system and software
upgrades, backups and more.

Users access the PaaS through a graphical user interface (GUI), where
development or DevOps teams can collaborate on all their work across
the entire application lifecycle including coding, integration, testing,
delivery, deployment and feedback.

Examples of PaaS solutions include AWS Elastic Beanstalk, Google App


Engine, Microsoft Windows Azure and Red Hat OpenShift on IBM Cloud.

Benefits of PaaS
The primary benefit of PaaS is that it allows customers to build, test,
deploy run, update and scale applications more quickly and cost-
effectively than they might if they had to build out and manage their
own on-premises platform. Other benefits include:

 Faster time to market: PaaS enables development teams to spin-


up development, testing and production environments in
minutes, rather than weeks or months.

 Low- to no-risk testing and adoption of new technologies: PaaS


platforms typically include access to a wide range of the latest
resources up and down the application stack. This allows
companies to test new operating systems, languages and other
tools without having to make substantial investments in them, or
in the infrastructure required to run them.

 Simplified collaboration: As a cloud-based service, PaaS provides


a shared software development environment, giving development
and operations teams access to all the tools they need, from
anywhere with an Internet connection.

 A more scalable approach: With PaaS, organizations can purchase


extra capacity for building, testing, staging and running
applications whenever they need it.

 Less to manage: PaaS offloads infrastructure management,


patches, updates and other administrative tasks to the cloud
service provider.

PaaS use cases

PaaS can advance several development and IT initiatives including:


 API development and management: With its built-in
frameworks, PaaS makes it easier for teams to develop, run,
manage and secure APIs for sharing data and functionality
between applications.

 Internet of Things (IoT): PaaS supports a range of programming


languages (Java, Python, Swift and more), tools and application
environments used for IoT application development and real-time
processing of data from IoT devices.

 Agile development and DevOps: PaaS solutions typically cover all


the requirements of a DevOps toolchain, and provide built-
in automation to support continuous integration and continuous
delivery (CI/CD).

 Cloud-native development and hybrid


cloud strategy: PaaS solutions support cloud-native development
technologies—microservices, containers, Kubernetes, serverless
computing—that enable developers to build once, then deploy
and manage consistently across private cloud, public cloud and
on-premises environments.
SaaS

SaaS (sometimes called cloud application services) is cloud-hosted,


ready-to-use application software. Users pay a monthly or annual fee to
use a complete application from within a web browser, desktop client
or mobile app. The application and all of the infrastructure required to
deliver it—servers, storage, networking, middleware, application
software, data storage—are hosted and managed by the SaaS vendor.

The vendor manages all upgrades and patches to the software, usually
invisibly to customers. Typically, the vendor ensures a level of
availability, performance and security as part of a service level
agreement (SLA). Customers can add more users and data storage on
demand at additional cost.

Today, anyone who uses a or mobile phone almost certainly uses some
form of SaaS. Email, social media and cloud file storage solutions (such
as Dropbox or Box) are examples of SaaS applications people use every
day in their personal lives.

Popular business or
enterprise SaaS solutions include Salesforce (customer relationship
management software), HubSpot (marketing software), Trello
(workflow management), Slack (collaboration and messaging) and
Canva (graphics). Many applications designed originally for the desktop
(for example, Adobe Creative Suite) are now available as SaaS (for
example, Adobe Creative Cloud).

Benefits of SaaS

The main benefit of SaaS is that it offloads all infrastructure and


application management to the SaaS vendor. All the user has to do is
create an account, pay the fee and start using the application. The
vendor handles everything else, from maintaining the server hardware
and software to managing user access and security, storing and
managing data, implementing upgrades and patches and more.

Other benefits of SaaS include:

 Minimal risk: Many SaaS products offer a free trial period, or low
monthly fees that let customers try the software to see if it will
meet their needs, with little or no financial risk.

 Anytime/anywhere productivity: Users can work


with SaaS apps on any device with a browser and an internet
connection.

 Easy scalability: Adding users is as simple as registering and


paying for new seats—customers can purchase more data
storage for a nominal charge.

Some SaaS vendors even enable customization of their product by


providing a companion PaaS solution. One well-known example
is Heroku, a PaaS solution for Salesforce.

SaaS use cases

Today, just about any personal or employee productivity application is


available as SaaS—specific use cases are too numerous to mention
(some are listed above). If a user or organization can find
a SaaS solution with the required functionality, in most cases it will
provide a significantly simpler, more scalable and more cost-
effective alternative to on-premises software.
SaaS vs. PaaS vs. IaaS: management ease vs. control

SaaS, Paas, IaaS are not mutually exclusive—most organizations use


more than one, and many larger organizations today use all three,
often with traditional IT.

Obviously, the as-a-service solution a customer chooses depends first


on the functionality the customer requires, and the expertise it has on
staff. For example, an organization without the in-house IT expertise for
configuring and operating remote servers isn't well matched to IaaS. An
organization without a development team has no need for PaaS.

But in some cases, any of the three 'as-a-service' models will offer a
viable solution. In these cases, organizations typically compare the
alternatives based on the management ease they offer versus the
control they give up.
For example, suppose that a large organization wants to deliver a
customer relationship management (CRM) application to its sales team.
It might:

 Choose a SaaS CRM solution, offloading all day-to-day


management to the third-party vendor, but also giving up all
control over features and functionality, data storage, user access
and security.

 Choose a PaaS solution and build a custom CRM application. In


this case, the company would offload management of
infrastructure and application development resources to the
cloud service provider. The customer would retain complete
control over application features, but it would also assume
responsibility for managing the application and associated data.

 Build out backend IT infrastructure on the cloud by using IaaS, and


use it to build its own development platform and application. The
organization's IT team would have complete control over
operating systems and server configurations, but also bear the
burden of managing and maintaining them, along with the
development platform and applications that run on them.

You might also like