Dr. Alan Kay on the Meaning of “Object-Oriented Programming”:
OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things.
This applies to microservices as well:
messaging: Microservices talk to each other over HTTP (or at least some kind of network protocol).
local retention: Each microservice has its own state. (I’m treating a microservice as a collection of running instances.)
protection and hiding of state-process: A microservice’s internal state can only be changed through messages.
extreme late-binding of all things: Parts of a microservices architecture can (and are) deployed independently, changing their APIs and the way they communicate at runtime.
Stefan L. Ram, Berlin. “Dr. Alan Kay on the Meaning of ‘Object-Oriented Programming,’” July 23, 2003. http://www.purl.org/stefan_ram/pub/doc_kay_oop_en.