A microservice is a tightly scoped, strongly encapsulated, loosely coupled, independently deployable and independently scalable application component. Microservice architecture (MSA) is a design paradigm, based on a combination of SOA and domain-driven design (DDD), that enables ability and scalability.The important part is 'independently deployable and independently scalable application component' Its the backend implementation that makes a micro service not the interface or how its exposed.John-
The flexibility and modularity of microservices are what make them so appealing. They may be installed in containers, such as Docker, making scaling and management a breeze. Furthermore, it is an excellent fit for contemporary DevOps practises, allowing for a more agile development process. These services may be independently designed, deployed, and maintained, which is a game changer for developers.
It's fun to have these kind of discussions in TM Forum!
I don't think TM Forum should take side in the monolith vs microservices debate. both approaches have merits and problems.Recently Amazon Video have shown that they regretted their move to microservices and have reverted to a "monolith".And many OSS and BSS vendors, members of TM Forum, still use a monolith while some have adopted micro services.
One of the ODA guides says that what matters most is that business capabilities are exposed via API. We are here to help businesses and their customers.
To be fair, Matthieu, there is an implication, if not explicitly stated, that an ODA component will likely be implemented as a microservice (or a coherent collection thereof). The ODA technical architecture (such as deployment within K8s, event based communications, etc.) "smells" like microservices :) .