Architecting Cloud SaaS Software

Book description


This book has been written from a practical perspective with case studies being used to explain most of the concepts for the benefit of IT professionals who engineer, architect or design cloud SaaS. Technical leads, architects, designers, software engineers and softwaredevelopers also stand to benefit from this book.

Table of contents

  1. Cover
  2. Title page
  3. Contents
  4. Dedication
  5. Preface
  6. Why This Book
  7. About the Author
  8. 1 Introduction
    1. 1.1 SaaS Deployed and Provided from Cloud Environment
    2. 1.2 Software Solution
    3. 1.3 ‘Software Architecting’ is Different from ‘Software Designing’
    4. 1.4 TOGAF, ABBs, SBBs and Building Blocks
    5. 1.5 Cloud SaaS – An Evolution and SaaS Business Models
      1. 1.5.1 Mainframe Leasing Model
      2. 1.5.2 Conventional, On-Premise Installed Model
      3. 1.5.3 Hosted Model of 1990s
      4. 1.5.4 Cloud Model: (SaaS Provided from Cloud Environment)
    6. 1.6 SaaS Provided from Cloud Environment vs Hosted Model
    7. 1.7 Enterprise Models for SaaS Consumption
      1. 1.7.1 Modelling Enterprises (for the Sake of Providing Solutions)
      2. 1.7.2 Bigger Enterprises and Verticals
      3. 1.7.3 Small- and Medium-sized Enterprises
      4. 1.7.4 Long Tail
    8. 1.8 Summary
  9. 2 Architecting Methods for Cloud SaaS Software – Solutions or Products
    1. 2.1 Introduction
    2. 2.2 Cloud SaaS Solution Addressing Business Capabilities of SMEs
    3. 2.3 Adopting TOGAF’s ADM Phases for Cloud SaaS Solution
      1. 2.3.1 Phases – Preliminary Phase to Phase A–D
      2. 2.3.2 Phase E: Opportunities and Solutions
      3. 2.3.3 Remaining Phases in ADM
    4. 2.4 Agile Architecting Method
      1. 2.4.1 Requirements Collection and Identification of ABBs
      2. 2.4.2 Architecting by Employing Techniques from TOGAF
    5. 2.5 Summary
  10. 3 How Do Hypervisors Work? How Does IaaS Function?
    1. 3.1 Introduction
    2. 3.2 Hardware Virtualization
    3. 3.3 Auto-Provisioning
    4. 3.4 Data Centre Rack Systems
    5. 3.5 Scaling through Software Architecture or Hardware
    6. 3.6 Motivation or Need for Scalable Architecture
    7. 3.7 Scalable Architecture (of Software)
    8. 3.8 Concept of Load Balancer
    9. 3.9 Auto-Scaling
    10. 3.10 Summary of Capabilities of Hypervisors
    11. 3.11 A Simple Model of Infrastructure as a Service (IaaS)
    12. 3.12 Example Case Situations
    13. 3.13 Summary
  11. 4 Architecting Software Solutions for Public IaaS Cloud (without SaaS)
    1. 4.1 Introduction
    2. 4.2 The Method in Brief
      1. 4.2.1 Identifying Minimum Deployment Hardware Configuration for each SBB
      2. 4.2.2 Calculating IaaS Infrastructure Configuration
    3. 4.3 Digital Communication Platform
    4. 4.4 Approach to Realization
    5. 4.5 Realization of the Envisaged Solution Architecture
    6. 4.6 Architectural Considerations
    7. 4.7 Mapping Deployment Architecture into Public IaaS Cloud
    8. 4.8 Summary
  12. 5 Characteristics of Cloud SaaS Software
    1. 5.1 Introduction
    2. 5.2 Multi-Tenancy
    3. 5.3 Customization
      1. 5.3.1 Web Tier: User Interface
      2. 5.3.2 Business Tier
      3. 5.3.3 Data Tier
      4. 5.3.4 Reports
      5. 5.3.5 Abilities to Choose Functions at Fine Granular Level
    4. 5.4 Scaling (Auto-Scaling and Auto-Provisioning)
    5. 5.5 Operational and Billing Support Services
    6. 5.6 Software Upgrades and Maintenance
    7. 5.7 Maintenance of Database
    8. 5.8 Efficient Multi-Tenancy
    9. 5.9 SaaS Architecture is Unique
    10. 5.10 Summary
  13. 6 Cloud Compatibility Measure
    1. 6.1 Introduction
    2. 6.2 Motivation to Come Up with Cloud Compatibility Measure
    3. 6.3 Definition of ‘Cloud Compatibility’
    4. 6.4 SaaS (Solutions) Maturity Model
    5. 6.5 SaaS Maturity Continuum Scale
    6. 6.6 Cloud Compatibility Measure
      1. 6.6.1 Procedure to Set Up the ‘Cloud Compatibility Measuring Scale’
      2. 6.6.2 Ideal Values for Characteristics
      3. 6.6.3 Case Study – Measures for Two Products of Similar Functionalities
    7. 6.7 Combined Discussion about All the Three ‘Cloud Compatibility Measures’
    8. 6.8 Summary
  14. 7 Architecting SaaS Solutions for Cloud Using Semi-Cloud Compatible SBBs
    1. 7.1 Introduction
    2. 7.2 Case Study
      1. 7.2.1 Introduction to Case Study
      2. 7.2.2 Description of Customer
      3. 7.2.3 Customers’ Requirements
      4. 7.2.4 Solutions Implications and Constraints
      5. 7.2.5 Case Model
    3. 7.3 Architecting Solution
      1. 7.3.1 Building Business Capabilities for a Group of Enterprises
      2. 7.3.2 Calibrating COTS against Cloud Compatibility Criteria
      3. 7.3.3 Key Challenges and Solutions in Finalizing SBBs
      4. 7.3.4 Security Requirements and Solutions to the Final Solution
    4. 7.4 Summary of Cloud-Based SaaS Solution
      1. 7.4.1 Deployment Architecture for Minimum Usage
      2. 7.4.2 Evolving Deployment Architecture
      3. 7.4.3 Size Software for Scalability
      4. 7.4.4 Determining Scaling Algorithms
    5. 7.5 Other Routine Steps for Implementing the Solution
    6. 7.6 Less Cloud-Ready Software Costs More for Per-User/Time
    7. 7.7 Summary
  15. 8 Architecting Cloud SaaS Solutions with Cloud Non-Compatible Products
    1. 8.1 Introduction
    2. 8.2 Classification of Solutions Using Not-at-All Cloud Compatible Products
    3. 8.3 Some General Strategies
    4. 8.4 Case Study
      1. 8.4.1 Use Case 1
      2. 8.4.2 Use Case 2
      3. 8.4.3 Some Common Observations
      4. 8.4.4 Solution Description
    5. 8.5 Summary
  16. 9 Architecting Cloud Compatible SaaS Software Products
    1. 9.1 Introduction
    2. 9.2 Cloud SaaS Product Architecture Development Methodology
    3. 9.3 Drivers Influencing Architecture of Cloud SaaS Products
    4. 9.4 Characteristics Required for Cloud-SaaS-Products’ Architecture
    5. 9.5 Selection of Basic Architecture for Cloud Compatible SaaS Product
    6. 9.6 Starting Points for Architecting Projects
      1. 9.6.1 Starting from CCRA for SaaS
      2. 9.6.2 Starting from Functional Requirements of Cloud SaaS Product
    7. 9.7 Distributed Applications Architecture
      1. 9.7.1 Tier-Wise Specific Points Relevant to Architecture of Cloud SaaS
      2. 9.7.2 Architecting to Scale the Application
      3. 9.7.3 Service Orientation of Entire Product Architecture
    8. 9.8 Identity and Access Management
    9. 9.9 Transaction-less vs Transaction-intensive Products
    10. 9.10 Efficient Multi-tenancy
    11. 9.11 Infrastructure Softwares’ Architectures for SaaS Solutions
    12. 9.12 Deployment Architecture Basics for Cloud SaaS Products
    13. 9.13 Future Direction
    14. 9.14 Summary
  17. 10 Cloud Computing Reference Architecture
    1. 10.1 Introduction
      1. 10.1.1 Review Bias
      2. 10.1.2 What Does CCRA Bring to Table for Solution Architects?
    2. 10.2 Cloud Computing Architectures Are Service-Oriented Architectures
      1. 10.2.1 Important Aspects of Cloud (SaaS) Services
      2. 10.2.2 Cloud Reference Architecture Derives Experience from SOA in Addressing these Aspects
    3. 10.3 A Quick Summary of the SOA RA
    4. 10.4 Using the SOA RA with the CCRA
    5. 10.5 CCRA – Architecture Overview Diagram
      1. 10.5.1 Roles of CCRA
      2. 10.5.2 Architectural Elements for Each of These Three Major Roles
    6. 10.6 Architectural Principles and Related Guidance
    7. 10.7 Comparison of CCRAs of IBMTM, MicrosoftTM and HPTM[25]
    8. 10.8 Summary
  18. 11 Architecting for Security in Cloud SaaS Software
    1. 11.1 Introduction
    2. 11.2 Segments of Security
    3. 11.3 Security Architecture for Cloud SaaS
    4. 11.4 Security as an Aspect
    5. 11.5 Building Security within SaaS Software: Some Implementation Tips
    6. 11.6 Summary
  19. Abbreviations
  20. References
  21. Keyword Taxonomy Through Semantic Tree
  22. Key Words Taxonomy
  23. Notes
  24. Copyright

Product information

  • Title: Architecting Cloud SaaS Software
  • Author(s): Sankaran Prithviraj
  • Release date: April 2015
  • Publisher(s): Pearson Education India
  • ISBN: 9789332558281