Software as a Service (SaaS)

Table of Contents

The app is ready to be used and we simply need to set it up and use it

Reference: https://12factor.net/

In the modern era, software is commonly delivered as a service: called web apps, or software-as-a-service. The twelve-factor app is a methodology for building software-as-a-service apps that:

  1. Use declarative formats for setup automation, to minimize time and cost for new developers joining the project;
  2. Have a clean contract with the underlying operating system, offering maximum portability between execution environments;
  3. Are suitable for deployment on modern cloud platforms, obviating the need for servers and systems administration;
  4. Minimize divergence between development and production, enabling continuous deployment for maximum agility;
  5. And can scale up without significant changes to tooling, architecture, or development practices.

Some of the features that are highlighted by this approach are:

  1. Distributed/versioned configuration
  2. Service registration and discovery
  3. Routing
  4. Service-to-service calls
  5. Load balancing
  6. Circuit breakers
  7. Distributed messaging
  8. Examples
    1. Cloud apps
    2. Tools such as Office 365, OneDrive, Skype

Reading material

  1. https://12factor.net/
  2. https://en.wikipedia.org/wiki/Software_as_a_service