Content Delivery Strategy
A Content Delivery Strategy is a plan for how you will deliver content to your users. It is a combination of the content delivery network (CDN) and the caching service that you choose to use.
A CDN is a network of servers that are distributed around the world. These servers are called edge servers. When a user requests content, the CDN determines which edge server is closest to the user and delivers the content from that edge server. This reduces the time it takes for the user to receive the content. A caching service is a service that stores content in a cache. When a user requests content, the caching service checks the cache to see if the content is already there. If it is, the caching service delivers the content from the cache. If it is not, the caching service retrieves the content from the origin server, stores it in the cache, and then delivers it to the user. This reduces the time it takes for the user to receive the content.
Why do you need a Content Delivery Strategy?
Let's take the example of your product catalog hosted by Product-Live in a table called 'Products'. This table contains logisitc information, but also prices and B2C attributes used to generate facet filters on your internal site. Some of this information must of course not be publicly accessible, for obvious security reasons. For this reason, it is not possible to expose this information directly. In addition, the Content Management API and the Data factory API are subject to strict rate-limit rules to guarantee optmimal quality of service. It is therefore very likely that you will exceed this limit if you wish to serve your users through your applications and website.
For these reasons, we recommend using a CDN or caching service to best serve your users. This will allow you to:
- Serve your users with the best possible performance.
- Select the data that you want to expose to your users.
- Scale your application without worrying about rate limits.
How to implement a Content Delivery Strategy?
Once the CDN or caching service provider has been selected, the Data Factory platform will enable you to feed these tools with the data you have selected from your Product-Live data table.
For more information on how the Data Factory platform works, please refer to the dedicated page in our documentation.
How to cache and filter data?
You need a caching service that is specialized for this task. Below a list of partner solutions that can be connected with Product-Live:
Elastic Enterprise Search
Elastic Enterprise Search allows to easily implement powerful, modern search experiences for your busy team. Quickly add pretuned search to your website, app, or workplace. Search it all, simply.
Cloudflare Workers KV
Workers KV is a global, low-latency, key-value data store. It stores data in a small number of centralized data centers, then caches that data in Cloudflare’s data centers after access. KV supports exceptionally high read volumes with low latency, making it possible to build highly dynamic APIs and websites that respond as quickly as a cached static file would. While reads are periodically revalidated in the background, requests which are not in cache and need to hit the centralized back end can see high latencies.
Microsoft Azure Cosmos DB
Azure Cosmos DB is a fully managed NoSQL database service for modern app development.
Amazon Dynamo DB
Amazon Dynamo DB is a fast, flexible NoSQL database service for single-digit millisecond performance at any scale.
MongoDB atlas
MongoDB atlas is a Cloud-hosted MongoDB service on AWS, Azure and Google Cloud.
Note
The solution you choose will depend on your needs and your use cases (search, data access, ...). The criteria to take into account are numerous. Below a non-exhaustive list of questions to ask yourself before choosing a solution:
- In which zone data must be replicated (Europe, US, Asia...)?
- What is the volume of data to be cached?
- What is the volume of data to be accessed?
- Does your data have a relational structure?
- What is the frequency of data updates?
- Do you need to made this data publicly accessible or will it be placed behind an authentication system?
How to cache and display images?
Before caching images, you may need to apply some transformations on them (resize, crop, web optimization...). To perform these operations, you can use the Images API to perform a wide range of operations on the media you host on the Product-Live platform. Once your images are in the expected format, you can transmit them to the CDN service you've selected for widespread distribution.
Below a non-exhaustive list of CDN services that can be connected with Product-Live:
Microsoft Azure CDN
Azure Content Delivery Network offers a global solution for rapidly delivering content. Save bandwidth and improve responsiveness when encoding or distributing gaming software, firmware updates, and IoT endpoints. Reduce load times for websites, mobile apps, and streaming media to increase user satisfaction globally.
Akamai
Content delivery networks, or CDNs, make online experiences faster and more reliable by delivering content closer to users.
Amazon CloudFront
Fast, highly secure and programmable content delivery network (CDN).
How to cache and display videos?
As for images, once your videos are in the expected format, you can transmit them to the CDN service you've selected for widespread distribution.
Microsoft Azure Media Services
Encode, store, and stream video and audio at scale.
Vimeo
Simple tools for any professional, team, and organization to create, manage, and share high-quality videos.
AWS Elemental MediaConnect
Secure, reliable live video transport
What about the search experience?
Algolia
Algolia enables developers to build next generation apps with APIs that deliver relevant content in milliseconds.