04.08.2012 Views

Building Saas Applications on Microsoft Azure

Building Saas Applications on Microsoft Azure

Building Saas Applications on Microsoft Azure

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<str<strong>on</strong>g>Building</str<strong>on</strong>g> SaaS <str<strong>on</strong>g>Applicati<strong>on</strong>s</str<strong>on</strong>g><br />

<strong>on</strong> <strong>Microsoft</strong> <strong>Azure</strong><br />

November 2011<br />

www.zensar.com | © Zensar Technologies 2011


Software as a Service (SaaS) – Various Dimensi<strong>on</strong>s<br />

What is SaaS<br />

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

the Software is<br />

• Hosted centrally<br />

• Accessed through internet<br />

• Normally accessed using thin client (browser)<br />

Business<br />

• Subscripti<strong>on</strong> based<br />

rather than Purchasing<br />

• Normally pay-per-use<br />

payment models<br />

Operati<strong>on</strong>s<br />

• Easy Deployment and<br />

upgrades<br />

• Quick scale-out<br />

• Normally a single code<br />

set<br />

Technology<br />

• Multi-tenancy<br />

• Data segregati<strong>on</strong><br />

• C<strong>on</strong>figurati<strong>on</strong> /<br />

Pers<strong>on</strong>alizati<strong>on</strong><br />

www.zensar.com | © Zensar Technologies 2011 2


SaaS – Different Levels<br />

• Diff. code<br />

• Diff. instances<br />

• Same code<br />

• Same instance<br />

• Same code<br />

• Diff. instances<br />

• Same code<br />

• Horiz<strong>on</strong>tally<br />

scaled instances<br />

Source: MSDN Article 2006 http://msdn.microsoft.com/en-us/library/aa479069.aspx<br />

www.zensar.com | © Zensar Technologies 2011 3


SaaS Characteristics<br />

Tenant<br />

Management<br />

Super Admin<br />

• Tenant creati<strong>on</strong><br />

• Subscripti<strong>on</strong> plan<br />

creati<strong>on</strong><br />

• Usage m<strong>on</strong>itoring<br />

– app level<br />

Tenant Admin<br />

• User creati<strong>on</strong><br />

• C<strong>on</strong>figurati<strong>on</strong><br />

• Usage m<strong>on</strong>itoring<br />

– tenant level<br />

Tenant Users<br />

• Access business<br />

functi<strong>on</strong>ality<br />

• User level<br />

c<strong>on</strong>figurati<strong>on</strong> (if<br />

provided)<br />

Tenant<br />

Admin<br />

Users<br />

Super<br />

Admin<br />

Tenant 1<br />

SaaS Applicati<strong>on</strong><br />

(Same instance for<br />

different tenants)<br />

Tenant<br />

Admin<br />

Users<br />

Tenant 2<br />

How to achieve Multi-tenancy<br />

Separate<br />

DBs<br />

Same DB<br />

Separate<br />

Schemas<br />

Same DB<br />

Same<br />

Schema<br />

Tenant – specific<br />

C<strong>on</strong>figurati<strong>on</strong><br />

www.zensar.com | © Zensar Technologies 2011 4<br />

…<br />

Tenant<br />

Admin<br />

Users<br />

Tenant n<br />

• Branding (Logos, etc.)<br />

• Colour themes<br />

• UI positi<strong>on</strong>ing<br />

• Tenant-specific Fields


SaaS Applicati<strong>on</strong> <strong>on</strong> <strong>Microsoft</strong> <strong>Azure</strong><br />

Combining the power of SaaS and Cloud<br />

• Scaling:<br />

– SaaS applicati<strong>on</strong> requires Scaling - <strong>Azure</strong> makes it very easy<br />

not <strong>on</strong>ly to scale-up but also to scale-down<br />

– Applicati<strong>on</strong> can be divided into multiple web / worker roles to<br />

be scaled according to requirement<br />

• Applicati<strong>on</strong> can be deployed to specific geography<br />

• Pay-per-use model of SaaS applicati<strong>on</strong> is backed up by<br />

the same model at the platform level<br />

• Use of C<strong>on</strong>tent Delivery Network for large BLOB c<strong>on</strong>tent<br />

• Other inherent Cloud advantages<br />

– No upfr<strong>on</strong>t infrastructure cost<br />

– No upfr<strong>on</strong>t licensing cost<br />

www.zensar.com | © Zensar Technologies 2011 5


Case Study – ZenAutoPro<br />

Business Challenge<br />

• Testing Professi<strong>on</strong>als<br />

need separate licenses<br />

to generate automated<br />

Test Script<br />

• The initial system was<br />

developed as a desktop<br />

applicati<strong>on</strong> needing<br />

separate installati<strong>on</strong>s.<br />

• Difficult to make<br />

customer-specific<br />

changes and maintain<br />

each of them<br />

ZenAutoPro is a cloud hosted (<strong>Microsoft</strong> <strong>Azure</strong>) applicati<strong>on</strong> for<br />

Automati<strong>on</strong> Test Scripts generati<strong>on</strong> that can be used by multiple<br />

customers / internal testing teams <strong>on</strong> "As A Service" basis.<br />

Soluti<strong>on</strong> Provided Provided<br />

• Developed Cloud<br />

enabled Web<br />

Applicati<strong>on</strong> using<br />

Windows <strong>Azure</strong> cloud<br />

• Use of SaaS Framework<br />

developed by Zensar to Benefit<br />

implement standard<br />

SaaS features<br />

• Separate Schemas are<br />

maintained to achieve<br />

data segregati<strong>on</strong> am<strong>on</strong>g<br />

different customers<br />

• <strong>Azure</strong> Diagnostics to<br />

maintain the Logs Customer<br />

Customer Benefit<br />

• Possible reducti<strong>on</strong> in<br />

licensing cost<br />

• Reduced Infrastructure<br />

and Software<br />

maintenance cost<br />

• Easier deployment ,<br />

maintenance and<br />

support<br />

• Dynamic scalability<br />

(easy scale up and scale<br />

down)<br />

www.zensar.com | © Zensar Technologies 2011 6


SaaS <str<strong>on</strong>g>Applicati<strong>on</strong>s</str<strong>on</strong>g><br />

Need for Framework Based Approach<br />

SaaS App 1<br />

Business<br />

Functi<strong>on</strong>ality<br />

Tenant Management<br />

Metering and Billing<br />

C<strong>on</strong>figurability /<br />

Branding<br />

SaaS App 1<br />

Business<br />

Functi<strong>on</strong>ality<br />

SaaS Framework<br />

Comp<strong>on</strong>ents<br />

• Tenant Mgmt<br />

• Metering/Billing<br />

• C<strong>on</strong>figurability<br />

SaaS App 2<br />

Business<br />

Functi<strong>on</strong>ality<br />

Tenant Management<br />

Metering and Billing<br />

C<strong>on</strong>figurability /<br />

Branding<br />

A Better Approach would be as below<br />

Business<br />

Functi<strong>on</strong>ality<br />

SaaS Framework<br />

Comp<strong>on</strong>ents<br />

• Tenant Mgmt<br />

• Metering/Billing<br />

• C<strong>on</strong>figurability<br />

SaaS App 1 and App 2 are<br />

independently implementing very<br />

similar SaaS-specific features<br />

• Duplicati<strong>on</strong> of code/efforts<br />

• Missing out / insufficient<br />

implementati<strong>on</strong> of standard SaaS<br />

features<br />

SaaS App 2 • Standard SaaS features<br />

implemented <strong>on</strong>ce in the SaaS<br />

framework and Re-used by all<br />

applicati<strong>on</strong>s<br />

• <str<strong>on</strong>g>Applicati<strong>on</strong>s</str<strong>on</strong>g> can c<strong>on</strong>centrate <strong>on</strong><br />

business functi<strong>on</strong>ality<br />

www.zensar.com | © Zensar Technologies 2011 7


SaaS Framework System Architecture<br />

www.zensar.com | © Zensar Technologies 2011 8


Mapping a typical SaaS applicati<strong>on</strong> to <strong>Azure</strong><br />

www.zensar.com | © Zensar Technologies 2011 9


Summary<br />

Benefits of Framework based approach <strong>on</strong> <strong>Azure</strong><br />

• Flexibility of starting-small still maintaining the<br />

scalability<br />

• SQL <strong>Azure</strong> allowed Multi-tenancy to be achieved<br />

different schema level in the same database<br />

• Very small learning curve for team members<br />

• Tenant Management and Metering/Billing became<br />

highly c<strong>on</strong>figurable<br />

– Tenant name and fields, UDFs, Subscripti<strong>on</strong> types, User<br />

defined transacti<strong>on</strong>s, Billing cycles<br />

• C<strong>on</strong>figurability<br />

– At SaaS provider level<br />

– At Tenant level<br />

www.zensar.com | © Zensar Technologies 2011 10


Thank you<br />

www.zensar.com | © Zensar Technologies 2011

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!