Is your AEM as a Cloud Service (AEMaaCS) license costing more than you anticipated? Are you exceeding your content request limits, not due to increased organic traffic but because of inefficiencies in your setup? Facing challenges with rising subscription costs? If this sounds familiar, keep reading.
How to lower AEMaaCS license costs: 5 cost-reduction tips to save
Is your AEM as a Cloud Service (AEMaaCS) license costing more than you anticipated? Are you exceeding your content request limits, not due to increased organic traffic but because of inefficiencies in your setup? Facing challenges with rising subscription costs? If this sounds familiar, keep reading.
For those using AEM On-Premise or Adobe Managed Services, we’ve got you covered in a follow-up article focused on cutting costs in those environments. In the meantime, these tips can also help optimize infrastructure expenses and boost website performance.
Understanding the AEMaaCS license subscription model
Before we dive into cost-reduction strategies, it’s crucial to understand the AEMaaCS license subscription model and how content requests influence your expenses.
What is a Content Request?
A content request is a key metric that determines your AEMaaCS license cost. It includes:
- Any HTML or JSON request sent to AEM as a Cloud Service’s Edge servers or your custom CDN.
- Requests delivering full or partial content (e.g., HTTP response status code 200 OK).
How are Content Requests counted?
- 1 content request = Each page view or every 5 API calls.
- Only production environment traffic is tracked.
- Excluded traffic: well-known bots, crawlers, error responses, and redirects.
For detailed tracking rules, refer to Adobe’s official documentation.
Common misconceptions about Content Requests
- “Requests only count if they reach Origin servers like AEM Publisher or Dispatcher.”
- Incorrect: Content requests are tracked on AEMaaCS Edge Servers or your custom CDN, not the origin.
- “Using a custom CDN (BYOCDN) means fewer requests will be counted.”
- Incorrect: Content request volume is still reported annually to Adobe, as stated in your contract.
- “Cached responses from CDN prevent requests being counted”
- Incorrect: Cached resources will be counted unless served as 304 Not Modified or unchanged content is no longer served.
Common misconceptions about Content Requests
- “Requests only count if they reach Origin servers like AEM Publisher or Dispatcher.”
- Incorrect: Content requests are tracked on AEMaaCS Edge Servers or your custom CDN, not the origin.
- “Using a custom CDN (BYOCDN) means fewer requests will be counted.””
- Incorrect: Content request volume is still reported annually to Adobe, as stated in your contract.
- “Cached responses from CDN prevent requests being counted”
- Incorrect: Cached resources will be counted unless served as 304 Not Modified or unchanged content is no longer served.
Understanding the AEMaaCS license subscription model
Before we dive into cost-reduction strategies, it’s crucial to understand the AEMaaCS license subscription model and how content requests influence your expenses.
What is a Content Request?
A content request is a key metric that determines your AEMaaCS license cost. It includes:
- Any HTML or JSON request sent to AEM as a Cloud Service’s Edge servers or your custom CDN.
- Requests delivering full or partial content (e.g., HTTP response status code 200 OK).
How are Content Requests counted?
- 1 content request = Each page view or every 5 API calls.
- Only production environment traffic is tracked.
- Excluded traffic: well-known bots, crawlers, error responses, and redirects.
For detailed tracking rules, refer to Adobe’s official documentation.
Common misconceptions about Content Requests
- “Requests only count if they reach Origin servers like AEM Publisher or Dispatcher.”
- Incorrect: Content requests are tracked on AEMaaCS Edge Servers or your custom CDN, not the origin.
- “Using a custom CDN (BYOCDN) means fewer requests will be counted.”
- Incorrect: Content request volume is still reported annually to Adobe, as stated in your contract.
- “Cached responses from CDN prevent requests being counted”
- Incorrect: Cached resources will be counted unless served as 304 Not Modified or unchanged content is no longer served.
5 Tips to lower Content Requests and reduce costs
Let’s explore five actionable tips to reduce the number of content requests and lower your AEMaaCS license costs while enhancing your site’s efficiency.
1. Define a proper caching strategy
A well-planned caching strategy reduces the number of requests to Edge Servers by serving cached responses directly from the browser, improving both performance and cost efficiency.
- Use cache-control headers
- max-age: Specifies how long a resource should be cached.
- stale-while-revalidate: Serves stale content while fetching updates in the background.
- Example: Cache-Control: max-age=300, stale-while-revalidate=3600
- Implement ETag headers
- ETag helps us to identify resource changes, allowing servers to validate cached content. Prevents sending the full response for unchanged resources.
- For content requests, if a resource hasn’t changed, Edge Servers will return 304 Not Modified, and the request won’t count as a content request.
2. Avoid query parameters
Query parameters often prevent caching and lead to increased content requests.
What you can do:
- If query parameters are used only on the client-side, define cache rules to ensure resources are cached.
- If query parameters are used on the server-side, enable caching if requirements allow it. Combine Cache-Control headers and ETags to exclude these requests from being counted.
Example configuration:
Header set Cache-Control "max-age=300, stale-while-revalidate=3600"
</LocationMatch>
Tip: For AEM development, avoid using query parameters, especially for server-side logic. Use selectors and suffixes instead.
3. Avoid AEM as a backend proxy
Using AEM as a central proxy for backend integrations unnecessarily increases content requests.
- Alternative Solutions: Move integrations to consumer side or use microservices, serverless functions, or edge workers for better cost and performance efficiency.
4. Configure traffic filters, rate limits, and WAF rules
Block unwanted traffic and mitigate risks with the following steps:
- Traffic filters: Block malicious IPs and suspicious user agents.
- Set rate limits to reduce the risk of DDoS attacks: For example, block clients exceeding 100 requests/second for five minutes.
- WAF rules: If it’s licensed, enable Web Application Firewall to block suspicious activities.
5. Monitor and optimize
Regularly review Cloud Manager dashboards and CDN logs to stay within usage limits and identify optimization opportunities.
- License dashboard: Track site usage and content request details.
- CDN performance dashboard: View trends, alerts, and suggestions for improving cache efficiency.
- Log analysis tools: Use pre-built dashboards integrated with ELK or Splunk to analyze cache hit ratios, traffic, and WAF configurations.
Conclusion
Managing AEM as a Cloud Service (AEMaaCS) license costs doesn’t have to be overwhelming. By understanding how content requests are tracked and implementing these cost-saving strategies, you can reduce expenses and improve your website’s performance.
Key Takeaways:
- Optimize caching with Cache-Control headers and ETags.
- Minimize query parameters and ensure efficient caching configurations.
- Avoid overusing AEM as a proxy for backend integrations.
- Configure filters and rate limits to block unnecessary traffic.
- Monitor Cloud Manager dashboards and CDN logs to stay on top of usage and optimization opportunities.
By applying these tips, you can effectively lower the number of content requests, keep your AEMaaCS costs under control, and enhance your website's performance.
Struggling with rising AEM license costs or performance issues?
Our team can help you optimize your AEM setup for efficiency and cost savings.
Meet Matija Kovaček, our Distinguished Engineer with over a decade of experience in crafting and delivering solutions in Adobe Experience Manager, Java and various web technologies. Passionated about best practices and principles, high quality standards, clean and innovative solutions that deliver lasting value and drive business success.
Meet Matija Kovaček, our Distinguished Engineer with over a decade of experience in crafting and delivering solutions in Adobe Experience Manager, Java and various Web Technologies. Passionated about best practices and principles, high quality standards, clean, simple and innovative solutions that deliver lasting value and drive business success.
Recommended Reads
Creating accessible digital experiences is key to building a more inclusive world. When we design with accessibility in mind, we enable people of all abilities to engage with and enjoy digital content. This blog offers practical tips to help you design with empathy and ensure everyone has equal access to your platform or product.
Discover how Document-Based Authoring in AEM EDGE Delivery Services streamlines content creation using Google Docs and Microsoft Office. Learn about benefits, features, and integration.
Explore how Adobe DAM is transforming digital asset management into a dynamic marketing powerhouse. From AI-driven content creation to seamless asset distribution
Discover how Domino’s revolutionizes franchisee training using Adobe Learning Manager for enhanced engagement and performance. Learn from their success story at Adobe Summit 2024
Explore the latest innovations in Adobe Experience Platform’s Real-Time CDP, featuring AI-driven insights, seamless data integration, and collaborative tools