In Adobe Experience Cloud, AEM is the next-generation platform to build and serve amazing customer experiences. It is designed to leverage the power of cloud technologies to develop and host AEM solutions. The introduction of microservices architecture in AEM allows it to auto-scale and provide agility independently, thereby eliminating the need to worry about right-sizing your infrastructure. Additionally, it lets AEM process a broad range of file types with more formats than what was possible with the previous, standard AEM versions. AEM microservices architecture adopts an everything-as-a-service model that identifies multiple interactions (e.g., content consumption, ordering, product catalogs, promotions, etc.) as headless services. The headless approach is what allows AEM for a strong decoupling and flexibility across various underlying technology components of the consumer experience. It supports a variety of evolving channels, as well as allows seamless processing for resource-intensive operations for the evolving technology landscape.
High Level AEM Architecture
AEM as a Cloud Service comprises of huge underlying architectural changes. So, let’s look at a high level AEM architecture to clearly understand the key elements of asset ingestion and processing and the flow of assets across the system.
The essential steps in the ingestion and processing using AEM microservices involve
• Clients, such as web browsers, send an upload request to the author, i.e., Experience Manager and start uploading the binary directly to the binary cloud storage.
• When the direct binary upload completes, the client notifies the Experience Manager.
• Then a processing request is sent to asset microservices by Experience Manager. The request contents depend on the processing profiles configuration in Experience Manager that specifies which renditions to generate.
• The back end at Asset microservices accepts the processing request and dispatches it to one or more microservices based on the request. Each microservice directly obtains the original binary from the binary cloud store.
• The processing results, for instance, renditions, are stored in the binary cloud storage.
• The process completion notification is sent to the Experience Manager along with direct pointers to the generated binaries (renditions). The generated renditions for the uploaded asset are available in Experience Manager.
This high-level AEM architecture explains the basic flow of asset ingestion and processing. The Experience Manager, if configured, can also initiate a custom workflow model to do post-processing of the asset.
Asset Upload with Direct Binary Access
Experience Manager clients support upload with direct binary access by default. In direct binary access, once the assets are configured for Experience Manager environments, they are transported (and uploaded) to the Cloud Binary Store. Thereafter the Experience Manager, asset microservices, and finally clients get direct access to them to execute their work. This approach reduces the load on networks and the duplication of binaries stored.
When the Experience Manager performs the upload function, it includes upload using a web interface, Adobe Asset Link, and Experience Manager desktop app.
One can use custom upload tools, which work directly with Experience Manager HTTP APIs. The APIs can either be used directly, or the following open-source projects can be used and extended that implement the upload protocol:
• Open-source upload library
• Open-source command-line tool
Custom Asset Addition
Although maximum consumers get all their asset processing needs from the configurable asset microservices, some may require additional asset processing. It is particularly evident when assets need to be processed based on data coming from other systems via integrations. In such cases, custom post-processing workflows can be used.
Post-processing workflows are regular Experience Manager workflow models, designed and handled in Experience Manager Workflow editor. Consumers can configure the workflows to implement the additional processing steps on an asset, including the utilization of available out-of-the-box workflow procedures and custom workflows.
AEM can be configured to trigger the post-processing workflows automatically after asset processing is done.
Advantages and Drawbacks of AEM Microservices
The most commonly referred to advantages of AEM microservices architecture are:
• Improved scalability – You can scale just one part of the system which actually needs it. You needn’t bother with additional AEM licenses to scale heavy-processing parts of the system, like search, user management, and so on.
• Faster development – Utilize technology that best suits your requirements; there’s no restriction to AEM/OSGi stack. You can also dissociate your teams effectively as they may deal with the separate applications with separate technology stacks.
• Better performance – The system performs better and turns out to be steadier than a pure AEM-based one.
• Increased agility – Any change introduction is simpler and takes less time because of the well-separated services.
As with any notable advantage, there are a couple of drawbacks to consider when moving from conventional architecture to an agile, more scalable microservices architecture. Here are the few challenges with the microservices architecture:
• Complicated Infrastructure– Microservices bring about increased interconnections and interdependencies that raise the complexity of the architecture
• Requires careful planning– If the structuring to map functionalities and dependencies is not planned carefully, all the advantages of microservices may wither away.
• Proper sizing is critical, and hard to calculate: Improperly scaling Microservices architecture will create an imbalance that would be quite challenging to solve without extra resources and special talent.
With more and more organizations now switching to iterative development, it is essential to have an underlying architecture that is robust, scalable, and easily adaptable to real-time business needs. And AEM Microservices is the answer to that.
Time and again, Techouts has proved its worth as the best technology partner that can deliver the best of both worlds- AEM & Microservices to clients seeking to achieve organizational success through Adobe marketing solutions. As a proud Adobe implementation partner, Techouts has positioned itself to achieve digital maturity by focusing on data, customer-centricity, and exponential ROI; by blending exceptional user experience and data-driven methodologies in Adobe Experience Cloud.
Our expertise in AEM microservices has made us a global leader in understanding the digital ecosystem better than our competitors ultimately ushering our clients toward a more profitable digital landscape.
If you are looking for snappy builds and more manageable facets of development with AEM Microservices, reach us today!