YOUTUBE hcXjVxaKzv4 Many parallels between the combustion engine and client server.
Martin Fowler wrote the term "Microservice Architecture" has sprung up over the last few years to describe a particular way of designing software applications as suites of independently deployable services. While there is no precise definition of this architectural style, there are certain common characteristics around organization around business capability, automated deployment, intelligence in the endpoints, and decentralized control of languages and data.Martin Fowler defines
Horizontal scalability for OLTP applications Applications that are read-and write-intensive—such as online transaction processing (OLTP) applications—traditionally pose challenges for scalability because of resource contention while maintaining the ACID properties of a database system. The horizontal scalability of OLTP applications when using shared-disk cluster technology adds additional challenges because of the data coherency and messaging that is required across the server instances in a shared-disk cluster. The physics of computers and networking does not allow OLTP applications to scale infinitely on a shared-disk cluster. As the number of nodes and the load and number of users increase, the amount of internode messaging necessary to maintain buffer coherency across the nodes increases exponentially. The best method for scaling OLTP workloads on a shared-disk cluster is to partition the application and data into mutually exclusive sets (that is, to separate the data to different databases) to avoid processing coordination across server instances and access the data for an application from the same instance. Because of this, you must carefully consider how you partition “data” at a database level to eliminate the log and data contention across the participating instances. You can facilitate access to this segmented “data” through a single instance with logical clustering and workload management. Logical clusters allow you to allocate distinct instances to different applications or workloads, logically enabling these groups of data to operate under a single cluster. This reduces inter-instance access and, combined with dedicated temporary databases for each of the instances, helps to deploy an OLTP application in the Cluster Edition that supports continuous data availability. page