Expand my Community achievements bar.

Applications for the 2024-2025 Adobe Experience Manager Champion Program are open!
SOLVED

AEM: Billing management for high traffic, low resources call

Avatar

Level 1

Hello,

I have a problem at one of my customers, who recently moved to AEM cloud from his on-premise instance.

Most of the content are classic pages, with a 1 day cache, and works fine.
One of the access point provides "real time" data to external services, with a cache time of 10 seconds and millions of calls per month.

Billing has increased too much when switching to the cloud, and we need to figure out a solution.

1) Apparently calls to the CDN and calls to the publisher (so hits that go through the cache) are billed the same way, so changing the cache duration would not change the bill, as the number of calls will not change
2) Moving the interface to e.g. Adobe I/O seems not to be a solution, as apparently calls to that interface cost much more (*5), even though it would be a micro-service instead of a dispatcher answering

When I look at the Adobe offerings, I can't seem to find the place where I would place this service in order to reduce the bill

- AEM Sites (including CDN): bill 1 traffic call in 5
- Adobe I/O: bill each traffic call

I'm surprised that CDN calls and publisher calls are billed the same, I would have expected a huge incentive to make sure that the cdn caching is used efficiently (probably a factor 10 between cached and non-cached hits)

Would we really be forced to host this one data API on a separate service? I would like to be able to stay on the same management / network, but that implies a hosting solution that I could not find yet.

Sorry if my product perception is wrong, I have more experience in AEM backend programming than in program management and billing.

Cheers,
Yves

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi, 

Within Adobe's umbrella, I don't think you have a service for storing data like AWS S3. From an architectural perspective, it does sound correct to extract something that may be considered a "DB" or data being accessed from AEM to an external resource, so considering having a microservice for this could be beneficial. However, I understand your concern; it is not an easy switch. Something that could help is combining SDI (Sling Dynamic Include) and Lazy Load. If the dynamic content is loaded under the fold, it could be a solution worth trying.


Hope this helps



Esteban Bustamante

View solution in original post

3 Replies

Avatar

Correct answer by
Community Advisor

Hi, 

Within Adobe's umbrella, I don't think you have a service for storing data like AWS S3. From an architectural perspective, it does sound correct to extract something that may be considered a "DB" or data being accessed from AEM to an external resource, so considering having a microservice for this could be beneficial. However, I understand your concern; it is not an easy switch. Something that could help is combining SDI (Sling Dynamic Include) and Lazy Load. If the dynamic content is loaded under the fold, it could be a solution worth trying.


Hope this helps



Esteban Bustamante

Avatar

Level 1

Yes, it seems that we will have to export that API to an external system, maybe even on AWS cloud (just like our Adobe instances)

SDI will not help in this case, as we are not working on a load (cpu) issue, but on a billing (access through the cnd/domain registered for the website)

We'll have to host that service on another (sub?) domain so that it is clear that we are not trying to bypass the billing, just that this one service cannot be run through AEM Sites.

Avatar

Level 7

Hi @YvesDe1 ,

I would suggest : 

Within Adobe's umbrella, I don't think you have a service for storing data like AWS S3. From an architectural perspective, it does sound correct to extract something that may be considered a "DB" or data being accessed from AEM to an external resource, so considering having a microservice for this could be beneficial. However, I understand your concern; it is not an easy switch. Something that could help is combining SDI (Sling Dynamic Include) and Lazy Load. If the dynamic content is loaded under the fold, it could be a solution worth trying.


Hope this helps

Thank you!