Introduction
Weltbild GmbH & Co. KG, a prominent online retailer in Germany, specializes in books, gifts, and decorations. As a key part of the Weltbild D2C Group, which operates more than 15 online shops, Weltbild has always recognized the crucial role of page speed in enhancing the performance of their digital storefronts. With a growing emphasis on delivering an exceptional user experience, Weltbild continually seeks opportunities to optimize their website's page speed.
"The implementation process was seamless, and the Speed Kit team provided exceptional support throughout. Our website's performance has significantly improved, providing our customers with a faster and smoother online shopping experience."
Challenge
Solution
Weltbild GmbH & Co. KG integrated Speed Kit into their website weltbild.de. Utilizing cutting-edge caching algorithms and Service Worker technology, Speed Kit has amongst others enhanced the Time to First Byte (TTFB) and Largest Contentful Paint (LCP) on both category and product pages. A key factor in this significant improvement is Speed Kit's capability to cache dynamic HTML resources of pages that without Speed Kit would not be cacheable.
Speed Kit is an official ACE eligible technology partner and independent software vendor (advanced tier) of the AWS Competency Partner Program "Accelerate" as well as the Workload Migration Program. Our technology is powered by 13 different AWS services:
- Elastic Kubernetes Service (EKS): We use EKS to schedule and orchestrate our Speed Kit applications on EC2 instances.
- Simple Storage Service (S3): Speed Kit stores cached assets in S3 buckets. Additionally, we store RUM (Real User Monitoring) and PI (Performance Insights) data in S3 buckets for analytics purposes.
- Elastic Compute Cloud (EC2): Our workloads are hosted on EC2 instances, as managed through EKS.
- Kinesis Data Streams: Kinesis Data Streams are used to ingest RUM and PI data from Speed Kit, which is then consumed by Amazon Managed Service for Apache Flink. Fastly also streams access logs to our Kinesis Data Stream, which are similarly consumed by Amazon Managed Service for Apache Flink.
- Athena: We use Amazon Athena to query data stored in AWS S3 buckets, enabling performance insights and asset preloading.
- Elastic Container Registry (ECR): Docker images are stored in ECR and deployed in our Kubernetes cluster, which is managed by EKS. For third-party application images, we use the pull-through-cache feature of ECR.
- Elastic Container Service (ECS): We build Docker images using a service hosted on Amazon ECS.
- Route 53: Route53 is used to manage DNS records.
- Simple Email Service (SES): We use SES is used for sending transactional emails.
- Managed Streaming for Apache Kafka (MSK): We use MSK to facilitate consuming and producing custom event records for different applications.
- DynamoDB: Speed Kit uses DynamoDB to store information related to our predictive preload feature.
- Lambda: We use Lambda to pre-render client side renderd pages to make that actual server side rendered.
- ElastiCache (Redis OSS): We use ElastiCache to store our Bloom filter, which checks whether an asset is present in our cache.
Click the image to open the architectual diagram of Speed Kit with AWS
Results
The impact of Speed Kit was proven through an A/B test based on Real User Monitoring Data (RUM).
Time to First Byte (TTFB) in milliseconds:
For category Pages, the median Time to First Byte (TTFB) was accelerated from 234 ms to 67 ms on desktop and from 265 ms to 107 ms on mobile. The median First Contentful Paint (FCP) on category pages was decreased from 452 ms to 289 ms on desktop and from 585 ms to 438 ms on mobile.
Largest Contentful Paint (LCP) on product pages:
The median Largest Contentful Paint (LCP) was improved on product pages from 1510 ms to 947 ms on desktop and from 1642 ms to 1332 ms on mobile.