Building Multi-Tenant SaaS Architectures (Tod Golding) (Z-Library)
Author: Tod Golding
科学
No Description
📄 File Format:
PDF
💾 File Size:
14.4 MB
13
Views
0
Downloads
0.00
Total Donations
📄 Text Preview (First 20 pages)
ℹ️
Registered users can read the full content for free
Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.
📄 Page
1
Tod Golding Building Multi-Tenant SaaS Architectures Principles, Practices, and Patterns Using AWS
📄 Page
2
SOF T WARE ENGINEERING Building Multi-Tenant SaaS Architectures linkedin.com/company/oreilly-media youtube.com/oreillymedia Software as a service (SaaS) is on the path to becoming the de facto model for building, delivering, and operating software solutions. Adopting a multi-tenant SaaS model requires builders to take on a broad range of new architecture, implementation, and operational challenges. How data is partitioned, how resources are isolated, how tenants are authenticated, how microservices are built—these are just a few of the many areas that need to be on your radar when you’re designing and creating SaaS offerings. In this book, Tod Golding, a global SaaS technical lead at AWS, provides an end-to-end view of the SaaS architectural landscape, outlining the practical techniques, strategies, and patterns that every architect must navigate as part of building a SaaS environment. • Describe, classify, and characterize core SaaS patterns and strategies • Identify the key building blocks, trade-offs, and considerations that will shape the design and implementation of your multi-tenant solution • Examine essential multi-tenant architecture strategies, including tenant isolation, noisy neighbor, data partitioning, onboarding, identity, and multi-tenant DevOps • Explore how multi-tenancy influences the design and implementation of microservices • Learn how multi-tenancy shapes the operational footprint of your SaaS environment Tod Golding is a cloud applications architect who has spent the last 10 years immersed in cloud-optimized application design and architecture. As a global SaaS lead at AWS, he’s been a SaaS technology thought leader, publishing and providing SaaS best practices guidance through speaking, writing, and working directly with a wide range of SaaS companies. Tod has over 20 years of experience as a technical leader, architect, and developer. 9 7 8 1 0 9 8 1 4 0 6 4 9 5 7 9 9 9 US $79.99 CAN $99.99 ISBN: 978-1-098-14064-9 “Whether you’re new to SaaS or a seasoned pro, Tod’s real-world insights and hard-won best practices will help you architect robust and scalable SaaS solutions. This book is an indispensable guidebook for anyone looking to successfully deliver their SaaS software on AWS.” —Toby Buckley Sr. Solutions Architect, AWS
📄 Page
3
Praise for Building Multi-Tenant SaaS Architectures For anyone looking to build, sustain, and thrive in the software-as-a-service business, the guidance in this book is invaluable. Not only is it grounded in real-world solutions for common challenges, but the patterns and practices will stand the test of time. —Adrian De Luca, Director of Cloud Acceleration, AWS A complete reference of SaaS concepts that goes deep detailing real-world architecture patterns that address security, tenant isolation, scalability, and more. A must-have companion for anyone building multi-tenant SaaS solutions. —Tony Pallas, Chief Commercial and Technology Officer, ShyTouch Technology This book focuses brilliantly on the crucial domain concepts and levers that you need to master to put together a successful SaaS, or PaaS, product. —Russ Miles, Platform Engineer, Clear.Bank Tod’s many years of real-world experience working with a wide variety of customers really shines through in this book. It will be a great resource for those who want to build scalable and secure SaaS solutions, particularly on AWS. —Anubhav Sharma, Principal Solutions Architect, AWS
📄 Page
4
Tod Golding Building Multi-Tenant SaaS Architectures Principles, Practices, and Patterns Using AWS Boston Farnham Sebastopol TokyoBeijing
📄 Page
5
978-1-098-14064-9 [LSI] Building Multi-Tenant SaaS Architectures by Tod Golding Copyright © 2024 Tod Golding. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://oreilly.com). For more information, contact our corporate/institutional sales department: 800-998-9938 or corporate@oreilly.com. Acquisitions Editor: Louise Corrigan Development Editor: Melissa Potter Production Editor: Gregory Hyman Copyeditor: Charles Roumeliotis Proofreader: Tove Innis Indexer: nSight, Inc. Interior Designer: David Futato Cover Designer: Karen Montgomery Illustrator: Kate Dullea May 2024: First Edition Revision History for the First Edition 2024-04-24: First Release See http://oreilly.com/catalog/errata.csp?isbn=9781098140649 for release details. The O’Reilly logo is a registered trademark of O’Reilly Media, Inc. Building Multi-Tenant SaaS Architec‐ tures, the cover image, and related trade dress are trademarks of O’Reilly Media, Inc. The views expressed in this work are those of the author and do not represent the publisher’s views. While the publisher and the author have used good faith efforts to ensure that the information and instructions contained in this work are accurate, the publisher and the author disclaim all responsibility for errors or omissions, including without limitation responsibility for damages resulting from the use of or reliance on this work. Use of the information and instructions contained in this work is at your own risk. If any code samples or other technology this work contains or describes is subject to open source licenses or the intellectual property rights of others, it is your responsibility to ensure that your use thereof complies with such licenses and/or rights.
📄 Page
6
Table of Contents Preface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii 1. The SaaS Mindset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Where We Started 2 The Move to a Unified Model 5 Redefining Multi-Tenancy 9 Where Are the Boundaries of SaaS? 13 The Managed Service Provider Model 14 At Its Core, SaaS Is a Business Model 16 Building a Service—Not a Product 19 Defining SaaS 20 Conclusion 21 2. Multi-Tenant Architecture Fundamentals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Adding Tenancy to Your Architecture 24 The Two Halves of Every SaaS Architecture 27 Inside the Control Plane 29 Onboarding 29 Identity 30 Metrics 32 Billing 32 Tenant Management 33 Inside the Application Plane 33 Tenant Context 34 Tenant Isolation 35 Data Partitioning 36 Tenant Routing 37 Multi-Tenant Application Deployment 39 iii
📄 Page
7
The Gray Area 40 Tiering 40 Tenant, Tenant Admin, and System Admin Users 41 Tenant Provisioning 42 Integrating the Control and Application Planes 44 Picking Technologies for Your Planes 45 Avoiding the Absolutes 45 Conclusion 46 3. Multi-Tenant Deployment Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 What’s a Deployment Model? 48 Picking a Deployment Model 50 Introducing the Silo and Pool Models 51 Full Stack Silo Deployment 53 Where Full Stack Silo Fits 54 Full Stack Silo Considerations 56 Full Stack Silo in Action 59 Remaining Aligned on a Full Stack Silo Mindset 66 The Full Stack Pool Model 67 Full Stack Pool Considerations 69 A Sample Architecture 72 A Hybrid Full Stack Deployment Model 74 The Mixed Mode Deployment Model 75 The Pod Deployment Model 77 Conclusion 80 4. Onboarding and Identity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Creating a Baseline Environment 82 Creating Your Baseline Environment 83 Creating and Managing System Admin Identities 86 Triggering Onboarding from the Admin Console 86 Control Plane Provisioning Options 87 The Onboarding Experience 88 Onboarding Is Part of Your Service 88 Self-Service Versus Internal Onboarding 89 The Fundamental Parts of Onboarding 90 Tracking and Surfacing Onboarding States 93 Tier-Based Onboarding 94 Tracking Onboarded Resources 97 Handling Onboarding Failures 98 Testing Your Onboarding Experience 99 Creating a SaaS Identity 100 iv | Table of Contents
📄 Page
8
Attaching a Tenant Identity 102 Populating Custom Claims During Onboarding 105 Using Custom Claims Judiciously 105 No Centralized Services for Resolving Tenant Context 106 Federated SaaS Identity 107 Tenant Grouping/Mapping Constructs 109 Sharing User IDs Across Tenants 111 Tenant Authentication Is Not Tenant Isolation 111 Conclusion 112 5. Tenant Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Tenant Management Fundamentals 116 Building a Tenant Management Service 118 Generating a Tenant Identifier 119 Storing Infrastructure Configuration 120 Managing Tenant Configuration 121 Managing Tenant Lifecycle 124 Activating and Deactivating a Tenant 125 Decommissioning a Tenant 127 Changing Tenant Tiers 130 Conclusion 134 6. Tenant Authentication and Routing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Entering the Front Door 138 Access via a Tenant Domain 138 Access via a Single Domain 143 The Man in the Middle Challenge 145 The Multi-Tenant Authentication Flow 146 A Sample Authentication Flow 147 Federated Authentication 148 No One-Size-Fits-All Authentication 148 Routing Authenticated Tenants 149 Routing with Different Technology Stacks 150 Serverless Tenant Routing 151 Container Tenant Routing 153 Conclusion 155 7. Building Multi-Tenant Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Designing Multi-Tenant Services 158 Services in Classic Software Environments 158 Services in Pooled Multi-Tenant Environments 159 Extending Existing Best Practices 161 Table of Contents | v
📄 Page
9
Addressing Noisy Neighbor 162 Identifying Siloed Services 164 The Influence of Compute Technologies 167 The Influence of Storage Considerations 168 Using Metrics to Analyze Your Design 169 One Theme, Many Lenses 170 Inside Multi-Tenant Services 170 Extracting Tenant Context 172 Logging and Metrics with Tenant Context 173 Accessing Data with Tenant Context 176 Supporting Tenant Isolation 178 Hiding Away and Centralizing Multi-Tenant Details 181 Interception Tools and Strategies 183 Aspects 184 Sidecars 185 Middleware 185 AWS Lambda Layers/Extensions 186 Conclusion 186 8. Data Partitioning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 Data Partitioning Fundamentals 190 Workloads, SLAs, and Experience 192 Blast Radius 193 The Influence of Isolation 193 Management and Operations 194 The Right Tool for the Job 195 Defaulting to a Pooled Model 195 Supporting Multiple Environments 196 The Rightsizing Challenge 196 Throughput and Throttling 198 Serverless Storage 198 Relational Database Partitioning 199 Pooled Relational Data Partitioning 200 Siloed Relational Data Partitioning 201 NoSQL Data Partitioning 202 Pooled NoSQL Data Partitioning 203 Siloed NoSQL Data Partitioning 204 NoSQL Tuning Options 205 Object Data Partitioning 206 Pooled Object Data Partitioning 206 Siloed Object Data Partitioning 207 Database Managed Access 208 vi | Table of Contents
📄 Page
10
OpenSearch Data Partitioning 210 Pooled OpenSearch Data Partitioning 211 Siloed OpenSearch Data Partitioning 212 A Mixed Mode Partitioning Model 214 Sharding Tenant Data 215 Data Lifecycle Considerations 216 Multi-Tenant Data Security 217 Conclusion 217 9. Tenant Isolation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Core Concepts 220 Categorizing Isolation Models 223 Application-Enforced Isolation 225 RBAC, Authorization, and Isolation 225 Application Isolation Versus Infrastructure Isolation 226 The Layers of the Isolation Model 227 Deployment-Time Versus Runtime Isolation 228 Isolation Through Interception 232 Scaling Considerations 234 Real-World Examples 235 Full Stack Isolation 235 Resource-Level Isolation 237 Item-Level Isolation 239 Managing Isolation Policies 240 Conclusion 242 10. EKS (Kubernetes) SaaS: Architecture Patterns and Strategies. . . . . . . . . . . . . . . . . . . . 245 The EKS–SaaS Fit 246 Deployment Patterns 248 Pooled Deployment 250 Siloed Deployments 251 Mixing Pooled and Siloed Deployments 254 The Control Plane 255 Routing Considerations 256 Onboarding and Deployment Automation 259 Configuring Onboarding with Helm 260 Automating with Argo Workflows and Flux 262 Tenant-Aware Service Deployments 264 Tenant Isolation 265 Node Type Selection 271 Mixing Serverless Compute with EKS 274 Conclusion 275 Table of Contents | vii
📄 Page
11
11. Serverless SaaS: Architecture Patterns and Strategies. . . . . . . . . . . . . . . . . . . . . . . . . . . 277 The SaaS and Serverless Fit 278 Deployment Models 282 Pooled and Siloed Deployments 283 Mixed Mode Deployments 284 More Deployment Considerations 285 Control Plane Deployment 286 Operations Implications 288 Routing Strategies 288 Onboarding and Deployment Automation 291 Tenant Isolation 296 Pooled Isolation with Dynamic Injection 296 Deployment-Time Isolation 298 Simultaneously Supporting Silo and Pool Isolation 299 Route-Based Isolation 301 Concurrency and Noisy Neighbor 302 Beyond Serverless Compute 304 Conclusion 305 12. Tenant-Aware Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 The SaaS Operations Mindset 308 Multi-Tenant Operational Metrics 310 Tenant Activity Metrics 311 Agility Metrics 313 Consumption Metrics 315 Cost-per-Tenant Metrics 318 Business Health Metrics 321 Composite Metrics 322 Baseline Metrics 322 Metrics Instrumentation and Aggregation 323 Building a Tenant-Aware Operations Console 324 Combining Experience and Technical Metrics 328 Tenant-Aware Logs 329 Creating Proactive Strategies 329 Persona-Specific Dashboards 329 Multi-Tenant Deployment Automation 330 Scoping Deployments 332 Targeted Releases 332 Conclusion 334 viii | Table of Contents
📄 Page
12
13. SaaS Migration Strategies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 The Migration Balancing Act 338 Timing Considerations 339 What Kind of Fish Are You? 342 Thinking Beyond Technology Transformation 343 Migration Patterns 344 The Foundation 344 Silo Lift-and-Shift 346 Layered Migration 348 Service-by-Service Migration 351 Comparing Patterns 356 A Phased Approach 357 Where You Start Matters 358 Conclusion 361 14. Tiering Strategies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Tiering Patterns 364 Consumption-Focused Tiering 365 Value-Focused Tiering 367 Deployment-Focused Tiering 368 Free Tiers 370 Composite Tiering Strategies 370 Billing and Tiering 371 Tiering and Product-Led Growth 372 Implementing Tiering 372 API Tiering 373 Compute Tiering 375 Storage Tiering 377 Deployment Models and Tiering 380 Throttling and Tenant Experience 381 Tier Management 382 Operations and Tiering 382 Conclusion 383 15. SaaS Anywhere. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 The Fundamental Concepts 386 Ownership 387 Limiting Drift 389 Multiple Flavors of Remote Environments 390 Regional Deployments Versus Remote Resources 391 Table of Contents | ix
📄 Page
13
Architecture Patterns 391 Remote Data 393 Remote Application Services 394 Remote Application Plane 396 Staying in the Same Cloud 397 Integration Strategies 397 Operations Impacts and Considerations 398 Provisioning and Onboarding 398 Access to Remote Resources 399 Scale and Availability 400 Operational Insights 400 Deploying Updates 400 Conclusion 401 16. GenAI and Multi-Tenancy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 Core Concepts 404 The Influence of Multi-Tenancy 406 Creating Custom Tenant AI Experiences 409 A Broad Range of Possibilities 410 SaaS and AI/ML 411 Introducing Tenant Refinements 412 Supporting Tenant-Level Refinement with RAG 412 Supporting Tenant Refinement with Fine-Tuning 416 Combining RAG and Fine-Tuning 420 Applying General Multi-Tenant Principles 421 Onboarding 421 Noisy Neighbor 422 Tenant Isolation 423 GenAI Pricing and Tiering Considerations 424 Developing a Pricing Model 424 Creating Tiered Tenant Experiences 427 Conclusion 428 17. Guiding Principles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 Vision, Strategy, and Structure 432 Build a Business Model and Strategy 432 A Clear Focus on Efficiency 433 Avoiding the Tech-First Trap 434 Thinking Beyond Cost Savings 435 Be All-In with SaaS 435 Adopt a Service-Centric Mindset 436 Think Beyond Existing Tenant Personas 437 x | Table of Contents
📄 Page
14
Core Technical Considerations 438 No One-Size-Fits-All Model 438 Protect the Multi-Tenant Principles 439 Build Your Multi-Tenant Foundation on Day One 440 Avoid One-Off Customization 441 Measure Your Multi-Tenant Architecture 442 Streamline the Developer Experience 442 Operations Mindset 443 Thinking Beyond System Health 443 Introducing Proactive Constructs 445 Validating Your Multi-Tenant Strategies 445 You’re Part of the Team 447 Conclusion 447 Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 Table of Contents | xi
📄 Page
15
(This page has no text content)
📄 Page
16
Preface When I first started digging into the software-as-a-service (SaaS) domain, I expected to find plenty of existing best practices guidance. After all, SaaS certainly wasn’t a new concept. There were multiple examples of successful SaaS companies and a general sentiment that SaaS was establishing itself as the preferred mode of delivery for many companies. To me, this meant I’d mostly be absorbing and applying an existing set of patterns and strategies. Surprisingly, it didn’t go that way. The more I wandered into customers’ solutions and the more I scanned the industry for guidance, the more I began to realize just how little clarity there was around what it meant to design, build, and operate SaaS environments. I think part of this was the byproduct of the natural ambiguity that comes with attaching a label to any technol‐ ogy. The lack of absolutes has created lots of room for competing definitions and opinions about what SaaS is meant to look like. This has opened the door for compa‐ nies with fundamentally different implementations and approaches to brand them‐ selves as SaaS. In fact, I continue to see a number of companies setting off on their journey to SaaS with wildly different, misaligned views about what it means for them to adopt a SaaS delivery model. There’s nothing inherently wrong with this. It’s fine to have different ideas about what it means to be SaaS. This, however, becomes a bigger problem when you need to work with customers that are looking to you as the SaaS expert. As the expert, you can’t just tell customers to build whatever they want. Vagueness doesn’t work for teams that are relying on you to point them at proven best practices strategies and patterns. To do my job, I really needed to be able to enter our discussion with a clear point of view around what it means to build a best practices SaaS architecture and business. I needed to be able to bring more definition to the SaaS landscape in a way that would help teams understand the trade-offs, architecture patterns, and opera‐ tional considerations that would directly shape their multi-tenant architecture. Get‐ ting there meant I would need to create a clear taxonomy of SaaS principles and strategies that could span a range of domains, workloads, customer profiles, and so on. In many respects, this was also about intentionally moving away from wide-open xiii
📄 Page
17
notions of what it meant to be a SaaS solution, defining a more specific set of guard‐ rails that could help organizations plot their path forward. It was this fundamental need that set me off on a multiyear path to better define the SaaS architecture landscape. What started with a few blog posts was followed by a stream of whitepapers, webinars, podcasts, training videos, and conference presenta‐ tions. Along the way, I noticed that the concepts and principles that I was advocating were grabbing hold in more settings and being applied more widely. This had me thinking that it may be time to write a book that could assemble all of the key ele‐ ments of this guidance into one end-to-end experience. With this book, I’m hoping I can bring more definition to the SaaS discussion, estab‐ lishing a framework for how to think about SaaS and how to connect these concepts to real-world constructs. The goal is to be sure we have alignment on the founda‐ tional principles and then illustrate how those principles are realized across different use cases and technology stacks. By connecting these concepts to specific technolo‐ gies (Kubernetes, serverless, and so on), you’ll be able to see how the nuances of indi‐ vidual technologies can have a significant influence on the overall footprint of your multi-tenant architecture. Along the way, I’ll create a clear taxonomy of the core elements of any SaaS environ‐ ment, defining a vocabulary for SaaS that allows us to have a more universal approach to how we categorize and describe the moving parts of a SaaS architecture. I’ll look at the full range of SaaS-specific architecture mechanisms, including tenant isolation, onboarding, tiering, identity, metrics, billing, and data partitioning. For each of these areas, we’ll look at examples of how they might be applied in different settings. The book would also be incomplete without exploring the operational elements of SaaS. As you’ll discover, the architecture of SaaS environments is directly shaped by core operational business goals (agility, innovation, cost efficiency). We’ll look at this strong correlation throughout the book, outlining the operational considerations that will influence the footprint of your SaaS environment. Overall, I see this book representing a good starting point for the SaaS architecture discussion. It sets out to create a clearer view of how we define what it means to be SaaS, highlighting key principles, constructs, and strategies that are core to shaping how you’ll approach building a best practices SaaS architecture. An Evolving Landscape The early multi-tenant solutions I worked on had a very simple notion of what it meant to be SaaS. These environments typically employed a model where customers shared one compute cluster and stored each customer’s data in a separate database. I xiv | Preface
📄 Page
18
suspect there are still plenty of systems that are using this model today—especially in environments where teams are hosting and managing their own SaaS infrastructure. Now, when the cloud came along, it brought an all-new dimension of possibilities to the SaaS picture. The managed services, dynamic scaling, and pay-as-you-go nature of the cloud equipped SaaS teams with tools and mechanisms that aligned naturally with their needs. Organizations could piggyback on all the goodness of the cloud to enrich the cost, operational, and agility profile of their SaaS environments. In some cases, the appeal of the cloud was so compelling that some companies equated being in the cloud with being SaaS (which it’s not). You can imagine how the emergence of the cloud opened up an entirely new realm for SaaS architects. It provided architects with a much bigger set of tools, services, and operational mechanisms that could streamline their development of their multi- tenant environments. The cloud also allowed SaaS teams to push even more opera‐ tional complexity to the cloud, reducing the friction and overhead that came with supporting and operating a SaaS business. It also provided native mechanisms that promoted scale, high availability, and cost/operational efficiency. This natural fit between SaaS and the cloud contributed significantly to the broader overall appeal and rapid adoption of the SaaS delivery model. New SaaS companies have been able to leverage the strengths of the cloud to accelerate the development of SaaS offerings, enabling them to disrupt existing domains and market segments. Cloud-based SaaS businesses could move faster, achieve better margins, capture new markets, and innovate at a much faster pace. This, as you can imagine, motivated existing software companies to accelerate their path to SaaS, some of whom saw mov‐ ing to SaaS as fundamental to their survival. It also directly shaped the behavior of software customers who began to expect and embrace the low-friction, value-focused nature of the SaaS model. All of this activity has created an avalanche of SaaS adoption. It also created a signifi‐ cant need for additional insights and guidance around how these cloud constructs could be applied in a multi-tenant architecture. The convergence of these factors— the need for much broader and deeper architecture guidance, the general SaaS adop‐ tion momentum, and the influence of the cloud—drove demand for greater clarity around how SaaS solutions are designed, built, and operated. So, what’s this mean for this book? The main point is that the domain of SaaS best practices continues to be a moving target. The rapid evolution of SaaS companies and the emergence of new technologies continue to introduce new strategies, mecha‐ nisms, and constructs that may influence future guidance. It’s fair to assume that SaaS best practices and strategies will continue to morph based on the shifting technology landscape. Preface | xv
📄 Page
19
Who’s This Book For? This book is targeted at builder, architect, and operations teams who are creating, migrating, or optimizing SaaS solutions. You might be brand new to SaaS and looking for the foundational concepts that can get you started with SaaS, or you might already be immersed in SaaS and are looking at how you might want to apply the principles outlined here to enhance an existing solution. You’ll notice that I’ve also included operations in this list. While significant parts of this book will be more focused on the builders and architects, there is a clear need for operations teams to be equally immersed in shaping the trade-offs and strategies that will be used to define the foot‐ print of your as-a-service experience. There’s also a corresponding need for builders and architects to be more immersed in the operations experience. I intentionally start by establishing a clear set of foundational concepts that span the entire book. Even if you have experience with SaaS, I would strongly encourage you to invest in starting with these foundational concepts. The ideas that are established in the early stages of the book challenge some of the classic notions of what it means to be SaaS, introducing terminology and mindsets that influence every aspect of how you design and build a SaaS environment. The examples that show up later in this book illustrate how these design choices and patterns are realized and applied. Hav‐ ing this foundation in place and having good alignment around these core principles will directly influence how you approach the decomposition of microservices, the deployment model of your solution, the identity model you adopt, and so on. My point is that, as you move more into the details of implementation, you’ll see a strong connection between the core principles and the underlying implementation strategies that you might adopt. Being grounded in a common set of guiding principles will allow you and your teams to apply a common set of values throughout the design, development, and operation of your SaaS environment. There is also a level at which this SaaS content will have value for SaaS leaders and stakeholders. While they may be less interested in the technical details, they are likely to lean on the foundational elements of the book to refine and crystalize their SaaS vision. There are cultural, metric, and team dynamic considerations that come with adopting SaaS, and the success of your organization’s SaaS strategy will rely heavily on having leaders that are rooted in a common set of values. This is often one of the most overlooked aspects of building a best-of-breed SaaS business. For the same rea‐ sons, you can imagine how product owners and others connected to the SaaS vision will extract value out of having a firm grasp of these fundamental SaaS principles. xvi | Preface
📄 Page
20
A Foundation—Not a Bible The principles that I will be covering in this book are the byproduct of my experien‐ ces working with a large number of SaaS providers, spanning a number of domains, target experiences, industries, and so on. This book represents the themes, patterns, and guidance that emerged from those projects. I’ve also been fortunate to be sur‐ rounded by teams and people that have helped mature this vision. What’s important to note, though, is that this book is not meant to serve as the de facto bible of all things SaaS. The strategies and patterns for building SaaS architec‐ tures covered here were created as a starting point to bring more clarity and defini‐ tion to the universe of multitenant design and architecture. In many respects, I’ve seen myself as filling a void, finding a way to better describe and characterize the nature of SaaS solutions, knowing that alternate strategies may exist or might emerge in the future. My hope is that this will bring more visibility to these concepts, drawing more build‐ ers and architects into a broader discussion that better align others around these principles. Much of my experience in the SaaS domain has come through my direct work and experience with the AWS stack of services and tools. This means that, as we get more into the specifics, I’ll natu‐ rally gravitate to AWS tools and strategies. However, the majority of the principles and strategies are not unique to the AWS stack. In fact, they should map well to most environments. I should also note that the strategies and principles I’ll be covering represent my own perspectives, opinions, and views. Much of what we’ll be exploring is certainly influenced by the knowledge and practices that I’ve been developing during my time at AWS. However, what finally landed in this book should not be viewed as AWS-endorsed guidance. What’s Not in This Book SaaS is a broad topic that has lots of threads. As you look at the table of contents for this book, you’ll see that I cover a significant span of the SaaS universe, exploring a pretty wide spectrum of design, development, and implementation perspectives— including business topics. In fact, you’ll see example after example where I emphasize the connection between SaaS business and technology strategies. I make it clear that builders and architects must have a vested interest in using SaaS business parameters to shape the footprint of their solution. Preface | xvii
The above is a preview of the first 20 pages. Register to read the complete e-book.