Tumgik
#OpenClode
ajpandey1 · 1 year
Text
Amazon Web Service & Adobe Experience Manager:- A Journey together (Part-5)
In the previous parts (1,2,3 & 4) we discussed how one day digital market leader meet with the a friend AWS in the Cloud and become very popular pair. It bring a lot of gifts for the digital marketing persons. Then we started a journey into digital market leader house basement and structure, mainly repository CRX and the way its MK organized. Ways how both can live and what smaller modules they used to give architectural benefits.Also visited how the are structured together to give more.
In this part as well will see on the more in architectural side.
AEM scale in the cloud
A dynamic architecture with a variable number of AEM images is required to fulfill the operational business needs.
Tumblr media
AEM as a Cloud Service is based on the use of an orchestration engine.Dynamically scales each of the service instances as per the actual needs; both scaling up or down as appropriate.
Tumblr media
Scaling is a very simple task in AWS with creating separate Amazon Machine Images(AMIs) for publish , publish-dispatcher and author- dispatcher instance.
Use an AMI
Tumblr media
Three separate launch configurations can be created using these AMIs and included in separate Auto Scaling groups(Auto Scaling groups - Amazon EC2 Auto Scaling).
AWS Lambda can provide scaling logic for scale up/down events from Auto Scaling groups.
Scaling logic consists of pairing/unpairing the newly launched dispatcher instance to an available publish instance or vice versa, updating the replication agent (reverse replication, if applicable) between the newly launched publish and author, and updating AEM content health check alarms.
One more approach for the quicker startup and synchronization, AEM installation can place on a separate EBS volume. A frequent snapshots of the volume and attachment to the newly-launched instances, Cut-down need of replicate large amounts of author data. Also it ensure the latest content.
CDN:-Content Delivery Network or Content Distribution Network
A CDN is a group of geographically distributed and interconnected servers. They provide cached internet content from a network location closest to a user to speed up its delivery.
Tumblr media
AWS is having answer of CDN requirement as well in the form of Amazon CloudFront a Low-Latency Content Delivery Network (CDN)
How it works
Tumblr media
It will act as an additional caching layer with AEM dispatcher. Also it require proper content invalidation when it refreshed.
Explicit configuration of duration of particular resources are held in the CloudFront cache, expiration and cache-control headers sent by dispatcher required to control caching into CloudFront .
Cache control headers controlled by using mod_expires Apache Module.
Another approach will be API-based invalidation a custom invalidation workflow and set up an AEM Replication Agent that will use your own ContentBuilder and TransportHandler to invalidate the Amazon CloudFront cache using API.
These all about caching of static content only what is the solution or way to handle Dynamic content will see now.
Content which is Dynamic in Nature
Dispatcher is the key element of caching layer with the AEM. But it will not give full benefit when complete page is not cacheable. Now the question arise how dynamic content can fit into page without breaking the caching feature. There are some standard suggestion available. Like Edge Side Includes (ESIs),client-side JavaScript or Server Side Includes (SSIs) incorporate dynamic elements in a static page.
AWS is also have one solution as Varnish(replacing the dispatcher) to handle ESIs . But its not recommended by Adobe.
Till here we have seen structure of content dynamic static and various ways, but digital solution also have huge number of Assets mainly binary data. These need to configure handle properly to ensure performance of the site.
Again AWS is equipped with great solution called Amazon S3.
AEM Data Store with Amazon S3
Adobe Experience Manager (AEM), binary data can be stored independently from the content nodes. The binary data is stored in a data store, whereas content nodes are stored in a node store.
Both data stores and node stores can be configured using OSGi configuration. Each OSGi configuration is referenced using a persistent identifier (PID).
AEM can be configured to store data in Amazon’s Simple Storage Service (S3), with following PID for configuration
org.apache.jackrabbit.oak.plugins.blob.datastore.S3DataStore.config
To enable the S3 data store functionality, a feature pack containing the S3 Datastore Connector must be downloaded and installed. For more detail please refer Configuring node stores and data stores in AEM 6 | Adobe Experience Manager
This will simplifying management and backups. Also, sharing of binary data store across author and between author & publish instances will be possible and easier task with AWS S3 solution. it will reduce overall storage and data transfer requirements.
Already this great combination walkthroug of the structure combination posibbilities , we will see one more variation available for the Cloud version of AEM with AWS in next (AEM OpenCloud)
Thanks for being with me till this , we will meet in next part with some amazing journey of OpenClode.
Hope you enjoy most till this part, kindly keep your blessings and love to motivate me.
Continue............
1 note · View note