The Distributed Computing Manifesto

This article contains a 1998 document from Amazon. This clarifies the term: service-based architecture.

One of our Leadership Principles is to invent and simplify – our engineers really live by that moto.

We propose moving towards a three-tier architecture where presentation (client), business logic and data are separated. This has also been called a service-based architecture. The applications (clients) would no longer be able to access the database directly, but only through a well-defined interface that encapsulates the business logic required to perform the function. This means that the client is no longer dependent on the underlying data structure or even where the data is located. The interface between the business logic (in the service) and the database can change without impacting the client since the client interacts with the service though its own interface. Similarly, the client interface can evolve without impacting the interaction of the service and the underlying database.

In Simple IoT, I reached this conclusion some time ago. This is different than many systems where they try to center everything around the database, and build reactivity right into the database (ex. Meteor). BTW, Meteor has worked out very well, but it does not scale to an IoT system where you have end-to-end reactivity from the edge device to the user’s browser.