The Case for Data Gateways
Microservices influence the two-dimensional data layer. First, it requires a separate database per microservice. From a practical implementation standpoint, this can range from a stand-alone DB instance to separate schemas and logical groupings of tables. The main rule here is that only one microservice owns and touches a set of data. And all data is accessible through proprietary microservice APIs or events. The second way that a microservices architecture has influenced the data layer is the proliferation of the data warehouse. Likewise, by allowing microservices to be written in different languages, this architecture allows every microservice-based system to have a polyglot persistence layer. With this freedom, one microservice can use a relational database, another can use a document database, and the third microservice uses an in-memory key-value store. While microservices give you all this freedom, it still comes at a cost. It turns out that operating a large number of data...