← All posts

SaaS Factory (The Series) · Part 2 of 4

SaaS Factory (The Series) — Understanding the SaaS Factory Architecture (Part 2/4)

The goal of this post is to provide an introduction to the basic terminology, strategies and patterns applied when building SaaS products…

4 min read873 wordsSections: 8Images: 6Apr 20, 2022

Keywords

Share
Comment
SaaS Factory (The Series) — Understanding the SaaS Factory Architecture (Part 2/4)

The goal of this post is to provide an introduction to the basic terminology, strategies and patterns applied when building SaaS products on AWS. This material presents a mental model that can be used to dive deeper into SaaS technical content.

In the previous post, we talked about: The Overall Structure of Software as a Service, The Multi-Tenancy Mental Model, and What We See in Practice in Multi-Tenancy. In today’s post, we will talk about The Benefits and Drawbacks of Each Model and Software as a Service Delivered with Agility.

The Benefits and Drawbacks of Each Model

SaaS applications can be built with a variety of different architectural models. Regulatory, competitive, strategic, cost-efficiency and market considerations all have some influence on the shape of your SaaS architecture. At the same time, there are strategies and patterns that are applied when defining the footprint of a SaaS application. These patterns fall into one of three categories — Silo, Bridge and Pool.

Silo Model

Pros

  • Compliance alignment;
  • Partitioned environments;
  • No cross-tenant impact;
  • Tenant-specific improvements;
  • Tenant-level availability.

Cons

  • Costs;
  • Compromised agility;
  • Management complexity;
  • Deployment challenges;
  • Aggregation of analytics and metrics.

Pool Model

Pros

  • Agility;
  • Cost optimization;
  • Centralized management;
  • Simplified deployment;
  • Aggregation of analytics and metrics.

Cons

  • Cross-tenant impact;
  • Compliance challenges;
  • “All or nothing” availability.

Software as a Service Delivered with Agility

One of the main goals — if not the main goal — pursued by a Software as a Service approach is agility. Given that the components usually needed to run a software workload — infrastructure, getting operations off the ground, technology evolution, among others — are abstracted away by the model, agility is something SaaS should always strive for.

SaaS demands that agility be constantly checked, especially when it comes to:

  • Frictionless sign-up;
  • Frequent releases of new features;
  • Fast response to the market;
  • Constant customer feedback.

Agility = Metrics

As the American engineer and statistician William Edwards Deming put it, “You can’t manage what you don’t measure, you can’t measure what you don’t define, you can’t define what you don’t understand, and there is no success in what you don’t manage.”

In SaaS, given the inherently multi-tenant context, proper management of metrics and indicators is essential. Some of the main points analyzed are:

  • Usage;
  • Consumption;
  • System or tenant health;
  • Customer satisfaction;
  • Customer engagement.

These metrics enable analyses that benefit integrated management of the SaaS context, with information such as:

  • KPIs and success metrics;
  • Early warnings;
  • Customer notifications;
  • Root cause analysis.

Raising the DevOps Bar

DevOps (a contraction of development and operations) is a software engineering culture that brings software developers (Dev) and software operators / system administrators (Ops) closer together.

In the SaaS context, DevOps covers the development and operations aspects; however, there is also the challenge of integrating these disciplines with the business view and, above all, ensuring that DevOps processes and tools enable the premises established for SaaS.

SaaS and Microservices

As presented earlier, in SaaS agility is the main goal. The constant release of new features has to be guaranteed, especially given the premises of not impacting other parts of the software, or even causing cross-tenant impact.

A major enabler for this is adopting microservices-oriented software architectures. Microservices are a particular way of developing applications in which each module of the software is a standalone service that is deployed and scaled independently of the “main application.”

An important step in defining a microservice architecture is figuring out how big an individual microservice should be. There is no consensus or litmus test for this, since the right answer depends on the context. For example, Amazon is famous for using a service-oriented architecture in which a service usually maps 1:1 to a team of 3 to 10 engineers.

Among the benefits of adopting a microservices-based architecture are:

  • Modularity: it makes the application easier to understand, develop and test;
  • Scalability: since microservices are implemented and deployed independently of one another, that is, they run in independent processes, they can be monitored and scaled independently;
  • Integration of heterogeneous and legacy systems: microservices are considered a viable way to modernize an existing monolithic software application;
  • Distributed development: it parallelizes development by allowing small autonomous teams to develop, deploy and scale their respective services independently.

Integrating Technology and Business

As the old saying goes, “You never get a second chance to make a first impression.” Customer trust is hard-won and easily lost. Properly architecting a scalable, secure SaaS-based product is just as important as feature development and sales. For that, the integration between Technology and Business is essential.

The SaaS model delivers several benefits in terms of technology and operations, such as automation, scalability, availability and optimization. Likewise, SaaS also enables benefits directly at the business layer, such as flexibility, tier-based pricing, customer success and market responsiveness.

In the next post, we will talk about Software as a Service Operations.

SaaS Factory (The Series) — How to Build Software as a Service Solutions on AWS

See you then! =)

Comments

Every comment is moderated before it appears here. Nothing is published automatically.

Loading…