SlideShare a Scribd company logo
1 of 33
Download to read offline
Building
                                        SaaS
                                        Products
                                        with Azure
A Windows Azure approach towards building SAAS Solutions
Introduction
• Software as a service (SaaS, pronounced sæs or sɑs), sometimes
  referred to as "on-demand software", is a software delivery
  model in which software and associated data are
  centrally hosted on the cloud. SaaS is typically accessed
  by users using a thin client via a web browser.

• SAAS is fundamentally a business model where the application is
  owned, operated and managed by the vendor. The consumer
  pays for the usage and consumes the application.

• SAAS offers a “hands-off” model for consumers which frees the
  consumer from pain of server/application management and
  instead allows the consumer to focus on business.
                                                                    2
SAAS
                                         Intranet
                                         Solutions
                               Desktop
                               Applications
                         Mainfra
                         mes


SAAS and Windows Azure

SAAS AND THE ISV                                            3
SAAS and ISV
                     Operational
                      Structure




                     SAAS
      Technology                   Business
      Architecture                  Model

                                              4
ISV Realignments
• Operational Structure

  • Operational structure of the organization needs to be realigned to
    support an internet based solution both in terms of rapid
    development and also in terms of support offerings

• Business Model

  • SAAS enabling the solution offering requires may require a change in
    terms of pricing models from traditional boxed offerings

• Application Architecture

  • By bringing in multi tenancy, economies of scale can be achieved by     5
    better utilization of infrastructure and the savings can be passed on
    to consumers
SAAS Advantages
• SAAS offerings are increasingly being considered within
  enterprises due to the following advantages

  • Pricing – Most of the SAAS offerings are Multi Tenant enabling
    vendors to reduce prices due to economies of scale

  • Accelerated Feature Delivery – SAAS offerings are delivered from
    Internet allowing vendors to update and offer new features regularly

  • Open Protocols – Increased competition and multi tenant nature of
    software forces vendors offer standard API’s for data access over
    open protocols

  • Customization and Configuration – To reduce onboarding effort of
    customers, SAAS offerings typically offer self service customization   6
    and configuration options to end users
SAAS

                              PAAS

                              IAAS
SAAS and ISV

ARCHITECTURE CONSIDERATIONS          7
Multi Tenancy
• Multi Tenancy is considered an essential part of SAAS systems. By
  adding an abstraction layer over the product, it enables ISV to optimally
  utilize the hardware and achieve economies of scale

• Compared to on-premise installation, bringing multi tenancy introduces
  additional complexity in terms of customization and data privacy

• Customization is a tricky topic as analysts have made both pro and anti
  customization calls
  • Customization branches the code making code management problems
  • Without customization, customers may move not decide to buy the
    service as every business is unique

• Ideal SAAS product should have “Single Code base used by multiple           8
  customers”.
Theming
• Theming is an essential strategy within the application
  architecture to ensure that the customer feels that the solution
  aligns with the rest of the internal applications

• Theming may include one or more of the following elements
  •   Customer Logo
  •   Application colors and themes
  •   Application Layout
  •   Dashboards

• To ensure that the product branding is intact, the product logo
  can be part of the footer with a link to the product portal

• It may not be necessary to offer a user level color theme as part   9
  of customization
Metering
• Metering is the process of monitoring usage and tracking application
  use

• Recommendation is to log all requests and all access requests

• Metering should also log business metrics
  • Number of invoices generated
  • Number of courses played


• Helps in multiple billing methodology for different flavors of customers

• Metering also helps in capacity planning and knowing system health

                                                                             10
• Consolidated metering information related to tenant can be made
  available pro-actively to customer administrators
Billing
• Pricing models for SAAS applications vary based on type of application,
  usage, customer profile, etc…

• Unlike the boxed product, a SAAS product can have innovative pricing
  models
  •   User based
  •   Usage based
  •   Fixed monthly cost
  •   Fixed yearly cost
  •   Freemium
  •   Multi year contracts

• Billing models can be tested out early during trials to identify usage and
  can be finalized later
                                                                               11
• Amortization of total cost can be over multiple customers – multiple
  billing cycles
Identity and Access Management
• Security is paramount in a SAAS system

• Enterprises are used to having their own infrastructure to access
  products through intranet

• SAAS needs to offer a comprehensive system to manage users,
  roles and access permissions for different features of the
  application.

• In addition, as part of the infrastructure, it is imperative to enable
  intrusion prevention, DDOS prevention and Firewall management.

                                                                           12
• Extending identity from customer infrastructure reduces identity
  management pains for the customer
Data and Application Integration
• Integration is a core need to every enterprise to ensure that data
  from one application is available for consumption by other

• Integration needs vary based on different types and usage of
  SAAS application

• Data integration and connectivity capabilities are important to
  reduce support calls and help customer teams to work without
  hindrance

• Multiple choices can be offered by SAAS ISV to enable integration
  • CSV download of core data through graphical interface
  • REST/ODATA based API for full access to database                          13
  • Read only access to database through firewall whitelisting of client IP
SLA Monitoring
• With Product hosted on Internet and managed by the ISV, it is
  essential to guarantee SLA for customers to have confidence in
  the solution

• SLA guarantee can be promised for the following aspects
  • Availability
  • Performance
  • Security

• A service guarantee to customer also helps in to build the
  necessary monitoring layer into the application that governs all
  the aspects of the application
                                                                     14
Automated Provisioning
• Onboard customers automatically with the shortest time and
  customer support effort

• Automated provisioning also helps with offering trial plans for
  prospects

• Self service customization makes it easier for customers to modify
  the service offering to fit their company needs

• Self managed tenant accounts liberates the support team from
  routine activities and reduces support calls

• Provisioning on multi tenant SAAS systems require no changes to
  infrastructure and only adds records to Tenant Information           15
  Database
Customization
• Customization can be offered at multiple levels depending on the
  need of the industry

• Table Structure
  • Allow additional fields to have tenant specific information
  • Fixed number of columns in each table for customization
  • Fully extensible EAV tables for complex and unlimited extensibility

• Workflow
  • Control process flow and customize flow authorization
  • Drag and Drop managed workflow for self service
  • Factory pattern based coded workflow by ISV support team for
    complex scenarios                                                     16
Governance
• SAAS application being owned, hosted and managed by ISV, the
  onus of governance and compliance needs if any falls on the ISV

• Compliance rules may require verification of the following aspects
  • Infrastructure
      • Physical Security, Firewall, etc…

  • Data Security
      • Encryption in Transit and at rest

  • Certifications
      • Industry specific validations

• Governance concerns are high in enterprises and
  compliance/certifications can allay the fears of IT decision         17
  authorities
Hybrid SAAS Architecture
• Not all customers look at cost as a factor when it comes to buying
  SAAS solutions

• Customers are worried about data security and privacy in multi
  tenant solutions. Due to governance rules within the customer
  legal department, customers may not prefer SAAS solutions

• To ensure that the product caters to all customers, developing a
  hybrid solution covers all types of customers
  • Multi tenant SAAS solution for SMB’s
  • Independent hosting for other customers
  • Boxed product of same codebase for intranet customers

• Architecture needs to have a Factory based implementation of         18
  critical components to support both on-premise and cloud based
  services
Disaster Recovery
• Disaster recovery policy for SAAS applications are necessary since
  the infrastructure management is handled by the ISV

• DR Strategies can vary based on time to recovery, point of
  recovery objectives

• Cloud based infrastructure enables quick recovery

• For Hot DR, it is essential to have an effective DNS services that
  quickly updates the DNS records
   DR Type           Cost               Time to recover
   Cold              Low                High
                                                                       19
   Warm              Medium             Medium
   Hot               High               Low
Software + Service: An Enterprise Perspective              20
          Courtesy: Microsoft Architecture Strategy Team
SAAS and Windows Azure

DESIGN CONSIDERATIONS    21
SAAS - Application Access
• Application access via Internet can be customized to allow the customer
  to personalize the product

• URL is the singular way to identify a tenant in a multi tenant setup
  without exposing the list of tenants to others
  • Subdomains
      •   http://customer.product-brand.com
      •   Supports both the customer and product branding
      •   CNAME redirection to the Azure hosted service URL using DNS dashboard
      •   ISV managed DNS mappings
  • Customer URL
      • http://productname.customer.com
      • Product branding in URL is lost even though the application may have product
        logo displayed in the UI
      • Customer managed DNS mappings
                                                                                       22
• For both methods, map the tenant URL to Windows Azure application
  URL using DNS CNAME records
Multi Tenancy – Data Privacy
• Multi Tenancy adds the complexity of data privacy to the
  architecture.
• Data Privacy has to be enforced at 2 levels – Data and File Storage
• For File storage, use multiple storage accounts on Windows Azure
  Blob Storage
• At Database level, there’re 3 different ways to do multi-tenancy
  • Single Schema for all customers – Using TenantID column on all
    tables, low cost, high risk
  • Multiple Schema – Allow different tenants to have different schemas
    and at application level have multiple SQL user based access – Low
    cost, high complexiety
  • Multiple Database – Independent database for each customer, high
    cost, no risk
                                                                          23
  • SQL Azure Federations – Shard database using TenantID, low cost,
    optimized
High Availability
• Application Availability can be improved by consuming inherent fault
  tolerant code blocks/services

• Windows Azure compute is by default fault tolerant and starts up
  automatically in case of failures

• Application SLA targets can be achieved by enabling the application to
  run in high availability mode

• Windows Azure by default guarantees 99.5% uptime guarantee if an
  application is run on a minimum of 2 nodes

• SQL Azure guarantees an uptime of 99.5% for their services

• By building stateless web/app tier and by adding retry logic within data   24
  access calls, SLA guarantee for SAAS applications can be made to
  customer
Identity Management
• For enterprises, integration with their internal IT security for
  identity management is important
  • Microsoft Active Directory
  • LDAP

• Federated identity is the easiest way for integration with
  enterprise security for SAAS applications
  • Microsoft Active Directory Federation Services
  • Windows Azure Active Directory

• SAAS systems need to cater for both SMB and Enterprises. It is
  essential to build an integrated identity management solution
  within the product to cater to SMB needs.                          25
  • SQL Authentication
Session
• For high availability, Stateless web/app tiers are necessary

• Web tier usually maintains session state in memory for active
  users

• To enable Stateless web server design, state information can be
  moved to any of the following Windows Azure Services
  • SQL Azure
  • Windows Azure Table Storage
  • Windows AppFabric Caching

• Moving session state out of memory increases session access
  latency but the impact is usually minimal                         26
Caching
• Application performance and throughput can be improve manifold by
  incorporating a caching strategy within the product

• Caching can be employed in multiple layers with minimal or no cost
  •   Data
  •   HTML Server Pages
  •   Proxy Server
  •   Browser

• For Data and Server Caching needs, employ cloud based caching
  services for high availability and scalability
  • Windows Azure Appfabric Cache
  • Memcache

• For proxy/browser caching, set the appropriate HTTP headers to ensure
  that data is cached in transit
                                                                          27
• Employ strategies to invalidate stale data in both scenarios
Scalability
• Windows Azure is an elastic environment which allows machines to be
  added/removed to the cluster at ease

• By adding auto scaling block to the web/app tier, an application can
  dynamically add/remove servers to the tier without lowering
  performance and with minimal cost considerations

• Scaling rules can be applied on web/app tier as
  • Add new instance to the group if average CPU utilization is over 75% for
    last 60 seconds
  • Add new instance to the group if the number of pending items in Queue
    is over 250 for last 180 seconds
  • Remove an instance from the web/app tier if the average memory
    utilization is less than 20% for last 120 seconds

• Scaling works without issues in the following scenarios
  • Stateless services                                                         28
  • Lock based object lookup / processing
Performance
• Split the application into multiple types
   • Static Data
   • Dynamic Data

• Use Windows Azure Blob Storage for delivering static data
   • Javascript
   • Images
   • CSS

• By splitting the load between multiple domains, the browser optimally downloads
  the content increasing throughput of web servers

• Effective caching strategy reduces the amount of download making web applications
  load quickly

• Configuring multiple buckets and having multiple URL’s configured improves overall
  content delivery to User browser

• CDN enabling the blob storage can reduce the network latency and deliver files from
  a closer data center location                                                         29

• Compress web content using GZIP/Deflate methods to reduce the content size
Encryption
• Encryption is a core part of security compliance for certificates
  like PCI

• Encryption has to be done for data in both forms
  • In Transit
  • In Rest

• Connectivity between Browser and Web Server can be encrypted
  using SSL/TLS services
  • Web roles can be secured using Server certificates
  • Blob storage allows both http/https access using MS certificate

• Enable Secure connection for database calls                         30
Logging
• Plugging Logging module into applications are easier due to
  existence of multiple frameworks
  • Log4Net
  • Microsoft Enterprise Library Logging block

• Securely transfer all logs to Windows Azure Table storage and
  Windows Azure blobs
  •   IIS Logs
  •   Application Logs
  •   Performance Metrics
  •   Errors and Exception logs
  •   Crash dumps

• Data is paramount to analyze and monitor SLA. The data is also   31
  essential to scale out applications during heavy loads
SAAS – Multi Tenant Design




                             32
Contact Us @

AZURE@8KMILES.COM OR   33

CLOUD@8KMILES.COM

More Related Content

What's hot

AWS Security Week: AWS Secrets Manager
AWS Security Week: AWS Secrets ManagerAWS Security Week: AWS Secrets Manager
AWS Security Week: AWS Secrets ManagerAmazon Web Services
 
Capgemini Cloud Assessment - A Pathway to Enterprise Cloud Migration
Capgemini Cloud Assessment - A Pathway to Enterprise Cloud MigrationCapgemini Cloud Assessment - A Pathway to Enterprise Cloud Migration
Capgemini Cloud Assessment - A Pathway to Enterprise Cloud MigrationFloyd DCosta
 
Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platformdhruv_chaudhari
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless ArchitectureElana Krasner
 
Cloud Computing and Amazon Web Services
Cloud Computing and Amazon Web ServicesCloud Computing and Amazon Web Services
Cloud Computing and Amazon Web ServicesAditya Jha
 
AWS Partner Summit London 2015 - Keynote
AWS Partner Summit London 2015 - KeynoteAWS Partner Summit London 2015 - Keynote
AWS Partner Summit London 2015 - KeynoteAmazon Web Services
 
Cloud Migration, Application Modernization and Security for Partners
Cloud Migration, Application Modernization and Security for PartnersCloud Migration, Application Modernization and Security for Partners
Cloud Migration, Application Modernization and Security for PartnersAmazon Web Services
 
AWS Cloud Migration Insights Forum
AWS Cloud Migration Insights ForumAWS Cloud Migration Insights Forum
AWS Cloud Migration Insights ForumAmazon Web Services
 
Platform Engineering
Platform EngineeringPlatform Engineering
Platform EngineeringOpsta
 
Microsoft Azure Cloud Services
Microsoft Azure Cloud ServicesMicrosoft Azure Cloud Services
Microsoft Azure Cloud ServicesDavid J Rosenthal
 
The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?Codit
 
What Is Serverless Computing
What Is Serverless ComputingWhat Is Serverless Computing
What Is Serverless ComputingCapital Numbers
 
Defining Your Cloud Strategy
Defining Your Cloud StrategyDefining Your Cloud Strategy
Defining Your Cloud StrategyInternap
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing MicroservicesDavid Chou
 
Azure Migration Program Pitch Deck
Azure Migration Program Pitch DeckAzure Migration Program Pitch Deck
Azure Migration Program Pitch DeckNicholas Vossburg
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Executing a Large-Scale Migration to AWS
Executing a Large-Scale Migration to AWSExecuting a Large-Scale Migration to AWS
Executing a Large-Scale Migration to AWSAmazon Web Services
 
Cloud Migration, Application Modernization, and Security
Cloud Migration, Application Modernization, and Security Cloud Migration, Application Modernization, and Security
Cloud Migration, Application Modernization, and Security Tom Laszewski
 

What's hot (20)

AWS Security Week: AWS Secrets Manager
AWS Security Week: AWS Secrets ManagerAWS Security Week: AWS Secrets Manager
AWS Security Week: AWS Secrets Manager
 
Capgemini Cloud Assessment - A Pathway to Enterprise Cloud Migration
Capgemini Cloud Assessment - A Pathway to Enterprise Cloud MigrationCapgemini Cloud Assessment - A Pathway to Enterprise Cloud Migration
Capgemini Cloud Assessment - A Pathway to Enterprise Cloud Migration
 
Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platform
 
Partnering with AWS
Partnering with AWSPartnering with AWS
Partnering with AWS
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
 
Cloud Computing and Amazon Web Services
Cloud Computing and Amazon Web ServicesCloud Computing and Amazon Web Services
Cloud Computing and Amazon Web Services
 
AWS Partner Summit London 2015 - Keynote
AWS Partner Summit London 2015 - KeynoteAWS Partner Summit London 2015 - Keynote
AWS Partner Summit London 2015 - Keynote
 
Cloud Migration, Application Modernization and Security for Partners
Cloud Migration, Application Modernization and Security for PartnersCloud Migration, Application Modernization and Security for Partners
Cloud Migration, Application Modernization and Security for Partners
 
AWS Cloud Migration Insights Forum
AWS Cloud Migration Insights ForumAWS Cloud Migration Insights Forum
AWS Cloud Migration Insights Forum
 
Platform Engineering
Platform EngineeringPlatform Engineering
Platform Engineering
 
AWS Cloud Adoption Framework
AWS Cloud Adoption Framework AWS Cloud Adoption Framework
AWS Cloud Adoption Framework
 
Microsoft Azure Cloud Services
Microsoft Azure Cloud ServicesMicrosoft Azure Cloud Services
Microsoft Azure Cloud Services
 
The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?
 
What Is Serverless Computing
What Is Serverless ComputingWhat Is Serverless Computing
What Is Serverless Computing
 
Defining Your Cloud Strategy
Defining Your Cloud StrategyDefining Your Cloud Strategy
Defining Your Cloud Strategy
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing Microservices
 
Azure Migration Program Pitch Deck
Azure Migration Program Pitch DeckAzure Migration Program Pitch Deck
Azure Migration Program Pitch Deck
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Executing a Large-Scale Migration to AWS
Executing a Large-Scale Migration to AWSExecuting a Large-Scale Migration to AWS
Executing a Large-Scale Migration to AWS
 
Cloud Migration, Application Modernization, and Security
Cloud Migration, Application Modernization, and Security Cloud Migration, Application Modernization, and Security
Cloud Migration, Application Modernization, and Security
 

Viewers also liked

Architecting SaaS: Doing It Right the First Time
Architecting SaaS: Doing It Right the First TimeArchitecting SaaS: Doing It Right the First Time
Architecting SaaS: Doing It Right the First TimeSerhiy (Serge) Haziyev
 
Open Architecture for Developing Multitenant Software-as-a-Service Applications
Open Architecture for Developing Multitenant Software-as-a-Service ApplicationsOpen Architecture for Developing Multitenant Software-as-a-Service Applications
Open Architecture for Developing Multitenant Software-as-a-Service ApplicationsJavier Mijail Espadas Pech
 
SaaS Architecture Past and Present
SaaS Architecture Past and PresentSaaS Architecture Past and Present
SaaS Architecture Past and PresentTechcello
 
SaaS Business Architecture
SaaS Business ArchitectureSaaS Business Architecture
SaaS Business ArchitectureLincoln Murphy
 
Saa s multitenant database architecture
Saa s multitenant database architectureSaa s multitenant database architecture
Saa s multitenant database architecturemmubashirkhan
 
Security Architecture Best Practices for SaaS Applications
Security Architecture Best Practices for SaaS ApplicationsSecurity Architecture Best Practices for SaaS Applications
Security Architecture Best Practices for SaaS ApplicationsTechcello
 
Revista Turística San Cristóbal de La Laguna
Revista Turística San Cristóbal de La LagunaRevista Turística San Cristóbal de La Laguna
Revista Turística San Cristóbal de La LagunaGlobal Media Press
 
KK Legal Law Firm - Who we are & What we do
KK Legal Law Firm - Who we are & What we doKK Legal Law Firm - Who we are & What we do
KK Legal Law Firm - Who we are & What we dokklegal99
 
Artikel Cobouw: Betonvloer in water kan vaak dunner (11 december 2012)
Artikel Cobouw: Betonvloer in water kan vaak dunner (11 december 2012)Artikel Cobouw: Betonvloer in water kan vaak dunner (11 december 2012)
Artikel Cobouw: Betonvloer in water kan vaak dunner (11 december 2012)Ruud Arkesteijn
 
Dipesh Sheth - Finman Capital Services
Dipesh Sheth - Finman Capital ServicesDipesh Sheth - Finman Capital Services
Dipesh Sheth - Finman Capital ServicesDipesh Sheth
 
Proyecto moodle
Proyecto moodleProyecto moodle
Proyecto moodleGagetedh
 
Hiragana katakana worksheet
Hiragana katakana worksheetHiragana katakana worksheet
Hiragana katakana worksheetWorking in Japan
 
SaaS Introduction-May2014
SaaS Introduction-May2014SaaS Introduction-May2014
SaaS Introduction-May2014Nguyen Tung
 
Treatment Options to Reduce Scarring in Wound Healing
Treatment Options to Reduce Scarring in Wound HealingTreatment Options to Reduce Scarring in Wound Healing
Treatment Options to Reduce Scarring in Wound HealingSuresh Koneru
 
The SaaS business model
The SaaS business modelThe SaaS business model
The SaaS business modelDavid Skok
 
Trabajo final documento de lectura en pdf
Trabajo final   documento de lectura en pdfTrabajo final   documento de lectura en pdf
Trabajo final documento de lectura en pdfnegraleidy
 

Viewers also liked (20)

Architecting SaaS: Doing It Right the First Time
Architecting SaaS: Doing It Right the First TimeArchitecting SaaS: Doing It Right the First Time
Architecting SaaS: Doing It Right the First Time
 
Open Architecture for Developing Multitenant Software-as-a-Service Applications
Open Architecture for Developing Multitenant Software-as-a-Service ApplicationsOpen Architecture for Developing Multitenant Software-as-a-Service Applications
Open Architecture for Developing Multitenant Software-as-a-Service Applications
 
SaaS Architecture Past and Present
SaaS Architecture Past and PresentSaaS Architecture Past and Present
SaaS Architecture Past and Present
 
SaaS Business Architecture
SaaS Business ArchitectureSaaS Business Architecture
SaaS Business Architecture
 
Saa s multitenant database architecture
Saa s multitenant database architectureSaa s multitenant database architecture
Saa s multitenant database architecture
 
Security Architecture Best Practices for SaaS Applications
Security Architecture Best Practices for SaaS ApplicationsSecurity Architecture Best Practices for SaaS Applications
Security Architecture Best Practices for SaaS Applications
 
Revista Turística San Cristóbal de La Laguna
Revista Turística San Cristóbal de La LagunaRevista Turística San Cristóbal de La Laguna
Revista Turística San Cristóbal de La Laguna
 
KK Legal Law Firm - Who we are & What we do
KK Legal Law Firm - Who we are & What we doKK Legal Law Firm - Who we are & What we do
KK Legal Law Firm - Who we are & What we do
 
Artikel Cobouw: Betonvloer in water kan vaak dunner (11 december 2012)
Artikel Cobouw: Betonvloer in water kan vaak dunner (11 december 2012)Artikel Cobouw: Betonvloer in water kan vaak dunner (11 december 2012)
Artikel Cobouw: Betonvloer in water kan vaak dunner (11 december 2012)
 
Credenciales conamat 15
Credenciales conamat 15Credenciales conamat 15
Credenciales conamat 15
 
Guía Única de Programas de Empleo (GUPE)
Guía Única de Programas de Empleo (GUPE)Guía Única de Programas de Empleo (GUPE)
Guía Única de Programas de Empleo (GUPE)
 
Dipesh Sheth - Finman Capital Services
Dipesh Sheth - Finman Capital ServicesDipesh Sheth - Finman Capital Services
Dipesh Sheth - Finman Capital Services
 
Proyecto moodle
Proyecto moodleProyecto moodle
Proyecto moodle
 
El apalancamiento combinado
El apalancamiento combinadoEl apalancamiento combinado
El apalancamiento combinado
 
Catálogo Boen Madrid Forest
Catálogo Boen Madrid ForestCatálogo Boen Madrid Forest
Catálogo Boen Madrid Forest
 
Hiragana katakana worksheet
Hiragana katakana worksheetHiragana katakana worksheet
Hiragana katakana worksheet
 
SaaS Introduction-May2014
SaaS Introduction-May2014SaaS Introduction-May2014
SaaS Introduction-May2014
 
Treatment Options to Reduce Scarring in Wound Healing
Treatment Options to Reduce Scarring in Wound HealingTreatment Options to Reduce Scarring in Wound Healing
Treatment Options to Reduce Scarring in Wound Healing
 
The SaaS business model
The SaaS business modelThe SaaS business model
The SaaS business model
 
Trabajo final documento de lectura en pdf
Trabajo final   documento de lectura en pdfTrabajo final   documento de lectura en pdf
Trabajo final documento de lectura en pdf
 

Similar to Building SaaS products with Windows Azure

Software as a service, software engineering
Software as a service, software engineeringSoftware as a service, software engineering
Software as a service, software engineeringRupesh Vaishnav
 
Radu crahmaliuc 23feb2012
Radu crahmaliuc 23feb2012Radu crahmaliuc 23feb2012
Radu crahmaliuc 23feb2012Agora Group
 
What are cloud service models
What are cloud service modelsWhat are cloud service models
What are cloud service modelsLivin Jose
 
Soa 22 software as a service and soa
Soa 22 software as a service and soaSoa 22 software as a service and soa
Soa 22 software as a service and soaVaibhav Khanna
 
1.Service Models of Cloud Computing .pptx
1.Service Models of Cloud Computing .pptx1.Service Models of Cloud Computing .pptx
1.Service Models of Cloud Computing .pptxGSCWU
 
CloudComputing
CloudComputingCloudComputing
CloudComputingAdi Challa
 
Microsoft cloud continuum
Microsoft cloud continuumMicrosoft cloud continuum
Microsoft cloud continuumMathews Job
 
Cloud computing
Cloud computing Cloud computing
Cloud computing ananyaakk
 
Large Financial Services Company Reduces Deployment Time by 75%
Large Financial Services Company Reduces Deployment Time by 75%Large Financial Services Company Reduces Deployment Time by 75%
Large Financial Services Company Reduces Deployment Time by 75%AppViewX
 
application service provider.ppt
application service provider.pptapplication service provider.ppt
application service provider.pptharsh430623
 
Lecture 10.ppt
Lecture 10.pptLecture 10.ppt
Lecture 10.pptYesuRaju8
 
CLOUD COMPUTING.ppt
CLOUD COMPUTING.pptCLOUD COMPUTING.ppt
CLOUD COMPUTING.pptDss
 

Similar to Building SaaS products with Windows Azure (20)

Software as a service
Software as a serviceSoftware as a service
Software as a service
 
Software as a service, software engineering
Software as a service, software engineeringSoftware as a service, software engineering
Software as a service, software engineering
 
Software-as-a-Service
Software-as-a-ServiceSoftware-as-a-Service
Software-as-a-Service
 
Radu crahmaliuc 23feb2012
Radu crahmaliuc 23feb2012Radu crahmaliuc 23feb2012
Radu crahmaliuc 23feb2012
 
What are cloud service models
What are cloud service modelsWhat are cloud service models
What are cloud service models
 
An introduction and overview to Software as a Service
An introduction and overview to Software as a Service An introduction and overview to Software as a Service
An introduction and overview to Software as a Service
 
Soa 22 software as a service and soa
Soa 22 software as a service and soaSoa 22 software as a service and soa
Soa 22 software as a service and soa
 
1.Service Models of Cloud Computing .pptx
1.Service Models of Cloud Computing .pptx1.Service Models of Cloud Computing .pptx
1.Service Models of Cloud Computing .pptx
 
Architecting SaaS
Architecting SaaSArchitecting SaaS
Architecting SaaS
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
CloudComputing
CloudComputingCloudComputing
CloudComputing
 
Microsoft cloud continuum
Microsoft cloud continuumMicrosoft cloud continuum
Microsoft cloud continuum
 
Cloud computing
Cloud computing Cloud computing
Cloud computing
 
Large Financial Services Company Reduces Deployment Time by 75%
Large Financial Services Company Reduces Deployment Time by 75%Large Financial Services Company Reduces Deployment Time by 75%
Large Financial Services Company Reduces Deployment Time by 75%
 
Module 3-cloud computing
Module 3-cloud computingModule 3-cloud computing
Module 3-cloud computing
 
application service provider.ppt
application service provider.pptapplication service provider.ppt
application service provider.ppt
 
Lecture 10.ppt
Lecture 10.pptLecture 10.ppt
Lecture 10.ppt
 
CLOUD COMPUTING.ppt
CLOUD COMPUTING.pptCLOUD COMPUTING.ppt
CLOUD COMPUTING.ppt
 
SaaS.pptx
SaaS.pptxSaaS.pptx
SaaS.pptx
 
serverless serivices
serverless serivicesserverless serivices
serverless serivices
 

More from 8KMiles Software Services

More from 8KMiles Software Services (9)

APAC Webinar Apr 10 - Architecting your Mobile App for the Cloud
APAC Webinar Apr 10 - Architecting your Mobile App for the CloudAPAC Webinar Apr 10 - Architecting your Mobile App for the Cloud
APAC Webinar Apr 10 - Architecting your Mobile App for the Cloud
 
Are you game for Cloud?
Are you game for Cloud?Are you game for Cloud?
Are you game for Cloud?
 
Preparing your IT infrastructure for thanksgiving
Preparing your IT infrastructure for thanksgivingPreparing your IT infrastructure for thanksgiving
Preparing your IT infrastructure for thanksgiving
 
8KMiles Cloud Solutions
8KMiles Cloud Solutions8KMiles Cloud Solutions
8KMiles Cloud Solutions
 
Hollywood asks "Are you ready for Cloud?"
Hollywood asks "Are you ready for Cloud?"Hollywood asks "Are you ready for Cloud?"
Hollywood asks "Are you ready for Cloud?"
 
Are you prepared for Viral Success?
Are you prepared for Viral Success?Are you prepared for Viral Success?
Are you prepared for Viral Success?
 
Avoid Embarrassment, Use Cloud
Avoid Embarrassment, Use CloudAvoid Embarrassment, Use Cloud
Avoid Embarrassment, Use Cloud
 
Monitoring on Amazon AWS Cloud
Monitoring on Amazon AWS Cloud Monitoring on Amazon AWS Cloud
Monitoring on Amazon AWS Cloud
 
8KMiles Cloud Services on AMAZON AWS
8KMiles Cloud Services on AMAZON AWS8KMiles Cloud Services on AMAZON AWS
8KMiles Cloud Services on AMAZON AWS
 

Recently uploaded

Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 

Recently uploaded (20)

Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 

Building SaaS products with Windows Azure

  • 1. Building SaaS Products with Azure A Windows Azure approach towards building SAAS Solutions
  • 2. Introduction • Software as a service (SaaS, pronounced sæs or sɑs), sometimes referred to as "on-demand software", is a software delivery model in which software and associated data are centrally hosted on the cloud. SaaS is typically accessed by users using a thin client via a web browser. • SAAS is fundamentally a business model where the application is owned, operated and managed by the vendor. The consumer pays for the usage and consumes the application. • SAAS offers a “hands-off” model for consumers which frees the consumer from pain of server/application management and instead allows the consumer to focus on business. 2
  • 3. SAAS Intranet Solutions Desktop Applications Mainfra mes SAAS and Windows Azure SAAS AND THE ISV 3
  • 4. SAAS and ISV Operational Structure SAAS Technology Business Architecture Model 4
  • 5. ISV Realignments • Operational Structure • Operational structure of the organization needs to be realigned to support an internet based solution both in terms of rapid development and also in terms of support offerings • Business Model • SAAS enabling the solution offering requires may require a change in terms of pricing models from traditional boxed offerings • Application Architecture • By bringing in multi tenancy, economies of scale can be achieved by 5 better utilization of infrastructure and the savings can be passed on to consumers
  • 6. SAAS Advantages • SAAS offerings are increasingly being considered within enterprises due to the following advantages • Pricing – Most of the SAAS offerings are Multi Tenant enabling vendors to reduce prices due to economies of scale • Accelerated Feature Delivery – SAAS offerings are delivered from Internet allowing vendors to update and offer new features regularly • Open Protocols – Increased competition and multi tenant nature of software forces vendors offer standard API’s for data access over open protocols • Customization and Configuration – To reduce onboarding effort of customers, SAAS offerings typically offer self service customization 6 and configuration options to end users
  • 7. SAAS PAAS IAAS SAAS and ISV ARCHITECTURE CONSIDERATIONS 7
  • 8. Multi Tenancy • Multi Tenancy is considered an essential part of SAAS systems. By adding an abstraction layer over the product, it enables ISV to optimally utilize the hardware and achieve economies of scale • Compared to on-premise installation, bringing multi tenancy introduces additional complexity in terms of customization and data privacy • Customization is a tricky topic as analysts have made both pro and anti customization calls • Customization branches the code making code management problems • Without customization, customers may move not decide to buy the service as every business is unique • Ideal SAAS product should have “Single Code base used by multiple 8 customers”.
  • 9. Theming • Theming is an essential strategy within the application architecture to ensure that the customer feels that the solution aligns with the rest of the internal applications • Theming may include one or more of the following elements • Customer Logo • Application colors and themes • Application Layout • Dashboards • To ensure that the product branding is intact, the product logo can be part of the footer with a link to the product portal • It may not be necessary to offer a user level color theme as part 9 of customization
  • 10. Metering • Metering is the process of monitoring usage and tracking application use • Recommendation is to log all requests and all access requests • Metering should also log business metrics • Number of invoices generated • Number of courses played • Helps in multiple billing methodology for different flavors of customers • Metering also helps in capacity planning and knowing system health 10 • Consolidated metering information related to tenant can be made available pro-actively to customer administrators
  • 11. Billing • Pricing models for SAAS applications vary based on type of application, usage, customer profile, etc… • Unlike the boxed product, a SAAS product can have innovative pricing models • User based • Usage based • Fixed monthly cost • Fixed yearly cost • Freemium • Multi year contracts • Billing models can be tested out early during trials to identify usage and can be finalized later 11 • Amortization of total cost can be over multiple customers – multiple billing cycles
  • 12. Identity and Access Management • Security is paramount in a SAAS system • Enterprises are used to having their own infrastructure to access products through intranet • SAAS needs to offer a comprehensive system to manage users, roles and access permissions for different features of the application. • In addition, as part of the infrastructure, it is imperative to enable intrusion prevention, DDOS prevention and Firewall management. 12 • Extending identity from customer infrastructure reduces identity management pains for the customer
  • 13. Data and Application Integration • Integration is a core need to every enterprise to ensure that data from one application is available for consumption by other • Integration needs vary based on different types and usage of SAAS application • Data integration and connectivity capabilities are important to reduce support calls and help customer teams to work without hindrance • Multiple choices can be offered by SAAS ISV to enable integration • CSV download of core data through graphical interface • REST/ODATA based API for full access to database 13 • Read only access to database through firewall whitelisting of client IP
  • 14. SLA Monitoring • With Product hosted on Internet and managed by the ISV, it is essential to guarantee SLA for customers to have confidence in the solution • SLA guarantee can be promised for the following aspects • Availability • Performance • Security • A service guarantee to customer also helps in to build the necessary monitoring layer into the application that governs all the aspects of the application 14
  • 15. Automated Provisioning • Onboard customers automatically with the shortest time and customer support effort • Automated provisioning also helps with offering trial plans for prospects • Self service customization makes it easier for customers to modify the service offering to fit their company needs • Self managed tenant accounts liberates the support team from routine activities and reduces support calls • Provisioning on multi tenant SAAS systems require no changes to infrastructure and only adds records to Tenant Information 15 Database
  • 16. Customization • Customization can be offered at multiple levels depending on the need of the industry • Table Structure • Allow additional fields to have tenant specific information • Fixed number of columns in each table for customization • Fully extensible EAV tables for complex and unlimited extensibility • Workflow • Control process flow and customize flow authorization • Drag and Drop managed workflow for self service • Factory pattern based coded workflow by ISV support team for complex scenarios 16
  • 17. Governance • SAAS application being owned, hosted and managed by ISV, the onus of governance and compliance needs if any falls on the ISV • Compliance rules may require verification of the following aspects • Infrastructure • Physical Security, Firewall, etc… • Data Security • Encryption in Transit and at rest • Certifications • Industry specific validations • Governance concerns are high in enterprises and compliance/certifications can allay the fears of IT decision 17 authorities
  • 18. Hybrid SAAS Architecture • Not all customers look at cost as a factor when it comes to buying SAAS solutions • Customers are worried about data security and privacy in multi tenant solutions. Due to governance rules within the customer legal department, customers may not prefer SAAS solutions • To ensure that the product caters to all customers, developing a hybrid solution covers all types of customers • Multi tenant SAAS solution for SMB’s • Independent hosting for other customers • Boxed product of same codebase for intranet customers • Architecture needs to have a Factory based implementation of 18 critical components to support both on-premise and cloud based services
  • 19. Disaster Recovery • Disaster recovery policy for SAAS applications are necessary since the infrastructure management is handled by the ISV • DR Strategies can vary based on time to recovery, point of recovery objectives • Cloud based infrastructure enables quick recovery • For Hot DR, it is essential to have an effective DNS services that quickly updates the DNS records DR Type Cost Time to recover Cold Low High 19 Warm Medium Medium Hot High Low
  • 20. Software + Service: An Enterprise Perspective 20 Courtesy: Microsoft Architecture Strategy Team
  • 21. SAAS and Windows Azure DESIGN CONSIDERATIONS 21
  • 22. SAAS - Application Access • Application access via Internet can be customized to allow the customer to personalize the product • URL is the singular way to identify a tenant in a multi tenant setup without exposing the list of tenants to others • Subdomains • http://customer.product-brand.com • Supports both the customer and product branding • CNAME redirection to the Azure hosted service URL using DNS dashboard • ISV managed DNS mappings • Customer URL • http://productname.customer.com • Product branding in URL is lost even though the application may have product logo displayed in the UI • Customer managed DNS mappings 22 • For both methods, map the tenant URL to Windows Azure application URL using DNS CNAME records
  • 23. Multi Tenancy – Data Privacy • Multi Tenancy adds the complexity of data privacy to the architecture. • Data Privacy has to be enforced at 2 levels – Data and File Storage • For File storage, use multiple storage accounts on Windows Azure Blob Storage • At Database level, there’re 3 different ways to do multi-tenancy • Single Schema for all customers – Using TenantID column on all tables, low cost, high risk • Multiple Schema – Allow different tenants to have different schemas and at application level have multiple SQL user based access – Low cost, high complexiety • Multiple Database – Independent database for each customer, high cost, no risk 23 • SQL Azure Federations – Shard database using TenantID, low cost, optimized
  • 24. High Availability • Application Availability can be improved by consuming inherent fault tolerant code blocks/services • Windows Azure compute is by default fault tolerant and starts up automatically in case of failures • Application SLA targets can be achieved by enabling the application to run in high availability mode • Windows Azure by default guarantees 99.5% uptime guarantee if an application is run on a minimum of 2 nodes • SQL Azure guarantees an uptime of 99.5% for their services • By building stateless web/app tier and by adding retry logic within data 24 access calls, SLA guarantee for SAAS applications can be made to customer
  • 25. Identity Management • For enterprises, integration with their internal IT security for identity management is important • Microsoft Active Directory • LDAP • Federated identity is the easiest way for integration with enterprise security for SAAS applications • Microsoft Active Directory Federation Services • Windows Azure Active Directory • SAAS systems need to cater for both SMB and Enterprises. It is essential to build an integrated identity management solution within the product to cater to SMB needs. 25 • SQL Authentication
  • 26. Session • For high availability, Stateless web/app tiers are necessary • Web tier usually maintains session state in memory for active users • To enable Stateless web server design, state information can be moved to any of the following Windows Azure Services • SQL Azure • Windows Azure Table Storage • Windows AppFabric Caching • Moving session state out of memory increases session access latency but the impact is usually minimal 26
  • 27. Caching • Application performance and throughput can be improve manifold by incorporating a caching strategy within the product • Caching can be employed in multiple layers with minimal or no cost • Data • HTML Server Pages • Proxy Server • Browser • For Data and Server Caching needs, employ cloud based caching services for high availability and scalability • Windows Azure Appfabric Cache • Memcache • For proxy/browser caching, set the appropriate HTTP headers to ensure that data is cached in transit 27 • Employ strategies to invalidate stale data in both scenarios
  • 28. Scalability • Windows Azure is an elastic environment which allows machines to be added/removed to the cluster at ease • By adding auto scaling block to the web/app tier, an application can dynamically add/remove servers to the tier without lowering performance and with minimal cost considerations • Scaling rules can be applied on web/app tier as • Add new instance to the group if average CPU utilization is over 75% for last 60 seconds • Add new instance to the group if the number of pending items in Queue is over 250 for last 180 seconds • Remove an instance from the web/app tier if the average memory utilization is less than 20% for last 120 seconds • Scaling works without issues in the following scenarios • Stateless services 28 • Lock based object lookup / processing
  • 29. Performance • Split the application into multiple types • Static Data • Dynamic Data • Use Windows Azure Blob Storage for delivering static data • Javascript • Images • CSS • By splitting the load between multiple domains, the browser optimally downloads the content increasing throughput of web servers • Effective caching strategy reduces the amount of download making web applications load quickly • Configuring multiple buckets and having multiple URL’s configured improves overall content delivery to User browser • CDN enabling the blob storage can reduce the network latency and deliver files from a closer data center location 29 • Compress web content using GZIP/Deflate methods to reduce the content size
  • 30. Encryption • Encryption is a core part of security compliance for certificates like PCI • Encryption has to be done for data in both forms • In Transit • In Rest • Connectivity between Browser and Web Server can be encrypted using SSL/TLS services • Web roles can be secured using Server certificates • Blob storage allows both http/https access using MS certificate • Enable Secure connection for database calls 30
  • 31. Logging • Plugging Logging module into applications are easier due to existence of multiple frameworks • Log4Net • Microsoft Enterprise Library Logging block • Securely transfer all logs to Windows Azure Table storage and Windows Azure blobs • IIS Logs • Application Logs • Performance Metrics • Errors and Exception logs • Crash dumps • Data is paramount to analyze and monitor SLA. The data is also 31 essential to scale out applications during heavy loads
  • 32. SAAS – Multi Tenant Design 32
  • 33. Contact Us @ AZURE@8KMILES.COM OR 33 CLOUD@8KMILES.COM