View
255
Download
2
Category
Preview:
DESCRIPTION
Citation preview
Architecting SaaS Applications to
Exploit Windows Azure’s Highly Elastic Cloud Platform
Presenter
•Greg Johnson
•Director of Consulting
Services, Terrace
Software
•gregj@terrace.com
•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
Recommended