0% found this document useful (0 votes)
205 views36 pages

Cloud Delivery Model Considerations

This document discusses building and optimizing cloud computing environments from the perspectives of cloud providers and cloud consumers. For cloud providers building IaaS environments, it describes provisioning virtual servers and storage, using multiple data centers for redundancy, and monitoring for billing and security purposes. It also covers building PaaS and SaaS environments, recognizing common SaaS offerings, and optimizing SaaS for scalability, reliability, and security. For cloud consumers, it discusses accessing IaaS virtual machines and storage, and working with IaaS, PaaS, and SaaS services.

Uploaded by

Mohammad Aaryan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
205 views36 pages

Cloud Delivery Model Considerations

This document discusses building and optimizing cloud computing environments from the perspectives of cloud providers and cloud consumers. For cloud providers building IaaS environments, it describes provisioning virtual servers and storage, using multiple data centers for redundancy, and monitoring for billing and security purposes. It also covers building PaaS and SaaS environments, recognizing common SaaS offerings, and optimizing SaaS for scalability, reliability, and security. For cloud consumers, it discusses accessing IaaS virtual machines and storage, and working with IaaS, PaaS, and SaaS services.

Uploaded by

Mohammad Aaryan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 36

Cloud Delivery Model

Considerations
Cloud Delivery Models:
Cloud Provider Perspective
Optimizing
IaaS

Equipping PaaS

Building IaaS
Building IaaS Environment
▪ Two fundamental IT resources – virtual servers and cloud storage
device mechanisms.
▪ Properties:
▪ OS
▪ RAM capacity
▪ CPU capacity
▪ Virtualized storage capacity
▪ Provisioning with increments of 1GB for ease of management.
▪ Direct access to physical IT resources (bare-metal architecture
comes into play).
▪ Snapshots – record current state for backup and recover, horizontal
and vertical scaling purposes.
Building IaaS Environment (Data
Center)
▪ Cloud providers can offer IaaS-based IT resources from multiple
geographically diverse data centers.
▪ Multiple data centers can be linked together for increased
resiliency. Each data center is placed in a different location to
lower the chances of a single failure.
▪ Connected through high-speed communications networks with
low latency, data centers can perform load balancing, IT
resource backup and replication, and increase storage capacity,
while improving availability and reliability.
▪ Data centers that are deployed in different countries make
access to IT resources more convenient for cloud consumers
that are constricted by legal and regulatory requirements.
▪ Each cloud consumer is segregated (separated / isolated) into a
tenant environment.
Building IaaS Environment
(Scalability and Reliability)
▪ When provisioned, virtual servers may be scaled up (when?) or
scaled out (how?). This provisioning is done via VIM.
▪ In case of horizontal scaling, load balancer mechanism can be used
to ?
▪ Scalability procedures:
▪ Manual – interact with usage and administration program to explicitly
request IT resource scaling.
▪ Automatic – automated scaling listener does the job.
▪ Replicated IT resources can be arranged in high-availability
configuration that forms a failover system.
▪ HA may be achieved via a clustering mechanism.
▪ Multipath resource access architecture.
▪ Resource reservation architecture.
Building IaaS Environment
(Monitoring)
▪ Virtual Server Lifecycles – Recording and tracking uptime
periods and the allocation of IT resources, for pay-per-use
monitors and time-based billing purposes.
▪ Data Storage – Tracking and assigning the allocation of storage
capacity to cloud storage devices on virtual servers, for pay-per-
use monitors that record storage usage for billing purposes.
▪ Network Traffic – For pay-per-use monitors that measure
inbound and outbound network usage and SLA monitors that
track QoS metrics, such as response times and network losses.
▪ Failure Conditions – For SLA monitors that track IT resource and
QoS metrics to provide warning in times of failure.
▪ Event Triggers – For audit monitors that appraise and evaluate
the regulatory compliance of select IT resources.
Building IaaS Environment (Security)
▪ Encryption, hashing, digital signature, and PKI mechanisms for
overall protection of data transmission
▪ IAM and SSO mechanisms for accessing services and interfaces
in security systems that rely on user identification,
authentication, and authorization capabilities
▪ Cloud-based security groups for isolating virtual environments
through hypervisors and network segments via network
management software
▪ Hardened virtual server images for internal and externally
available virtual server environments
▪ Various cloud usage monitors to track provisioned virtual IT
resources to detect abnormal usage patterns.
Equipping PaaS Environments
▪ PaaS environments – outfitted with a selection of application
development and deployment platforms.
▪ A separate ready-made environment is usually created for each
individual platform (matched SDK and IDE).
▪ Typically, security restrictions are simulated in the dev.
environment.
▪ Customized virtual server images with ready-made
environments can be created and managed by cloud consumers.
▪ Cloud providers rely on a variation of the rapid provisioning
architecture known as “platform provisioning”.
Equipping PaaS Environments
(Scalability and Reliability)
▪ Scalability requirements are addressed via dynamic scalability
and workload distribution architectures.
▪ Resource pooling architecture may also be utilized.
▪ Network traffic and server-side usage can be evaluated to
determine how to scale an overloaded application as per
parameters and cost limitations provided by the cloud
consumer.
▪ Reliability – a standard failover system + non-disruptive service
relocation architecture.
▪ Resource reservation architecture can be deployed to offer an
exclusive access to PaaS-based IT resources.
Equipping PaaS Environments
(Monitoring)
▪ Ready-Made Environment Instances – The applications of these
instances are recorded by pay-per-use monitors for the
calculation of time-based usage fees.
▪ Data Persistence – This statistic is provided by pay-per-use
monitors that record the number of objects, individual occupied
storage sizes, and database transactions per billing period.
▪ Network Usage – Inbound and outbound network usage is
tracked for pay-per-use monitors and SLA monitors that track
network-related QoS metrics.
▪ Failure Conditions – SLA monitors that track the QoS metrics of
IT resources need to capture failure statistics.
▪ Event Triggers – This metric is primarily used by audit monitors
that need to respond to certain types of events.
Equipping PaaS Environments
(Security)
▪ No need to introduce the need for new cloud security
mechanisms for PaaS environments.
▪ Why?
Optimizing SaaS Environment
▪ SaaS-based environments – multitenant environments.
▪ SaaS IT resource segregation (isolation) does not occur at the
infrastructure level in SaaS as it does it IaaS and PaaS.
▪ SaaS relies heavily on dynamic scalability and workload
distribution architectures, and also non-disruptive service
relocation architecture (ensure a failover system).
▪ Unlike IaaS and PaaS, SaaS deployment comes with unique
architectural, functional and runtime requirements.
▪ These requirements are specific to the nature of business logic.
Recognized Online SaaS Offerings
▪ Collaborative authoring and information-sharing (Wikipedia, Blogger)
▪ Collaborative management (Zimbra, Google Apps)
▪ Conferencing services for instant messaging, audio/video communications
(Skype, Google Talk)
▪ Enterprise management systems (ERP, CRM, CM)
▪ File-sharing and content distribution (YouTube, Dropbox)
▪ Industry-specific software (engineering, bioinformatics)
▪ Messaging systems (e-mail, voicemail)
▪ Mobile application marketplaces (Android Play Store, Apple App Store)
▪ Office productivity software suites (Microsoft Office, Adobe Creative Cloud)
▪ Search engines (Google, Yahoo)
▪ Social networking media (Twitter, LinkedIn)
Optimizing SaaS Environments (2)
▪ Each of these SaaS implementation mediums provide
Web-based APIs for interfacing by cloud consumers.
Examples of online SaaS-based cloud services with
Web-based APIs include:
▪ electronic payment services (PayPal)
▪ mapping and routing services (Google Maps)
▪ publishing tools (WordPress)”
▪ SaaS implementation may need to incorporate a
number of architectural models.
Optimizing SaaS Environments (3)
▪ Service Load Balancing – for workload distribution across
redundant SaaS-based cloud service implementations.
▪ Dynamic Failure Detection and Recovery – to establish a system
that can automatically resolve some failure conditions without
disruption in “service to the SaaS implementation.
▪ Storage Maintenance Window – to allow for planned maintenance
outages that do not impact SaaS implementation availability.
▪ Elastic Resource Capacity/Elastic Network Capacity – to establish
inherent elasticity within the SaaS-based cloud service architecture
that enables it to automatically accommodate a range of runtime
scalability requirements.
▪ Cloud Balancing – to instill broad resiliency within the SaaS
implementation, which can be especially important for cloud
services subjected to extreme concurrent usage volumes.
Optimizing SaaS Environments
(Monitoring)
▪ Tenant Subscription Period – This metric is used by pay-
per-use monitors to record and track application usage for
time-based billing. This type of monitoring usually
incorporates application licensing and regular assessments
of leasing periods that extend beyond the hourly periods of
IaaS and PaaS environments.
▪ Application Usage – This metric, based on user or security
groups, is used with pay-per-use monitors to record and
track application usage for billing purposes.
▪ Tenant Application Functional Module – This metric is
used by pay-per-use monitors for function-based billing.
Cloud services can have different functionality tiers
according to whether the cloud consumer is free-tier or a
paid subscriber.
Optimizing SaaS Environments
(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.
▪ For example, messaging service may offer message
encryption while email service does not.
Cloud Delivery Models:
Cloud Consumer Perspective
Working with IaaS

Working with PaaS

Working with IaaS


Working with IaaS Environments
▪ Cloud consumers access VM at the OS level via
remote terminal applications;
▪ Remote desktop (Windows)
▪ SSH client (MAC and Linux-based)
Working with IaaS Environments (2)
▪ Cloud storage can be attached directly to virtual
servers and accessed through virtual server’s
functional interfaces.
▪ Cloud storage can also be attached to an IT resource
that is being hosted outside the cloud (on-premise
device) over WAN or VPN.
▪ Formats for cloud storage data:
▪ Network Filed Systems – NFS, CIFS
▪ Storage Area Network Devices (SAN, block-based storage)
▪ Web-based Resources – Object-based storage accessed via
web-based interface (Amazon S3)
Working with IaaS Environments
(IT Resource Provisioning Consideration)
▪ Controlling scalability features (automated scaling, load balancing).
▪ Controlling the lifecycle of virtual IT resources (shutting down,
restarting, powering up of virtual devices).
▪ Controlling the virtual network environment and network access rules
(firewalls, logical network perimeters).
▪ Establishing and displaying service provisioning agreements (account
conditions, usage terms).
▪ Managing the attachment of cloud storage devices.
▪ Managing the pre-allocation of cloud-based IT resources (resource
reservation).
▪ Managing credentials and passwords for cloud resource
administrators.
▪ Managing credentials for cloud-based security groups that access
virtualized IT resources through an IAM.
Working with IaaS Environments
(IT Resource Provisioning Consideration)
▪ Managing security-related configurations.
▪ Managing customized virtual server image storage (importing,
exporting, backup).
▪ Selecting high-availability options (failover, IT resource clustering).
▪ Selecting and monitoring SLA metrics.
▪ Selecting basic software configurations (operating system, pre-
installed software for new virtual servers).
▪ Selecting IaaS resource instances from a number of available
hardware-related configurations and options (processing
capabilities, RAM, storage).
▪ Selecting the geographical regions in which cloud-based IT
resources should be hosted.
▪ Tracking and managing costs.
Working with PaaS Environments
▪ A typical PaaS IDE can offer a wide range of tools and programming
resources, such as
▪ software libraries,
▪ class libraries,
▪ frameworks,
▪ APIs, and
▪ various runtime capabilities that emulate the intended cloud-based
deployment environment.
▪ These features allow developers to create, test and run application code
within the cloud or on-premise.
▪ PaaS also allows for applications to use cloud storage devices as
independent data storing systems for holding development-specific data
(for example in a repository that is available outside of the cloud
environment).
▪ Both SQL and NoSQL database structures are generally supported.
Working with PaaS Environments
▪ Establishing and displaying service provisioning
agreements, such as account conditions and usage terms.
▪ Selecting software platform and development
frameworks for ready-made environments.
▪ Selecting instance types, which are most commonly
frontend or backend instances.
▪ Selecting cloud storage devices for use in ready-made
environments.
▪ Controlling the lifecycle of PaaS-developed applications
(deployment, starting, shutdown, restarting, and release).
▪ Controlling the versioning of deployed applications and
modules.
Working with PaaS Environments
▪ Configuring availability and reliability-related
mechanisms.
▪ Managing credentials for developers and cloud resource
administrators using IAM.
▪ Managing general security settings, such as accessible
network ports.
▪ Selecting and monitoring PaaS-related SLA metrics.
▪ Managing and monitoring usage and IT resource costs.
▪ Controlling scalability features such as usage quotas,
active instance thresholds, and the configuration and
deployment of the automated scaling listener and load
balancer mechanisms.
Working with SaaS Environments
▪ SaaS-based cloud services are almost always accompanied
by refined and generic APIs, they are usually designed to
be incorporated as part of larger distributed solutions.
▪ Classic example: Google Maps API.
▪ Many SaaS offerings are provided free of charge, although
these cloud services often come with data collecting sub-
programs that harvest usage data for the benefit of the
cloud provider (what benefits?).
▪ Cloud consumers using SaaS products supplied by cloud
providers are relieved of the responsibilities of
▪ implementing and
▪ administering their underlying hosting environments.
Working with SaaS Environments
▪ Cloud consumers have limited runtime usage control of
the cloud service instances:
▪ Managing security-related configurations.
▪ Managing select availability and reliability options.
▪ Managing usage costs.
▪ Managing user accounts, profiles, and access. Authorization.
▪ Selecting and monitoring SLAs.
▪ Setting manual and automated scalability options and
limitations.
Case Study

You might also like