Originally envisaged as an alternative to monolith applications, microservice patterns should be non-monolithic inherently where change is easy, units are small, and scalability is close to infinite. This also means that microservices are not just one thing. Rather, microservices are more a category of related patterns that share a similar set of goals. This is analogous to database systems; they all share similar goals — but with perhaps different priorities like scalability or easier maintainability. So, their specifics may differ significantly. For example, RDBMS’s (SQL Server, Oracle, etc.), NoSQL stores (MongoDB), Time Series Databases (InfluxDB), and “Big Data” stores (Cassandra, Terrastore), etc., all share a similarity — they offer the ability to store and query data — yet their specifics make them quite different.