Introduction
Galeria Karstadt Kaufhof has a long lasting history and is synonymous for department stores within the German market. However, not just since the pandemic crisis of 2020, Galeria has understood that ecommerce is an attractive growth market for them. In a recently published interview with a large German newspaper, CEO Miguel Müllenbach has argued that in the past Galeria has been too slow and old-fashioned in this perspective. To tackle these issues, Galeria has identified web performance as a key success factor.
"Speed Kit has delivered a clearly noticeable performance increase for our online shop. The ecommerce business is an essential growth market for Galeria with high strategic importance. With Speed Kit, the whole topic around performance is taken care of and thus it is one less thing to worry about for us."
Challenge
Solution
Speed Kit is a plug and play approach to solving web performance issues straight out of the box. Based on the service worker technology and implemented via JavaScript, Speed Kit is compatible to all websites. Hence, Speed Kit was easily integrated into the Salesforce Commerce Cloud stack of galeria.de. The Speed Kit team has built a customized configuration of Speed Kit to get the most out of an otherwise slow shop system. Another perk that the Speed Kit service worker offers is an offline mode that notifies the user of an connectivity issue and keeps the user engaged nevertheless.
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
Unlike any performance tool on the market, Speed Kit can be A/B-tested. The results are showing with statistical significance that all relevant performance metrics have greatly improved. The number of page views with a First Contentful Paint (FCP) below one second has increased by 125%.
Largest Contentful Paint (LCP):
Furthermore, the Largest Contentful Paint (LCP) has improved significantly, which is an essential factor of the Google Core Web Vitals, a set of metrics established by Google that play a critical role not only for user experience but also for the organic search ranking.