1. Optimizing SaaS Environments
In SaaS implementations, cloud service architectures are generally based on
multitenant environments that enable and regulate concurrent cloud consumer
access (Figure 14.3). SaaS IT resourcesegregation does not typically occurat the
infrastructure level in SaaS environments, as it does in IaaS and PaaS
environments.
SaaS implementationsrelyheavily on thefeaturesprovided by the native
dynamic scalabilityand workload distributionarchitectures, aswell as non-
disruptiveservicerelocationtoensure that failover conditionsdonot
impact theavailabilityofSaaS-based cloud services.
However, it is vitalto acknowledgethat, unlikethe relatively vanilla designs
of IaaS and PaaS products, each SaaS deployment willbring with it unique
architectural, functional, and runtimerequirements. Theserequirements
are specific tothe natureof the businesslogic the SaaS-based cloud service
is programmed with, aswell as the distinct usagepatternsit issubjected to
by its cloud serviceconsumers.
For example, consider the diversityin functionality and usageof the
following recognized online SaaS offerings:
• collaborativeauthoring and information-sharing(Wikipedia, Blogger)
2. • collaborativemanagement (Zimbra, GoogleApps)
conferencing servicesfor instant messaging, audio/video
communications(Skype, GoogleTalk)
• enterprisemanagementsystems(ERP, CRM, CM)
• file-sharing and content distribution(YouTube, Dropbox)
• industry-specific software(engineering, bioinformatics)
• messaging systems(e-mail, voicemail)
• mobileapplicationmarketplaces(Android PlayStore, AppleApp Store)
• office productivitysoftwaresuites(Microsoft Office, AdobeCreative
Cloud)
search engines (Google, Yahoo)
• socialnetworking media (Twitter, LinkedIn)
Now consider that manyof thepreviously listed cloud services areoffered
in one or more of the following implementationmediums:
• mobileapplication
• REST service
• Web service
Each of these SaaS implementationmediumsprovideWeb-basedAPIsfor
interfacing bycloud consumers. Examplesof online SaaS-based cloud
services with Web-based APIsinclude:
• electronic payment services(PayPal)
• mapping and routing services(GoogleMaps)
• publishing tools(WordPress)
Mobile-enabled SaaS implementationsarecommonlysupported bythe
multi-devicebroker mechanism, unlessthe cloud serviceis intended
exclusively for accessby specific mobiledevices.
The potentiallydiverse natureof SaaS functionality, thevariationin
implementationtechnology, and the tendencyto offer a SaaS-based cloud
service redundantlywith multipledifferent implementationmediums
makesthe design of SaaS environmentshighlyspecialized. Though not
essentialto a SaaS implementation, specialized processing requirements
canprompt the need to incorporatearchitecturalmodels, such as:
• Service Load Balancing – for workload distributionacrossredundant
SaaS-basedcloud serviceimplementations
3. • Dynamic Failure Detectionand Recovery – to establish a system that can
automaticallyresolve some failureconditionswithout disruptioninservice
to the SaaS implementation
• Storage Maintenance Window–to allow for planned maintenance
outagesthat do not impact SaaSimplementationavailability
• Elastic Resource Capacity/Elastic Network Capacity –to establish
inherent elasticitywithinthe SaaS-based cloud servicearchitecturethat
enables it to automaticallyaccommodatea rangeof runtimescalability
requirements
• Cloud Balancing – to instill broad resiliencywithintheSaaS
implementation, which canbeespecially importantfor cloud services
subjected toextremeconcurrent usagevolumes
Specialized cloud usagemonitorscanbe used in SaaS environmentsto
trackthefollowing typesof metrics:
• Tenant SubscriptionPeriod –Thismetric isused by pay-per-use
monitorsto record and trackapplicationusagefor time-based billing. This
type of monitoring usually incorporatesapplicationlicensing and regular
assessmentsof leasing periodsthat extend beyond the hourly periodsof
IaaS and PaaS environments.
• ApplicationUsage – Thismetric, based on user or securitygroups, isused
with pay-per-usemonitorsto record and trackapplicationusagefor billing
purposes.
• Tenant ApplicationFunctionalModule – Thismetric isused by pay-per-
use monitorsfor function-based billing. Cloud services can have different
functionalitytiersaccording towhether thecloud consumer is free-tier or a
paid subscriber.
Similar tothe cloud usagemonitoring that isperformed inIaaS and
PaaS implementations, SaaS environmentsarealso commonly
monitored for data storage, networktraffic, failureconditions, and
event triggers.
Security
SaaS implementations generally rely on a foundation of security controls inherent
to their deployment environment. Distinct business processing logic will then add
layers of additional cloud security mechanisms or specialized security
technologies.