SlideShare a Scribd company logo
1 of 36
Software as a Service
                   Challenges and solutions




                      Sathya Narayana Panduranga




© 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
The hype…


     Ariba puts cloud at center of five-year vision
     Forrester's Advice to CFOs: Embrace Cloud
      Computing to Cut Costs
     Gartner Sees Great SAAS Enterprise App Growth
      Despite Downturn
     Venture capitalists eye SaaS companies
     Google Versus Microsoft: The Fight for the Future
      of Cloud Computing
     Salesforce.com Unveils Force.com Cloud
      Computing Architecture
     Oracle CEO Larry Ellison Spits on Cloud
      Computing Hype

2       © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
What is SAAS (software as a service)?


    Application Hosted as a Service (requires
     no or few tech staff at customer premises)
    The service is accessible over Internet
     (Anywhere anytime)
    Usually subscription based billing model
     (pay as you go)
    Centralized software updates
    No up-front cost (CapEx) to customers
    Most successful ones use Cloud Computing
     infrastructure

3      © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Opportunities


    Ability to target global markets
    Ability to serve the long tail
    Can offer ‘try before you buy’ to attract
     customers
    Can build software on preferred platform /
     technology stack
    Version management hassles are reduced
    Software upgrades and fixes need not be a
     nightmare to you or your customers

4      © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Architectural Challenges


    Scalability (remember, the world is our
     market place)
       Resource usage should be frugal
       Resource usage should increase predictably
        with load
       Application architecture should support scaling
        out
    High Availability (reliability)
       Fault tolerance (Recoverability from failure)
      Graceful degradation under load
       True multi-tenancy

5      © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Architecture challenges continued…


    Application Responsiveness (Latency)
      Improve user experience through thicker client
       Parallelize computationally intensive processing
       Reduce data latency by querying/updating
        smaller sets
    Manageability (deployment & monitoring)
       Centralized deployment/node management
       Failure detection and mitigation
      Diagnostics


6      © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Architecture challenges continued…

    Security
       Intrusion prevention
       Web App Security
       Data security


    Multi-tenancy (customizability)
       User interface
      Work flows
       Data model
       Authentication


7      © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Lessons learnt by the SaaS providers over the
    years…




    No single magic bullet (approach) to solving all the challenges.




8       © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Use component based architectures

    Advantages:
    Modularity
    Loose coupling
    Program to an interface
    Easier to maintain and scale




9      © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Partition Database
      Functional segmentation
         Example: Items data separate from User data
      Horizontal split
         Example: Segment data based on range of a primary
          access key (customer id 1-10000 separate from 10001-
          20000)
      Abstract segmentation logic from business logic
       through an intermediate layer (Data access layer)
      Advantages:
         Each module can scale independently
         Can isolate failures
         Can use inexpensive hardware for modules with lighter
          load
         Security vulnerability can be isolated


10       © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Segment 1                 Segment 1
                                                                                                                      backup

             App Server

                   Comp 1                                                                   Segment 2                 Segment 2
                                                            DAL
                                                                                                                      backup


                   Comp 2
                                                                                            Segment 3                 Segment 3
                                                                                                                      backup




                                                   Data Partitioning illustration




11   © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Minimize DB Transactions

     No all-encompassing/distributed
      transactions
     Auto-commit for most DB writes
     Complex DB operations to be done through
      PL/SQL at the DB layer
     Advantages
       Avoids wait-on-locks
       Maximizes update performance
       DB connections can be multiplexed leading to
        better application performance


12      © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Partition Application modules

     Segment application based on modules
        Example: search deployed independently from
         inventory
     Segment application horizontally
       Example: base services, business logic and Web
        UI deployed independently
     Advantages:
        Modules can scale independently
        Standard load balancers can be used between
         modules
        Minimizes resource dependencies


13      © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Little or no session state in web application

      Session state is memory consuming
      Session affinity needs to be taken care of in the
       load balancer
      Transient session state can be maintained through
       a combination of cookies and in-memory database
         Example MemCached (see next slide)
      If session state is maintained, cleanup frequently
       and as early as possible
      Advantages:
         Allows clean modular segmentation
         Higher scalability
         Help user move easily between independently deployed
          applications (Ex: search to inventory)


14       © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
MemCached illustration


                                                                                     Memory cache shared and
                                                                                      addressable from
                                                                                      distributed servers
                                                                                     Advantages
                                                                                                Expanded memory
                                                                                                Data can be stored and
                                                                                                 accessed from any server
                                                                                                 (including non
                                                                                                 participating ones)
                                                                                                Fault tolerance (if one or
                                                                                                 more servers fail, very less
                                                                                                 impact)
                                                                                     Users include Wikipedia,
                                                                                      Flickr, Twitter,
                                                                                      LiveJournal, YouTube etc.

15      © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Move as much processing as possible to
     asynchronous flows
      Integrate disparate components asynchronously
      Requires Message Queue infrastructure (JMS, Websphere MQ etc)
      Programming models: Point-to-point, Publish-subscribe

      Example (P2P):
          Catalog search request is posted in the queue by the web application to the search
           component.
          Search request is processed by the search component in the order it arrived
          The results are posted back to the queue or a temporary table
          Web application displays this result upon refresh

      Example (PubSub): Addition of a new catalog item triggers and event.
       Subscribers of the event asynchronously take care of
          Rebuilding search index.
          Logging the activity

      Advantages:
          Graceful degradation upon load
          Can decouple availability state
          Can retry operations


16         © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Point to point

     Search UI                                                              Search Engine

                                      Req
                                      Queue                                                                                         Messaging
      Id: 1
      Term: xyz
                                      Res                                                                                                Models
                                      Queue
                                                                            Search Engine
                                                                                                                                   illustration
       Search UI




                                     Publish-Subscribe

                                        Add item
          Catalog UI                                                          Catalog



                                                                                    Publish
                                                                                    Event: Add




                     Index Builder                          Activity
                                                            Logger

                                        Subscribers



17   © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Scheduled batch processing


     Move infrequent, periodic or scheduled
      processing out of the application flow
     For example:
        Rebuilding search indices
        Purging deleted items from the catalog




18      © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Adaptive configuration


     System should be able to adapt to changing
      load, processing time etc
     Can change the number of nodes, processor
      threads …
     Load can be measured using message queue
      length or average query execution times …




19      © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Failure detection


     Central LAM (logs, alarms and metrics)
      collection
     Actively (if possible asynchronously) log
      requests, application activity and
      exceptions
     Real time application performance
      monitoring and alerts management
     Buffered disc writes will allow the LAM to
      scale


20      © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Failure mitigation

      Assume everything will fail (network, disc, database, message
       queue, nodes, third party services)
      Detect failure at the earliest and raise alarm
      Try to recover from failure and retry finite number of times
      Log everything (application activity, data size, exception)
      Application operations should always timeout and raise
       alerts
         Example: search query didn’t return results for 5 seconds
          should
                •    timeout
                •    raise an alarm
                •    Try backup resource




21       © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Have roll-out and roll-back plans

     One deployment will affect everyone
     Make sure that every change made during
      roll-out can be rolled back
     Have a roll-back plan so that the
      application can be brought back to the
      previous deployment state easily
     Have feature level switches to turn on/off
        Can be a face saver




22      © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Multi-tenancy support (Customizability)


     Support URL based/URL parameter based
      UI style customization
        In addition, time-zone, language and user agent
         can be detected and used for customization
     Support plug-in based architecture to
      customize complex processing logic and
      custom authentication support
     Support for mixed mode DB schema for
      customizability
        mostly the same DB schema for everyone +
         custom tables for the ones who want to
         customize

23      © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Build with security in mind


      Strong input validation on client and server side
      Detect SQL/Javascript injection patterns
       (signature) for better security
      Throttle connect requests from the same IP
       address to prevent denial-of service attacks
      Escape data output to prevent Javascript injection
      Access to database should not be allowed from
       outside
      Use SSL to communicate between different
       components over the network


24       © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Test for security: Web App
     Vulnerability Analysis tools
                                                                                      Example: Google SkipFish
                                                                                        tool for testing
                                                                                       SQL injection
                                                                                       Shell command injection
                                                                                       Javascript injection
                                                                                       Integer overflow
                                                                                       XSS (cross site scripting)
                                                                                       Denial of service attack




25      © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
In addition……..

     Simplified provisioning and self-service
      drives down costs
     Usability will make or break the product
     Users are touchy about security and
      privacy
     Scalability separates the wheat from the
      chaff
     Customers look to reduce the cost of
      operations through SaaS
     Customizability increases the chances for
      success
26       © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Using Cloud Computing Infrastructure




27      © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
What is Cloud Computing


     Computing using cloud infrastructure
     (Potentially unlimited) pool of computing
      resources offered by a vendor typically
      using a subscription model for each unit of
      resource
     Virtualized infrastructure
     Shared, multi-tenant environment




28      © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
The evolution…




29      © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Cloud Computing Platforms
     (or IaaS / PaaS)

     Microsoft Windows Azure Services
     Amazon EC2 (Elastic Computing Cloud), S3
      (Simple Storage Service)
     Salesforce’ Force.com cloud
     Google’s App Engine
     IBM Blue Cloud
     VMware vCloud Express
     Your own…..

30      © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Using cloud-computing for Scaling




      Dynamically scale up/down the number of
       instances
         Based on load
         Based on required parallelism (to get things done faster)


31       © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
For High Performance Computing (parallel
     processing)




     Popular algorithm Map-Reduce
     Popular platforms: Apache Hadoop,
      Amazon Elastic map-reduce

32      © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
For Storage




     Dynamically scale the size of data-store
     Distributed databases (NOSQL) can be
      used for high update frequency. Popular
      one: Cassandra (used by Facebook)



33      © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Takeaways

     SAAS requires:
      Scalability
      Multi-tenancy
      High-availability
      Responsiveness
      Fault-tolerance
      Security
      Manageability
      Cost-effectiveness



34       © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
Questions




35   © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
© 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.

More Related Content

What's hot

Avamar weekly webcast
Avamar weekly webcastAvamar weekly webcast
Avamar weekly webcaststefriche0199
 
Prueba para postear un ppt
Prueba para postear un pptPrueba para postear un ppt
Prueba para postear un pptGerardo Lema
 
Architecting Next Generation Enterprise Network Storage
Architecting Next Generation Enterprise Network StorageArchitecting Next Generation Enterprise Network Storage
Architecting Next Generation Enterprise Network StorageIMEX Research
 
Imex Research Virtualization Executive Summary On Slideshare
Imex Research Virtualization Executive Summary On SlideshareImex Research Virtualization Executive Summary On Slideshare
Imex Research Virtualization Executive Summary On SlideshareM. R. Pamidi, Ph. D.
 
Herramientas De AdministracióN
Herramientas De AdministracióNHerramientas De AdministracióN
Herramientas De AdministracióNEduardo Castro
 
Next-Gen Data Center: Improving TCO & ROI in Data Centers Through Virtualizat...
Next-Gen Data Center: Improving TCO & ROI in Data Centers Through Virtualizat...Next-Gen Data Center: Improving TCO & ROI in Data Centers Through Virtualizat...
Next-Gen Data Center: Improving TCO & ROI in Data Centers Through Virtualizat...IMEX Research
 
Transform Microsoft Application Environment With EMC Information Infrastructure
Transform Microsoft Application Environment With EMC Information InfrastructureTransform Microsoft Application Environment With EMC Information Infrastructure
Transform Microsoft Application Environment With EMC Information InfrastructureEMC Forum India
 
VMware PEX Boot Camp - ExpressPod – A New Solution to Accelerate Sales in SMB
VMware PEX Boot Camp - ExpressPod – A New Solution to Accelerate Sales in SMB   VMware PEX Boot Camp - ExpressPod – A New Solution to Accelerate Sales in SMB
VMware PEX Boot Camp - ExpressPod – A New Solution to Accelerate Sales in SMB NetApp
 
Atea roadshow norr
Atea roadshow norrAtea roadshow norr
Atea roadshow norrJohan Odell
 
BM Brings Enterprise Functionality to Mid-Range Storage
BM Brings Enterprise Functionality to Mid-Range StorageBM Brings Enterprise Functionality to Mid-Range Storage
BM Brings Enterprise Functionality to Mid-Range StorageIBM India Smarter Computing
 

What's hot (12)

Avamar weekly webcast
Avamar weekly webcastAvamar weekly webcast
Avamar weekly webcast
 
Prueba para postear un ppt
Prueba para postear un pptPrueba para postear un ppt
Prueba para postear un ppt
 
Architecting Next Generation Enterprise Network Storage
Architecting Next Generation Enterprise Network StorageArchitecting Next Generation Enterprise Network Storage
Architecting Next Generation Enterprise Network Storage
 
Imex Research Virtualization Executive Summary On Slideshare
Imex Research Virtualization Executive Summary On SlideshareImex Research Virtualization Executive Summary On Slideshare
Imex Research Virtualization Executive Summary On Slideshare
 
Herramientas De AdministracióN
Herramientas De AdministracióNHerramientas De AdministracióN
Herramientas De AdministracióN
 
Next-Gen Data Center: Improving TCO & ROI in Data Centers Through Virtualizat...
Next-Gen Data Center: Improving TCO & ROI in Data Centers Through Virtualizat...Next-Gen Data Center: Improving TCO & ROI in Data Centers Through Virtualizat...
Next-Gen Data Center: Improving TCO & ROI in Data Centers Through Virtualizat...
 
Transform Microsoft Application Environment With EMC Information Infrastructure
Transform Microsoft Application Environment With EMC Information InfrastructureTransform Microsoft Application Environment With EMC Information Infrastructure
Transform Microsoft Application Environment With EMC Information Infrastructure
 
VMware PEX Boot Camp - ExpressPod – A New Solution to Accelerate Sales in SMB
VMware PEX Boot Camp - ExpressPod – A New Solution to Accelerate Sales in SMB   VMware PEX Boot Camp - ExpressPod – A New Solution to Accelerate Sales in SMB
VMware PEX Boot Camp - ExpressPod – A New Solution to Accelerate Sales in SMB
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Atea roadshow norr
Atea roadshow norrAtea roadshow norr
Atea roadshow norr
 
BM Brings Enterprise Functionality to Mid-Range Storage
BM Brings Enterprise Functionality to Mid-Range StorageBM Brings Enterprise Functionality to Mid-Range Storage
BM Brings Enterprise Functionality to Mid-Range Storage
 
Ace tutorial c
Ace tutorial cAce tutorial c
Ace tutorial c
 

Viewers also liked

What Is Software As A Service Saa S
What Is Software As A Service Saa SWhat Is Software As A Service Saa S
What Is Software As A Service Saa SScioSales
 
Series 33 - G - PPT - History of Pirana satpanth Part 1 of 3
Series 33 - G - PPT - History of Pirana satpanth  Part 1 of 3Series 33 - G - PPT - History of Pirana satpanth  Part 1 of 3
Series 33 - G - PPT - History of Pirana satpanth Part 1 of 3Satpanth Dharm
 
Al AQSA Aarabic
Al AQSA AarabicAl AQSA Aarabic
Al AQSA AarabicOmar Touil
 
Series 33-G- PDF -Pirana satpanth History Gujarati
Series 33-G- PDF -Pirana satpanth  History GujaratiSeries 33-G- PDF -Pirana satpanth  History Gujarati
Series 33-G- PDF -Pirana satpanth History GujaratiSatpanth Dharm
 
OE 35 opening of central institution of sanatanis at sanskar dham, Desalpar
OE 35  opening of central institution of sanatanis at sanskar dham, DesalparOE 35  opening of central institution of sanatanis at sanskar dham, Desalpar
OE 35 opening of central institution of sanatanis at sanskar dham, DesalparSatpanth Dharm
 
Presentación 5 diapositivas
Presentación 5 diapositivasPresentación 5 diapositivas
Presentación 5 diapositivasteresa35
 
OE 43 no confidence against nirman samiti of mandvi hostel
OE 43  no confidence against nirman samiti of mandvi hostelOE 43  no confidence against nirman samiti of mandvi hostel
OE 43 no confidence against nirman samiti of mandvi hostelSatpanth Dharm
 
C b-macpherson-the-life-and-times-of-liberal-democracy
C b-macpherson-the-life-and-times-of-liberal-democracyC b-macpherson-the-life-and-times-of-liberal-democracy
C b-macpherson-the-life-and-times-of-liberal-democracyUniversity of Campinas
 
Power fabri 2
Power fabri 2Power fabri 2
Power fabri 2tecdeinfo
 
CerdasMulia Ramadhan - Training Ramadhan Pesantren Al-Munawaroh
CerdasMulia Ramadhan - Training Ramadhan Pesantren Al-MunawarohCerdasMulia Ramadhan - Training Ramadhan Pesantren Al-Munawaroh
CerdasMulia Ramadhan - Training Ramadhan Pesantren Al-MunawarohArry Rahmawan
 
Gen peace lite conflict responses & peace initiatives
Gen peace lite conflict responses & peace initiativesGen peace lite conflict responses & peace initiatives
Gen peace lite conflict responses & peace initiativesGenPeace
 
GE-17 Avichal Das meeting dated 18-may-2011 -Report
GE-17 Avichal Das meeting dated 18-may-2011 -Report GE-17 Avichal Das meeting dated 18-may-2011 -Report
GE-17 Avichal Das meeting dated 18-may-2011 -Report Satpanth Dharm
 
My strategicplan.strategyhuddle.052610
My strategicplan.strategyhuddle.052610My strategicplan.strategyhuddle.052610
My strategicplan.strategyhuddle.052610M3Planning
 

Viewers also liked (20)

Web application security
Web application securityWeb application security
Web application security
 
Scaling web systems ts
Scaling web systems tsScaling web systems ts
Scaling web systems ts
 
What Is Software As A Service Saa S
What Is Software As A Service Saa SWhat Is Software As A Service Saa S
What Is Software As A Service Saa S
 
Software as a Service
Software as a ServiceSoftware as a Service
Software as a Service
 
July 2010
July 2010July 2010
July 2010
 
Series 33 - G - PPT - History of Pirana satpanth Part 1 of 3
Series 33 - G - PPT - History of Pirana satpanth  Part 1 of 3Series 33 - G - PPT - History of Pirana satpanth  Part 1 of 3
Series 33 - G - PPT - History of Pirana satpanth Part 1 of 3
 
Al AQSA Aarabic
Al AQSA AarabicAl AQSA Aarabic
Al AQSA Aarabic
 
Series 33-G- PDF -Pirana satpanth History Gujarati
Series 33-G- PDF -Pirana satpanth  History GujaratiSeries 33-G- PDF -Pirana satpanth  History Gujarati
Series 33-G- PDF -Pirana satpanth History Gujarati
 
OE 35 opening of central institution of sanatanis at sanskar dham, Desalpar
OE 35  opening of central institution of sanatanis at sanskar dham, DesalparOE 35  opening of central institution of sanatanis at sanskar dham, Desalpar
OE 35 opening of central institution of sanatanis at sanskar dham, Desalpar
 
Asthma
AsthmaAsthma
Asthma
 
Presentación 5 diapositivas
Presentación 5 diapositivasPresentación 5 diapositivas
Presentación 5 diapositivas
 
OE 43 no confidence against nirman samiti of mandvi hostel
OE 43  no confidence against nirman samiti of mandvi hostelOE 43  no confidence against nirman samiti of mandvi hostel
OE 43 no confidence against nirman samiti of mandvi hostel
 
C b-macpherson-the-life-and-times-of-liberal-democracy
C b-macpherson-the-life-and-times-of-liberal-democracyC b-macpherson-the-life-and-times-of-liberal-democracy
C b-macpherson-the-life-and-times-of-liberal-democracy
 
Events
EventsEvents
Events
 
Power fabri 2
Power fabri 2Power fabri 2
Power fabri 2
 
May 2010 Issue
May 2010 IssueMay 2010 Issue
May 2010 Issue
 
CerdasMulia Ramadhan - Training Ramadhan Pesantren Al-Munawaroh
CerdasMulia Ramadhan - Training Ramadhan Pesantren Al-MunawarohCerdasMulia Ramadhan - Training Ramadhan Pesantren Al-Munawaroh
CerdasMulia Ramadhan - Training Ramadhan Pesantren Al-Munawaroh
 
Gen peace lite conflict responses & peace initiatives
Gen peace lite conflict responses & peace initiativesGen peace lite conflict responses & peace initiatives
Gen peace lite conflict responses & peace initiatives
 
GE-17 Avichal Das meeting dated 18-may-2011 -Report
GE-17 Avichal Das meeting dated 18-may-2011 -Report GE-17 Avichal Das meeting dated 18-may-2011 -Report
GE-17 Avichal Das meeting dated 18-may-2011 -Report
 
My strategicplan.strategyhuddle.052610
My strategicplan.strategyhuddle.052610My strategicplan.strategyhuddle.052610
My strategicplan.strategyhuddle.052610
 

Similar to Software as a Service

Multi-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingMulti-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingSrinath Perera
 
DB2 for z/O S Data Sharing
DB2 for z/O S  Data  SharingDB2 for z/O S  Data  Sharing
DB2 for z/O S Data SharingSurekha Parekh
 
Dcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-designDcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-designIsaac Chiang
 
A cloud environment for backup and data storage
A cloud environment for backup and data storageA cloud environment for backup and data storage
A cloud environment for backup and data storageIGEEKS TECHNOLOGIES
 
Tendencias Storage
Tendencias StorageTendencias Storage
Tendencias StorageFran Navarro
 
Apptio up cloud conference 2012 [final].pptx
Apptio up cloud conference 2012 [final].pptxApptio up cloud conference 2012 [final].pptx
Apptio up cloud conference 2012 [final].pptxKhazret Sapenov
 
A cloud enviroment for backup and data storage
A cloud enviroment for backup and data storageA cloud enviroment for backup and data storage
A cloud enviroment for backup and data storageIGEEKS TECHNOLOGIES
 
Managing application performance for cloud apps bmc
Managing application performance for cloud apps bmcManaging application performance for cloud apps bmc
Managing application performance for cloud apps bmcKhazret Sapenov
 
Datasheet Virbak Abio V32
Datasheet Virbak Abio V32Datasheet Virbak Abio V32
Datasheet Virbak Abio V32powerguy73
 
Efficient and scalable multitenant placement approach for in memory database ...
Efficient and scalable multitenant placement approach for in memory database ...Efficient and scalable multitenant placement approach for in memory database ...
Efficient and scalable multitenant placement approach for in memory database ...CSITiaesprime
 
Analysis of SOFTWARE DEFINED STORAGE (SDS)
Analysis of SOFTWARE DEFINED STORAGE (SDS)Analysis of SOFTWARE DEFINED STORAGE (SDS)
Analysis of SOFTWARE DEFINED STORAGE (SDS)Kaushik Rajan
 
hcp-anywhere-enterprise-customer-v2.pptx
hcp-anywhere-enterprise-customer-v2.pptxhcp-anywhere-enterprise-customer-v2.pptx
hcp-anywhere-enterprise-customer-v2.pptxAbhishek Vachher
 
Crypto multi tenant an environment of secure computing using cloud sql
Crypto multi tenant an environment of secure computing using cloud sqlCrypto multi tenant an environment of secure computing using cloud sql
Crypto multi tenant an environment of secure computing using cloud sqlijdpsjournal
 
VMAX : répondez aux niveaux de services applicatifs les plus élevés
VMAX : répondez aux niveaux de services applicatifs les plus élevésVMAX : répondez aux niveaux de services applicatifs les plus élevés
VMAX : répondez aux niveaux de services applicatifs les plus élevésRSD
 
Multi Tenancy In The Cloud
Multi Tenancy In The CloudMulti Tenancy In The Cloud
Multi Tenancy In The Cloudrohit_ainapure
 
“Salesforce Multi-tenant architecture”,
“Salesforce Multi-tenant architecture”,“Salesforce Multi-tenant architecture”,
“Salesforce Multi-tenant architecture”,Manik Singh
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architectureAdeel Javaid
 

Similar to Software as a Service (20)

Multi-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingMulti-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud Computing
 
DB2 for z/O S Data Sharing
DB2 for z/O S  Data  SharingDB2 for z/O S  Data  Sharing
DB2 for z/O S Data Sharing
 
Dcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-designDcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-design
 
A cloud environment for backup and data storage
A cloud environment for backup and data storageA cloud environment for backup and data storage
A cloud environment for backup and data storage
 
Tendencias Storage
Tendencias StorageTendencias Storage
Tendencias Storage
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
TermPaper
TermPaperTermPaper
TermPaper
 
Apptio up cloud conference 2012 [final].pptx
Apptio up cloud conference 2012 [final].pptxApptio up cloud conference 2012 [final].pptx
Apptio up cloud conference 2012 [final].pptx
 
A cloud enviroment for backup and data storage
A cloud enviroment for backup and data storageA cloud enviroment for backup and data storage
A cloud enviroment for backup and data storage
 
Managing application performance for cloud apps bmc
Managing application performance for cloud apps bmcManaging application performance for cloud apps bmc
Managing application performance for cloud apps bmc
 
Datasheet Virbak Abio V32
Datasheet Virbak Abio V32Datasheet Virbak Abio V32
Datasheet Virbak Abio V32
 
Efficient and scalable multitenant placement approach for in memory database ...
Efficient and scalable multitenant placement approach for in memory database ...Efficient and scalable multitenant placement approach for in memory database ...
Efficient and scalable multitenant placement approach for in memory database ...
 
Cloud security (domain6 10)
Cloud security (domain6 10)Cloud security (domain6 10)
Cloud security (domain6 10)
 
Analysis of SOFTWARE DEFINED STORAGE (SDS)
Analysis of SOFTWARE DEFINED STORAGE (SDS)Analysis of SOFTWARE DEFINED STORAGE (SDS)
Analysis of SOFTWARE DEFINED STORAGE (SDS)
 
hcp-anywhere-enterprise-customer-v2.pptx
hcp-anywhere-enterprise-customer-v2.pptxhcp-anywhere-enterprise-customer-v2.pptx
hcp-anywhere-enterprise-customer-v2.pptx
 
Crypto multi tenant an environment of secure computing using cloud sql
Crypto multi tenant an environment of secure computing using cloud sqlCrypto multi tenant an environment of secure computing using cloud sql
Crypto multi tenant an environment of secure computing using cloud sql
 
VMAX : répondez aux niveaux de services applicatifs les plus élevés
VMAX : répondez aux niveaux de services applicatifs les plus élevésVMAX : répondez aux niveaux de services applicatifs les plus élevés
VMAX : répondez aux niveaux de services applicatifs les plus élevés
 
Multi Tenancy In The Cloud
Multi Tenancy In The CloudMulti Tenancy In The Cloud
Multi Tenancy In The Cloud
 
“Salesforce Multi-tenant architecture”,
“Salesforce Multi-tenant architecture”,“Salesforce Multi-tenant architecture”,
“Salesforce Multi-tenant architecture”,
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architecture
 

Recently uploaded

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Recently uploaded (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

Software as a Service

  • 1. Software as a Service Challenges and solutions Sathya Narayana Panduranga © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 2. The hype…  Ariba puts cloud at center of five-year vision  Forrester's Advice to CFOs: Embrace Cloud Computing to Cut Costs  Gartner Sees Great SAAS Enterprise App Growth Despite Downturn  Venture capitalists eye SaaS companies  Google Versus Microsoft: The Fight for the Future of Cloud Computing  Salesforce.com Unveils Force.com Cloud Computing Architecture  Oracle CEO Larry Ellison Spits on Cloud Computing Hype 2 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 3. What is SAAS (software as a service)? Application Hosted as a Service (requires no or few tech staff at customer premises) The service is accessible over Internet (Anywhere anytime) Usually subscription based billing model (pay as you go) Centralized software updates No up-front cost (CapEx) to customers Most successful ones use Cloud Computing infrastructure 3 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 4. Opportunities Ability to target global markets Ability to serve the long tail Can offer ‘try before you buy’ to attract customers Can build software on preferred platform / technology stack Version management hassles are reduced Software upgrades and fixes need not be a nightmare to you or your customers 4 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 5. Architectural Challenges Scalability (remember, the world is our market place)  Resource usage should be frugal  Resource usage should increase predictably with load  Application architecture should support scaling out High Availability (reliability)  Fault tolerance (Recoverability from failure) Graceful degradation under load  True multi-tenancy 5 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 6. Architecture challenges continued… Application Responsiveness (Latency) Improve user experience through thicker client  Parallelize computationally intensive processing  Reduce data latency by querying/updating smaller sets Manageability (deployment & monitoring)  Centralized deployment/node management  Failure detection and mitigation Diagnostics 6 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 7. Architecture challenges continued… Security  Intrusion prevention  Web App Security  Data security Multi-tenancy (customizability)  User interface Work flows  Data model  Authentication 7 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 8. Lessons learnt by the SaaS providers over the years… No single magic bullet (approach) to solving all the challenges. 8 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 9. Use component based architectures Advantages: Modularity Loose coupling Program to an interface Easier to maintain and scale 9 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 10. Partition Database  Functional segmentation  Example: Items data separate from User data  Horizontal split  Example: Segment data based on range of a primary access key (customer id 1-10000 separate from 10001- 20000)  Abstract segmentation logic from business logic through an intermediate layer (Data access layer)  Advantages:  Each module can scale independently  Can isolate failures  Can use inexpensive hardware for modules with lighter load  Security vulnerability can be isolated 10 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 11. Segment 1 Segment 1 backup App Server Comp 1 Segment 2 Segment 2 DAL backup Comp 2 Segment 3 Segment 3 backup Data Partitioning illustration 11 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 12. Minimize DB Transactions No all-encompassing/distributed transactions Auto-commit for most DB writes Complex DB operations to be done through PL/SQL at the DB layer Advantages Avoids wait-on-locks Maximizes update performance DB connections can be multiplexed leading to better application performance 12 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 13. Partition Application modules Segment application based on modules  Example: search deployed independently from inventory Segment application horizontally Example: base services, business logic and Web UI deployed independently Advantages:  Modules can scale independently  Standard load balancers can be used between modules  Minimizes resource dependencies 13 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 14. Little or no session state in web application  Session state is memory consuming  Session affinity needs to be taken care of in the load balancer  Transient session state can be maintained through a combination of cookies and in-memory database  Example MemCached (see next slide)  If session state is maintained, cleanup frequently and as early as possible  Advantages:  Allows clean modular segmentation  Higher scalability  Help user move easily between independently deployed applications (Ex: search to inventory) 14 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 15. MemCached illustration  Memory cache shared and addressable from distributed servers  Advantages  Expanded memory  Data can be stored and accessed from any server (including non participating ones)  Fault tolerance (if one or more servers fail, very less impact)  Users include Wikipedia, Flickr, Twitter, LiveJournal, YouTube etc. 15 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 16. Move as much processing as possible to asynchronous flows  Integrate disparate components asynchronously  Requires Message Queue infrastructure (JMS, Websphere MQ etc)  Programming models: Point-to-point, Publish-subscribe  Example (P2P):  Catalog search request is posted in the queue by the web application to the search component.  Search request is processed by the search component in the order it arrived  The results are posted back to the queue or a temporary table  Web application displays this result upon refresh  Example (PubSub): Addition of a new catalog item triggers and event. Subscribers of the event asynchronously take care of  Rebuilding search index.  Logging the activity  Advantages:  Graceful degradation upon load  Can decouple availability state  Can retry operations 16 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 17. Point to point Search UI Search Engine Req Queue Messaging Id: 1 Term: xyz Res Models Queue Search Engine illustration Search UI Publish-Subscribe Add item Catalog UI Catalog Publish Event: Add Index Builder Activity Logger Subscribers 17 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 18. Scheduled batch processing Move infrequent, periodic or scheduled processing out of the application flow For example:  Rebuilding search indices  Purging deleted items from the catalog 18 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 19. Adaptive configuration System should be able to adapt to changing load, processing time etc Can change the number of nodes, processor threads … Load can be measured using message queue length or average query execution times … 19 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 20. Failure detection Central LAM (logs, alarms and metrics) collection Actively (if possible asynchronously) log requests, application activity and exceptions Real time application performance monitoring and alerts management Buffered disc writes will allow the LAM to scale 20 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 21. Failure mitigation  Assume everything will fail (network, disc, database, message queue, nodes, third party services)  Detect failure at the earliest and raise alarm  Try to recover from failure and retry finite number of times  Log everything (application activity, data size, exception)  Application operations should always timeout and raise alerts  Example: search query didn’t return results for 5 seconds should • timeout • raise an alarm • Try backup resource 21 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 22. Have roll-out and roll-back plans One deployment will affect everyone Make sure that every change made during roll-out can be rolled back Have a roll-back plan so that the application can be brought back to the previous deployment state easily Have feature level switches to turn on/off  Can be a face saver 22 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 23. Multi-tenancy support (Customizability) Support URL based/URL parameter based UI style customization  In addition, time-zone, language and user agent can be detected and used for customization Support plug-in based architecture to customize complex processing logic and custom authentication support Support for mixed mode DB schema for customizability  mostly the same DB schema for everyone + custom tables for the ones who want to customize 23 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 24. Build with security in mind  Strong input validation on client and server side  Detect SQL/Javascript injection patterns (signature) for better security  Throttle connect requests from the same IP address to prevent denial-of service attacks  Escape data output to prevent Javascript injection  Access to database should not be allowed from outside  Use SSL to communicate between different components over the network 24 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 25. Test for security: Web App Vulnerability Analysis tools Example: Google SkipFish tool for testing  SQL injection  Shell command injection  Javascript injection  Integer overflow  XSS (cross site scripting)  Denial of service attack 25 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 26. In addition…….. Simplified provisioning and self-service drives down costs Usability will make or break the product Users are touchy about security and privacy Scalability separates the wheat from the chaff Customers look to reduce the cost of operations through SaaS Customizability increases the chances for success 26 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 27. Using Cloud Computing Infrastructure 27 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 28. What is Cloud Computing Computing using cloud infrastructure (Potentially unlimited) pool of computing resources offered by a vendor typically using a subscription model for each unit of resource Virtualized infrastructure Shared, multi-tenant environment 28 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 29. The evolution… 29 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 30. Cloud Computing Platforms (or IaaS / PaaS) Microsoft Windows Azure Services Amazon EC2 (Elastic Computing Cloud), S3 (Simple Storage Service) Salesforce’ Force.com cloud Google’s App Engine IBM Blue Cloud VMware vCloud Express Your own….. 30 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 31. Using cloud-computing for Scaling  Dynamically scale up/down the number of instances  Based on load  Based on required parallelism (to get things done faster) 31 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 32. For High Performance Computing (parallel processing) Popular algorithm Map-Reduce Popular platforms: Apache Hadoop, Amazon Elastic map-reduce 32 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 33. For Storage Dynamically scale the size of data-store Distributed databases (NOSQL) can be used for high update frequency. Popular one: Cassandra (used by Facebook) 33 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 34. Takeaways SAAS requires:  Scalability  Multi-tenancy  High-availability  Responsiveness  Fault-tolerance  Security  Manageability  Cost-effectiveness 34 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 35. Questions 35 © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.
  • 36. © 2010 Ariba, Inc. All rights reserved. The contents of this document are confidential and proprietary information of Ariba, Inc.