building saasapplications on microsoft azure on microsoft azure combining the power of saasand cloud...

11
Building SaaSApplications on Microsoft Azure November 2011 www.zensar.com | © Zensar Technologies 2011

Upload: doannhu

Post on 29-May-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Building SaaS Applications

on Microsoft Azure

November 2011

www.zensar.com | © Zensar Technologies 2011

Software as a Service (SaaS) – Various Dimensions

What is SaaS

SaaS is a Software Delivery Model (“As a Service” as against “Licensed”) where

the Software is• Hosted centrally

• Accessed through internet• Normally accessed using thin client (browser)

www.zensar.com | © Zensar Technologies 2011 2

Business

• Subscription based

rather than Purchasing

• Normally pay-per-use

payment models

Operations

• Easy Deployment and

upgrades

• Quick scale-out

• Normally a single code

set

Technology

• Multi-tenancy

• Data segregation

• Configuration /

Personalization

SaaS – Different Levels

• Diff. code

• Diff. instances

• Same code

• Diff. instances

www.zensar.com | © Zensar Technologies 2011 3Source: MSDN Article 2006 http://msdn.microsoft.com/en-us/library/aa479069.aspx

• Same code

• Same instance

• Same code

• Horizontally

scaled instances

Tenant

Management

SaaS Characteristics

How to achieve Multi-tenancy

Separate

DBs

Same DB

Separate

Schemas

Same DB

Same

Schema

SaaS Application

(Same instance for

different tenants)

Super

Admin

Super Admin

• Tenant creation

• Subscription plan

creation

• Usage monitoring

– app level

Tenant – specific

www.zensar.com | © Zensar Technologies 2011 4

Tenant 1

Tenant

Admin

Users

Tenant Admin

• User creation

• Configuration

• Usage monitoring

– tenant level

Tenant 2

Tenant

Admin

Users

Tenant n

Tenant

Admin

Users

Tenant – specific

Configuration

• Branding (Logos, etc.)

• Colour themes

• UI positioning

• Tenant-specific Fields

Tenant Users

• Access business

functionality

• User level

configuration (if

provided)

SaaS Application on Microsoft Azure

Combining the power of SaaS and Cloud

• Scaling:

– SaaS application requires Scaling - Azure makes it very easy not only to scale-up but also to scale-down

– Application can be divided into multiple web / worker roles to be scaled according to requirement

• Application can be deployed to specific geography

Pay-per-use model of SaaS application is backed up by • Pay-per-use model of SaaS application is backed up by the same model at the platform level

• Use of Content Delivery Network for large BLOB content

• Other inherent Cloud advantages

– No upfront infrastructure cost

– No upfront licensing cost

www.zensar.com | © Zensar Technologies 2011 5

Case Study – ZenAutoProB

usin

ess C

ha

llen

ge • Testing Professionals

need separate licenses to generate automated

• Testing Professionals need separate licenses to generate automated S

olu

tio

n P

rovid

ed • Developed Cloud

enabled Web Application using

• Developed Cloud enabled Web Application using

Cu

sto

me

r B

en

efit • Possible reduction in

licensing cost• Possible reduction in

licensing cost

ZenAutoPro is a cloud hosted (Microsoft Azure) application for Automation Test Scripts generation that can be used by multiple customers / internal testing teams on "As A Service" basis.

Bu

sin

ess C

ha

llen

ge

to generate automated Test Script

• The initial system was developed as a desktop application needing separate installations.

• Difficult to make customer-specific changes and maintain each of them

to generate automated Test Script

• The initial system was developed as a desktop application needing separate installations.

• Difficult to make customer-specific changes and maintain each of them

So

lutio

n P

rovid

ed

Application using Windows Azure cloud

• Use of SaaS Framework developed by Zensar to implement standard SaaS features

• Separate Schemas are maintained to achieve data segregation among different customers

• Azure Diagnostics to maintain the Logs

Application using Windows Azure cloud

• Use of SaaS Framework developed by Zensar to implement standard SaaS features

• Separate Schemas are maintained to achieve data segregation among different customers

• Azure Diagnostics to maintain the Logs C

usto

me

r B

en

efit

• Reduced Infrastructure and Software maintenance cost

• Easier deployment , maintenance and support

• Dynamic scalability (easy scale up and scale down)

• Reduced Infrastructure and Software maintenance cost

• Easier deployment , maintenance and support

• Dynamic scalability (easy scale up and scale down)

www.zensar.com | © Zensar Technologies 2011 6

SaaS Applications

Need for Framework Based Approach

SaaS App 1 and App 2 are

independently implementing very

similar SaaS-specific features

• Duplication of code/efforts

• Missing out / insufficient

implementation of standard SaaS

features

Business

Functionality

Tenant Management

Metering and Billing

Configurability /

Branding

SaaS App 1

Business

Functionality

Tenant Management

Metering and Billing

Configurability /

Branding

SaaS App 2

www.zensar.com | © Zensar Technologies 2011 7

Business

Functionality

SaaS Framework

Components

• Tenant Mgmt

• Metering/Billing

• Configurability

SaaS App 1

Business

Functionality

SaaS Framework

Components

• Tenant Mgmt

• Metering/Billing

• Configurability

SaaS App 2 • Standard SaaS features

implemented once in the SaaS

framework and Re-used by all

applications

• Applications can concentrate on

business functionality

A Better Approach would be as below

SaaS Framework System Architecture

www.zensar.com | © Zensar Technologies 2011 8

Mapping a typical SaaS application to Azure

www.zensar.com | © Zensar Technologies 2011 9

SummaryBenefits of Framework based approach on Azure

• Flexibility of starting-small still maintaining the scalability

• SQL Azure allowed Multi-tenancy to be achieved different schema level in the same database

• Very small learning curve for team members

• Tenant Management and Metering/Billing became • Tenant Management and Metering/Billing became highly configurable

– Tenant name and fields, UDFs, Subscription types, User defined transactions, Billing cycles

• Configurability

– At SaaS provider level

– At Tenant level

www.zensar.com | © Zensar Technologies 2011 10

Thank you

www.zensar.com | © Zensar Technologies 2011