In a previous blog post, I wrote about my TechEd lecture OPP400 Microservices in an Agile Environment, which mentions messaging as a microservices integration approach but only scratches the surface of this topic. Fortunately, the Lightning Talk LT120 NoSQL and Messaging in Cloud Foundry allows me to present messaging patterns and share some of the SAP Community’s experience with this topic from an architectural perspective.
A big advantage of microservices is the freedom to choose different technology stacks. This also includes the database. Thus, you can choose the optimal database technology for the microservices. It is hardly surprising, that the new SAP Cloud Platform provides different data management and integration capabilities as backing services. Thus, you don’t have to set up a complete database or messaging cluster by yourself for your cloud-native application.
Messaging is asynchronous communication and makes applications loosely coupled. The communication becomes more reliable because the communicating systems do not have to be running at the same time.
A messaging system allows you to design and build an event-driven architecture that can be characterized by the following patterns, which are presented in the talk:
- Event-Carried State Transfer
- Event Notifications
- Work Queues
The SAP Cloud Platform provides complementary data management technologies. Therefore, I pick and choose two very different stores:
- Object Store for unstructured data (e.g. images, videos, PDF files)
- Redis for small textual information, which needs to be accessed, modified, and inserted at a very fast rate
The SAP Cloud Platform provides various data management and integration capabilities for microservices and other cloud-native applications. Development teams can choose the optimal data stores for their use cases and messaging could become the basis of their event-driven architecture.