{"id":7648,"date":"2020-03-05T16:43:35","date_gmt":"2020-03-05T11:13:35","guid":{"rendered":"https:\/\/www.argildx.us\/?p=7648"},"modified":"2021-06-15T12:13:02","modified_gmt":"2021-06-15T06:43:02","slug":"microservices-architecture-with-osgi-framework-modularization-aem","status":"publish","type":"post","link":"https:\/\/www.argildx.us\/technology\/microservices-architecture-with-osgi-framework-modularization-aem\/","title":{"rendered":"AEM Welcomes the Mighty Microservices"},"content":{"rendered":"\n
The idea of programmers aiming at designing applications that are modular in concept has been around the corner since the inception of application development. The concept of modularization has however evolved over decades only to deliver superior inventions.
When we talk about Adobe Experience Manager (AEM), it is also equipped to serve modular applications (meaning that it is capable of supporting a microservices architecture), thanks to OSGI (Open Source Gateway Initiative). OSGi \u201cprovides the standardized primitives that allow applications to be constructed from small, reusable and collaborative components. These components can be composed into an application and\u00a0deployed<\/em>.\u00a0This\u00a0allows easy management of bundles as they can be stopped, installed, started individually. The interdependencies are handled automatically.<\/em>\u201d (Read more<\/a>) All these work well, in fact very well.
AEM based applications are often complex, consisting multiple complex bundles that individually connect to cumbersome APIs and what not. Such architectures\u00a0seem\u00a0quite natural and obvious in AEM-based systems\u200a\u2014\u200aeverything is deployed on a single instance and as and when you want to scale horizontally, you add another instance. Simple and it works, at least in theory.
In practice, some parts of an application are used far more extensively than others and hold far more resources. Adding an entire AEM instance to scale a particular module doesn\u2019t make sense when the TCO for one instance is already high. In totality, traditional AEM applications end up being a monolith.
Comes microservices to the rescue. You scale a module stored on a different server. Where is AEM Server? Well,\u00a0it\u2019s\u00a0still there, acting as another service.
Argil DX has developed F-AI-shion Police with the above approach.
F-AI-shion Police<\/a>\u00a0<\/p>\n\n\n\n