21
Architecting SaaS Applications to Exploit Windows Azure’s Highly Elastic Cloud Platform

SaaS on Paas

Embed Size (px)

DESCRIPTION

 

Citation preview

Architecting SaaS Applications to

Exploit Windows Azure’s Highly Elastic Cloud Platform

Sheena.Graham
Stamp

Presenter

•Greg Johnson

•Director of Consulting

Services, Terrace

Software

[email protected]

•www.terrace.com

Topic

•SaaS on PaaS:

Architecting and

Migrating SaaS

Applications to Exploit

Windows Azure’s Highly

Elastic Cloud Platform

Objective

•Learn how to architect

new SaaS applications

or migrate the

architecture of existing

SaaS applications to

capitalize on the

features of the Windows

Azure Cloud Platform

Azure

Overview

Variable

Demand

Availability,

Reliability, &

Performance

Cost

Management

Product

Agility

Integration &

Security Example

Agenda

Azure

Compute Web Roles

Worker Roles

VM Roles

Storage

Tables

Blobs

SQL

Azure

Queues

CDN

Cache

App

Fabric

Service Bus

Connect

Traffic

Manager

Access

Control

Services

Diagnostics

Azure

Overview

Variable

Demand

Availability,

Reliability, &

Performance

Cost

Management

Product

Agility

Integration &

Security Example

Agenda

• Social-Mobile era increasing demand variance

• Application lifespans compressed

• Short consumer attention span

Problem

• Support massive dynamic scaling

• Scale efficiently and rapidly up and down

• No outages do to capacity limitations

Requirements

Variable Demand

Traditional

• Provision servers for

projected peak loads

• Implement load balancing

Azure

• Scale-out and scale-in on

demand using Azure

compute roles

• Decompose application for

discrete scaling of

application components

• Utilize performance

monitoring and

management APIs to auto

scale deployments

Solutions

Azure

Overview

Variable

Demand

Availability,

Reliability, &

Performance

Cost

Management

Product

Agility

Integration &

Security Example

Agenda

•Consumers lost to outages frequently don’t return

•Loss of data undermines confidence in product

•Poor performance impacts user experience and costs

customers

Problem

•Maximize application uptime

•Don’t lose data

•Avoid disaster recovery scenarios

•Minimize wait times in application

Requirements

Availability, Reliability, & Performance

Traditional

• Utilize database clustering and

replication

• Hot standby databases

• Redundant SANs

• Multiple network connections at

data center

• Failover data center

• Implement global load balancing

solution

Azure

• Implement asynchronous

processing using Azure Queues

• Rely upon Azure tertiary data

replication

• Handle transient faults with retry

policies

• Deploy application to multiple

data centers (standby or load

balanced via Traffic Manager)

• Use Azure Cache and CDN to

boost performance

Solutions

Azure

Overview

Variable

Demand

Availability,

Reliability, &

Performance

Cost

Management

Product

Agility

Integration &

Security Example

Agenda

•Up front capital expenditures high risk

• Infrastructure provisioning has opportunity

cost

Problem

•Support elastic scale with predictable costs

•Avoid up front capital expenditures

Requirements

Cost Management

Traditional

•Thorough load

forecasting and

capacity modeling

•Cold standby

infrastructure

•Virtualize server

infrastructure

Azure

•On demand scaling

based upon utilization

• Implement rules based

auto scale-out and

scale-in

•Utilize Heterogeneous

Data storage available

in Azure

Solutions

Azure

Overview

Variable

Demand

Availability,

Reliability,

and

Performance

Cost

Management

Product

Agility

Integration &

Security Example

Agenda

•Marketplace changing at social-mobile era speeds

•Time-to-market critical product success factor

•Consumers expect feature updates on a regular, rapid

basis

Problem

•Rapid prototyping

•Transparent in-place upgrades

•Ability to fail fast with minimal costs

Requirements

Product Agility

Traditional

•Rapid development

frameworks (Ruby on Rails,

MVC)

•ORM tools

•Service Oriented Architecture

(SOA)

Azure

•Rapid development

frameworks (Ruby on Rails,

MVC)

•ORM tools (Entity Framework)

•Service Oriented Architecture

(SOA)

•Azure in-place application

upgrades

•Utilization based provisioning

allows for rapid failure without

out persistent costs

Solutions

Azure

Overview

Variable

Demand

Availability,

Reliability,

and

Performance

Cost

Management

Product

Agility

Integration &

Security Example

Agenda

• Integration with legacy on-premises applications essential for many

businesses

• Multi-casting to heterogeneous consumers mandatory in Social-

Mobile Era

• Consumers require security peace-of-mind

Problem

•Secure channel communications between cloud and on-premises

•Allow for loosely coupled multi-cast messaging

•Utilize open security standards for authentication and authorization

Requirements

Integration & Security

Traditional

• Establish point to point tunnels

between data centers and on-

premises resources

• Implement custom or third party

mobile device messaging system

• Write custom code to integrate

with OpenID providers

Azure

• Communicate with on-premises

databases using Azure Connect

• Azure Service Bus to

communicate with on-premises

loosely coupled systems

• Azure Service Bus messaging for

multi-casting to intermittent

connected mobile devices

• Azure Access Control Services to

integrate with OpenID providers

Solutions

Azure

Overview

Variable

Demand

Availability,

Reliability,

and

Performance

Cost

Management

Product

Agility

Integration &

Security Example

Agenda

Example SaaS Architecture on Azure