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 strategiesIdentify the key building blocks, trade-offs, and considerations that will shape the design and implementation of your multi-tenant solutionExamine essential multi-tenant architecture strategies, including tenant isolation, noisy neighbor, data partitioning, onboarding, identity, and multi-tenant DevOpsExplore how multi-tenancy influences the design and implementation of microservicesLearn how multi-tenancy shapes the operational footprint of your SaaS environment
I expected this book to be more like a textbook on SaaS multi-tenancy given the book size, but out of almost 500 pages, the useful content takes only a small fraction of that. The rest is neverending self-repetition, useless diagrams, and a lot of water with the sole reason of filling the pages with text.
The core of the book, namely chapters 2 to 9 + 10 (K8s) or 11(Lambdas), could have been a blog post. I tell you more, there are blog posts that do more than this book. There are articles on Kubernetes multi-tenancy that explain the topic much deeper and provide you with real-world examples.
Each topic starts with the author promising to give a deep inside look into a specific topic, continues with endless self-repetition and a very high-level overview of the topic, and finishes with something along the lines of "the challenge is that there are simply too many permutations of options to cover them all". Bang! Another chapter is done.
The last 3 chapters could be just 100 blank pages without losing much of the sense, but hey they added a chapter on generative AI so this should do the trick.
This is not a technical book by any means. There are no practical examples or references to any real architectures sharing the traits the author points out. The chapter on K8s misses some critical points on resource quotas and different tenant policies. The author takes it as granted to explain to you the business side of SaaS multitenancy (and does it very poorly), but at the same time fails to give a comprehensive explanation of things like different deployment, upgrade, and rollout strategies of tenant environments. Some important things like Service Meshes and OpenTelementry are mentioned for the sake of mention. God knows how many other important topics are there that the author just missed.
Given all the above and more, I cannot recommend this book for any starting or practicing software developer learning SaaS Multi-tenancy.
P.S. I pretty much see a correlation between the number of books O'Reilly publishes each year and the quality of those books. This is by any means a bad trend.
It looks like a thick AWS selling brochure that was (for unknown reasons) presented as a book from the [still] respectable publishing house O'Reilly. And even this is not the biggest problem. Unlike author's skills in marketing, his technical "skills and expertise" are from what was announced. I had a strong feeling that around a half of examples or concepts were taken from low-quality blogs of some outsourcing companies (the chapter 11 is a good example). Looks like the author does not understand what he is saying. Another half consists of meaningless words that were added just to increase a page count. As such, the "Data partitioning" chapter (no.8) could be really summarized in one sentence.
If you are new in the domain of SaaS development, you should avoid this book at any cost as it will bring more harm than value. I suggest you to check more reputable sources. If you, like me, have a practical experience in multi-tenant SaaS development and are looking for general reading to fill gaps in your knowledge - this book should be avoided either.
I tried to find for some positive moments in order to give this book at least 1 out of 5, but this is not possible. The real score is 0 out of 5. This book does not deserve even to be skimmed.
It is a very good introduction to a technical side of SaaS and what is multi tenancy in practice with a lot of different aspects, including “silo” aka single tenancy and pool. Unfortunately, there are a lot of repetitions after first 4-5 chapters and important topics for SaaS like zero downtime are not covered, but instead the author has a chapter on Gen AI which can be summarised “don’t forget about multi tenancy”.
This book offers a highly insightful exploration of multitenancy, making it an essential read for software engineers working in SaaS, particularly those who are new to the field. It clarifies numerous key concepts and introduces a more structured nomenclature than what is commonly encountered. The descriptions and examples provided are thorough, and while some sections may seem verbose, this level of detail is beneficial for readers who are entirely unfamiliar with the subject. Based on my experience, the topics covered in this book are critical to understanding the different SaaS architectures and their tradeoffs. It is particularly valuable to have such a comprehensive overview in a single source, as otherwise, one would need to piece together this knowledge from various dispersed references, each with differing definitions and lacking a holistic perspective on how different strategies interact within a system.