Introduction
Since its founding in 1998 SNIPES has grown from one store to one of the worlds leading sneaker and streetwear platforms. After the last major expansion in 2019 to the United States, SNIPES now runs more than 400 stores in 10 markets. Selling emotional products from various brands like Adidas, Jordan, Karl Kani, Nike or Sean John, the costumer experience is key, not only instore but also in the online shop, that represents a main sales channel and communication factor in the 360° customer centric approach.
"With Speed Kit, we are able to satisfy the increasing performance requirements of our customers across all devices. This is especially true for mobile devices, which are the focus of the mobile Gen-Z target group. Speed Kit has delivered on its promise to reliably achieve best-in-class performance!"
Challenge
Solution
Speed Kit was easily integrated into the Salesforce Commerce Cloud stack of the Snipes Group. To meet the demands of a cross-country, complex architecture, our performance engineers created a custom configuration of Speed Kit that helped deliver the maximum performance uplift. Specific challenges of the sneaker online business have been competently addressed with tailor made solutions. The implementation of Speed Kit quickly improved loading speed compared to the competition.
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
Since Speed Kit is implemented via a JavaScript tag in the HTML template, its performance impact can be A/B-tested.
First Contentful Paint (FCP):
Therefore, our team was able to show the exact improvement that Speed Kit delivers in all relevant web performance metrics, including the Google Web Vitals like Largest Contentful Paint (LCP) and First Contentful Paint (FCP). The results achieved on snipes.com showed impressive performance improvements, as quantified through Speed Kit's builtin real-user monitoring.