Unit 2 CC
Unit 2 CC
Characteristics of SaaS:
o Web-based Delivery: SaaS apps can be accessed from anywhere with an internet
connection because they are supplied over the internet, often through a web browser.
Users no longer need to install and maintain software programs on their local machines
as a result.
o Multiple Users or "tenants" can access SaaS applications from a single instance of the
program thanks to the concept of multi-tenancy. As a result, the provider can serve
several clients with the same application without administering unique program
instances for every client.
o Automatic Updates: SaaS providers are in charge of keeping the software up to date
and making sure that everyone has access to the newest features and security patches.
Users are no longer required to manually install updates or fixes as a result.
o Scalable: SaaS systems are scalable, which can readily grow or shrink in response to
user demand. This frees up enterprises from worrying about infrastructure or licensing
fees and lets them add or remove users as needed.
o Pricing on a Subscription Basis: SaaS programs are frequently sold using a
subscription-based pricing model, in which customers pay a monthly or yearly price to
access the program. As a result, companies won't need to invest significantly in software
licenses upfront.
o Data Security, including data encryption, access restrictions, and backups, is the
responsibility of SaaS providers. Users no longer need to handle their own data security
because of this.
Business Services - SaaS Provider provides various business services to start up the business.
The SaaS business services include ERP (Enterprise Resource Planning), CRM (Customer
Relationship Management), billing, and sales.
Document Management - SaaS document management is a software application offered by a
third party (SaaS provider) to create, manage, and track electronic documents. Examples:
Slack, Samepage, Box, and Zoho Forms.
Social Networks - As we all know, social networking sites are used by the general public, so
social networking service providers use SaaS for their convenience and handle the general
public's information.
Mail Services - To handle the unpredictable number of users and load on e-mail services, many
e-mail providers offer their services using SaaS.
Collaboration Tools: SaaS companies provide collaboration solutions that let teams
collaborate effectively no matter where they are physically located. Platforms for project
management, apps for team communication, and file-sharing services are some of these
resources. Examples include Slack, Microsoft Office 365, and Google Workspace (formerly G
Suite).
Customer Support and Help Desk: SaaS platforms provide customer support and help desk
solutions that enable firms to manage customer inquiries, track support tickets, and promptly
address customer issues. For instance, Salesforce Service Cloud, Freshdesk, and Zendesk.
Marketing and Sales Automation: To increase productivity and boost income, firms can
automate marketing campaigns, lead generation, customer relationship management, and sales
activities using SaaS marketing and sales automation technologies. Examples include Marketo,
Pardot, and HubSpot.
The below table shows some popular SaaS providers and services that are provided by them -
Provider Services
1. SaaS is easy to buy - SaaS pricing is based on a monthly fee or annual fee subscription, so
it allows organizations to access business functionality at a low cost, which is less than licensed
applications.
2. One to Many - SaaS services are offered as a one-to-many model means a single instance
of the application is shared by multiple users.
3. Less hardware required for SaaS - The software is hosted remotely, so organizations do
not need to invest in additional hardware.
4. Low maintenance required for SaaS - Software as a service removes the need for
installation, set-up, and daily maintenance for organizations. The initial set-up cost for SaaS is
typically less than the enterprise software. SaaS vendors are pricing their applications based on
some usage parameters, such as the number of users using the application. So, SaaS does easy
to monitor and automatic updates.
5. No special software or hardware versions are required - All users will have the same
version of the software and typically access it through the web browser. SaaS reduces IT
support costs by outsourcing hardware and software maintenance and support to the IaaS
provider.
6. Multidevice support - SaaS services can be accessed from any device, such as desktops,
laptops, tablets, phones, and thin clients.
7. API Integration - SaaS services easily integrate with other software or services through
standard APIs.
8. No client-side installation - SaaS services are accessed directly from the service provider
using an internet connection, so they do not need to require any software installation.
1) Security - Actually, data is stored in the cloud, so security may be an issue for some users.
However, cloud computing is not more secure than in-house deployment.
2) Latency issue - Since data and applications are stored in the cloud at a variable distance
from the end-user, there is a possibility that there may be greater latency when interacting with
the application compared to local deployment. Therefore, the SaaS model is not suitable for
applications whose demand response time is in milliseconds.
PaaS includes infrastructure (servers, storage, and networking) and platform (middleware,
development tools, database management systems, business intelligence, and more) to support
the web application life cycle.
Databases: Managed database services are provided by PaaS providers, making it simple for
developers to store and retrieve data. These services support relational databases (like MySQL,
PostgreSQL, and Microsoft SQL Server) and NoSQL databases (like MongoDB, Cassandra,
and Redis). For its database services, PaaS platforms often offer automated backups,
scalability, and monitoring tools.
Additional Tools and Services: PaaS providers provide a range of extra tools and services to
aid in the lifecycle of application development and deployment. These may consist of the
following:
o Development Tools: to speed up the development process, these include integrated
development environments (IDEs), version control systems, build and deployment
tools, and debugging tools.
o Collaboration and Communication: PaaS platforms frequently come with
capabilities for team collaboration, including chat services, shared repositories, and
project management software.
o Analytics and Monitoring: PaaS providers may give tools for tracking application
performance, examining user behaviour data, and producing insights to improve
application behaviour and address problems.
o Security and Identity Management: PaaS systems come with built-in security
features like access control, encryption, and mechanisms for authentication and
authorization to protect the privacy of applications and data.
o Scalability and load balancing: PaaS services frequently offer automatic scaling
capabilities that let applications allocate more resources as needed to manage a spike in
traffic or demand. To improve performance and availability, load balancing features
divide incoming requests among various instances of the application.
Because of the services offered by PaaS platforms, developers may concentrate on creating
applications rather than worrying about the infrastructure, middleware, or database
management that supports them. A streamlined and effective environment is provided by PaaS
for developing, deploying, and managing applications.
For the creation and deployment of software applications, Platform as a Service (PaaS)
provides a vast array of tools, libraries, and services. The following are some of the essential
tools and services that PaaS companies provide:
o Development Tools: To assist developers in writing and testing their code, PaaS
providers provide a variety of development tools, including integrated development
environments (IDEs), software development kits (SDKs), and programming languages.
These tools are frequently accessible via a web-based interface, making using them
from any location simple.
o Tools for Deployment: PaaS providers offer tools for deployment that make it simple
for developers to upload their apps to the cloud. These technologies automate processes
like scalability, configuration management, and code deployment.
o Database Administration: PaaS companies provide tools and services for database
management to assist developers in creating and maintaining their databases. This
comprises backup and recovery services and tools for database design, migration, and
replication.
o Integration with Other Services: PaaS companies offer integration with outside
services, including analytics platforms, messaging services, and payment gateways.
This eliminates the need for writing proprietary code and enables developers to quickly
integrate these services into their applications.
o Security: To assist developers in protecting their apps and data, PaaS providers offer
security tools and services. This includes tools like firewalls, access controls, and
encryption, in addition to adherence to regulatory requirements like GDPR and HIPAA.
o Analytical and Monitoring Tools: These are provided by PaaS providers to assist
developers in keeping track of the functionality of their apps and spotting problems.
These technologies offer in-the-moment insights into resource use, application usage,
and other indicators.
Providers Services
Google App Engine (GAE) App Identity, URL Fetch, Cloud storage client library,
Logservice
Advantages of PaaS
2) Lower risk - No need for up-front investment in hardware and software. Developers only
need a PC and an internet connection to start building applications.
3) Prebuilt business functionality - Some PaaS vendors also provide already defined business
functionality so that users can avoid building everything from very scratch and hence can
directly start the projects only.
4) Instant community - PaaS vendors frequently provide online communities where the
developer can get ideas, share experiences, and seek advice from others.
5) Scalability - Applications deployed can scale from one to thousands of users without any
changes to the applications.
Disadvantages of PaaS Loud Computing Layer
1) Vendor lock-in - One has to write the applications according to the platform provided by
the PaaS vendor, so the migration of an application to another PaaS vendor would be a problem.
2) Data Privacy - Corporate data, whether it can be critical or not, will be private, so if it is
not located within the walls of the company, there can be a risk in terms of privacy of data.
3) Integration with the rest of the systems applications - It may happen that some
applications are local, and some are in the cloud. So, there will be chances of increased
complexity when we want to use data in the cloud with the local data.
4) Limited Customization and Control: The degree of customization and control over the
underlying infrastructure is constrained by PaaS platforms' frequent provision of pre-
configured services and their relative rigidity.
Iaas is also known as Hardware as a Service (HaaS). It is one of the layers of the cloud
computing platform. It allows customers to outsource their IT infrastructures, such as servers,
networking, processing, storage, virtual machines, and other resources. Customers access these
resources on the Internet using a pay-as-pe r-use model.
In traditional hosting services, IT infrastructure was rented out for a specific period of time,
with pre-determined hardware configuration. The client paid for the configuration and time,
regardless of the actual use. With the help of the IaaS cloud computing platform layer, clients
can dynamically scale the configuration to meet changing requirements and are billed only for
the services actually used.
The IaaS cloud computing platform layer eliminates the need for every organization to maintain
its IT infrastructure.
IaaS is offered in three models: public, private, and hybrid cloud. The private cloud implies
that the infrastructure resides at the customer's premise. In the case of the public cloud, it is
located at the cloud computing platform vendor's data center, and the hybrid cloud is a
combination of the two in which the customer selects the best of both public cloud and private
cloud.
Primary Characteristics of IaaS are:
o Scalability: IaaS enables users to adjust computing capacity according to their demands
without requiring long lead times or up-front hardware purchases.
o Virtualization: IaaS uses virtualization technology to generate virtualized instances that
can be managed and delivered on-demand by abstracting physical computer resources.
o Resource Pooling: This feature enables users to share computer resources, such as
networking and storage, among a number of users, maximizing resource utilization and
cutting costs.
o Elasticity: IaaS allows users to dynamically modify their computing resources in
response to shifting demand, ensuring optimum performance and financial viability.
o Self-Service: IaaS offers consumers "self-service" portals that let them independently
deploy, administer, and monitor their computing resources without the assistance of IT
employees.
o Availability: To ensure the high availability and reliability of services, IaaS providers
often run redundant and geographically dispersed data centers.
o Security: To safeguard their infrastructure and client data, IaaS companies adopt
security measures, including data encryption, firewalls, access controls, and threat
detection.
o Customization: IaaS enables users to alter the operating systems, application stacks,
and security settings of their virtualized instances to suit their unique requirements.
IaaS, or infrastructure as a service, is a cloud computing model that offers users virtualized
computer resources on a pay-per-use basis.
Users can scale their resources up or down in accordance with their demands while taking
advantage of high availability, security, and customization possibilities.
IaaS provider provides the following services -
Computing: To provision virtual machines (VMs) for end users, IaaS providers offer virtual
central processing units (CPUs) and virtual main memory. As a result, users may run their
workloads and apps on the provider's infrastructure without having to worry about managing
the underlying hardware.
Storage: Back-end storage services are provided by IaaS providers, enabling users to store and
access their files and data. This offers scalable and trustworthy storage solutions for a variety
of use cases and can include block storage, object storage, or file storage alternatives.
Network: IaaS providers provide networking tools, including routers, switches, and bridges
for the VMs through Network as a Service (NaaS). This enables connectivity and
communication between VMs and other resources while also allowing customers to create and
maintain their network architecture within the IaaS environment.
Load balancers: Infrastructure-layer load balancing services are provided by IaaS providers.
Incoming network traffic is split up among many virtual machines (VMs) or resources by load
balancers, resulting in effective resource management and excellent application and service
availability.
Security: Security features and services are frequently offered by IaaS providers as part of
their offering. To safeguard data and resources housed on the IaaS platform, this can include
network security, firewall configurations, access controls, encryption, and other security
measures.
Backup and disaster recovery services are provided by some IaaS providers, enabling
customers to create backup copies of their data and software and put recovery plans in place in
the event of data loss or system problems. This promotes business continuity and data security.
Monitoring and Management: IaaS suppliers provide tools and services for monitoring and
controlling the resources and infrastructure. This can involve managing VMs, storage, and
network configurations using management panels or APIs, as well as measuring resource
utilization, automating scaling, and monitoring performance.
It's vital to remember that depending on the provider and their offerings, the precise services
offered by IaaS providers may change. The list above illustrates some typical IaaS providers'
common services.
Advantages of IaaS Cloud Computing Layer
There are the following advantages of the IaaS computing layer -
1. Shared infrastructure - IaaS allows multiple users to share the same physical infrastructure.
2. Web access to the resources - Iaas allows IT users to access resources over the internet.
3. Pay-as-per-use model - IaaS providers provide services based on a pay-as-per-use basis.
The users are required to pay for what they have used.
4. Focus on the core business - IaaS providers focus on the organization's core business rather
than on IT infrastructure.
5. On-demand scalability - On-demand scalability is one of the biggest advantages of IaaS.
Using IaaS, users do not worry about upgrading software and troubleshooting issues related to
hardware components.
Disadvantages of IaaS Cloud Computing Layer
Security: In the IaaS context, security is still a major problem. Although IaaS companies have
security safeguards in place, it is difficult to achieve 100% protection. To safeguard their data
and applications, customers must verify that the necessary security configurations and controls
are in place.
Maintenance and Upgrade: The underlying infrastructure is maintained by IaaS service
providers, but they are not required to automatically upgrade the operating systems or software
used by client applications. Compatibility problems could come from this, making it harder for
customers to maintain their current software.
Interoperability Issues: Interoperability Problems: Because of interoperability problems,
moving virtual machines (VMs) from one IaaS provider to another can be difficult. As a result,
consumers may find it challenging to transfer providers or integrate their IaaS resources with
other platforms or services. This may result in vendor lock-in.
Performance Variability: Due to shared resources and multi-tenancy, the performance of
VMs in the IaaS system can change. During times of high demand or while sharing resources
with other users on the same infrastructure, customers' performance may fluctuate.
Dependency on Internet Connectivity: Internet access is crucial to IaaS, which is largely
dependent on it. Any interruptions or connectivity problems could hinder access to cloud
infrastructure and services, which would have an impact on productivity and business
operations.
Learning Curve and Complexity: Using and administering IaaS calls for a certain amount
of technical know-how and comprehension of cloud computing principles. To efficiently use
and manage the IaaS resources, organizations may need to spend money on IT employee
training or turn to outside experts.
Cost Management: IaaS provides scalability and flexibility, but it can also result in difficult
cost control. In order to prevent unforeseen charges, customers must keep an eye on and
manage their resource utilization. Higher costs may be the result of inefficient use of resources
or improper resource allocation.
• Software stacks have improved interoperability among different cloud platforms, but
the APIs itself are still proprietary. Thus, customers cannot easily extract their data and
programs from one site to run on another.
• The obvious solution is to standardize the APIs so that a SaaS developer can deploy
services and data across multiple cloud providers. This will rescue the loss of all data
due to the failure of a single company.
• Current cloud offerings are essentially public (rather than private)networks, exposing
the system to more attacks. Many obstacles can be overcome immediately with well-
understood technologies such as encrypted storage, virtual LANs, and network
middleboxes (e.g., firewalls, 44 packet filters).
• For example, you could encrypt your data before placing it in a cloud. Many nations
have laws requiring SaaS providers to keep customer data and copyrighted material
within national boundaries.
• Traditional network attacks include buffer overflows, DoS attacks, spyware, malware,
rootkits, Trojan horses, and worms. In a cloud environment, newer attacks may result
from hypervisor malware, guest hopping and hijacking, or VM rootkits.
• Multiple VMs can share CPUs and main memory in cloud computing, but I/ O sharing
is problematic. For example, to run 75 EC2 instances with the STREAM benchmark
requires a mean bandwidth of 1,355 MB/second. However, for each of the 75 EC2
instances to write 1 GB files to the local disk requires a mean disk write bandwidth of
only 55 MB/second. This demonstrates the problem of I/O interference between VMs.
One solution is to improve I/O architectures and operating systems to efficiently
virtualize interrupts and I/O channels.
• Internet applications continue to become more data-intensive. If we assume
applications to be “pulled apart” across the boundaries of clouds, this may complicate
data placement and transport. Cloud users and providers have to think about the
implications of placement and traffic at every level of the system, if they want to
minimize costs. This kind of reasoning can be seen in Amazon’s development of its new
CloudFront service. Therefore, data transfer bottlenecks must be removed, bottleneck
links must be widened, and weak servers should be removed.
• AWS charges by the hour for the number of VM instances used, even if the machine is
idle. The opportunity here is to scale quickly up and down in response to load variation,
in order to save money, but without violating SLAs.
• Open Virtualization Format (OVF) describes an open, secure, portable, efficient, and
extensible format for the packaging and distribution of VMs. It also defines a format
for distributing software to be deployed in VMs. This VM format does not rely on the
use of a specific host platform, virtualization platform, or guest operating system. The
approach is to address virtual platform-agnostic packaging with certification and
integrity of packaged software. The package supports virtual appliances to span more
than one VM.
• OVF also defines a transport mechanism for VM templates, and can apply to different
virtualization platforms with different levels of virtualization. In terms of cloud
standardization, we suggest the ability for virtual appliances to run on any virtual
platform. We also need to enable VMs to run on heterogeneous hardware platform
hypervisors. This requires hypervisor-agnostic VMs. We also need to realize cross-
platform live migration between x86 Intel and AMD technologies and support legacy
hardware for load balancing.
Challenge 6—Software Licensing and Reputation Sharing
• Many cloud computing providers originally relied on open-source software because the
licensing model for commercial software is not ideal for utility computing.
• The primary opportunity is either for open source to remain popular or simply for
commercial software companies to change their licensing structure to better fit cloud
computing. One can consider using both pay-for-use and bulk-use licensing schemes to
widen the business coverage.
• One customer’s bad behaviour can affect the reputation of the entire cloud. For instance,
blacklisting of EC2 IP addresses by spam-prevention services may limit smooth VM
installation.