Cloud, Load, and Modular Code: What 2022 Looks Like for Shopify

Shopify CTO Allan Leinwand outlines some of the company's biggest engineering priorities for 2022.

Allan Leinwand
7 min readintermediate
--
View Original

Overview

The article discusses Shopify's engineering strategies and technological advancements for 2022, focusing on modular code architecture, cloud development environments, and enhanced load testing practices. It highlights the challenges and innovations that will shape the future of commerce on Shopify's platform.

What You'll Learn

1

How to implement modular code architecture to improve developer productivity

2

Why leveraging cloud development platforms can enhance global collaboration

3

How to integrate load testing into the development process for better performance

Prerequisites & Requirements

  • Understanding of software architecture principles
  • Familiarity with cloud development environments(optional)

Key Questions Answered

What were Shopify's peak performance metrics during BFCM 2021?
During Black Friday Cyber Monday 2021, Shopify experienced peak traffic of over 32 million app server requests per minute and load balancers peaked at more than 34 million requests per minute. This indicates the immense scale at which Shopify operates during peak shopping periods.
How is Shopify improving its load testing practices?
Shopify is enhancing its load testing by automating and integrating it into the product development process. This includes running load tests that simulate high traffic scenarios, which helps ensure that their infrastructure can handle unexpected spikes in demand, particularly during events like flash sales.
What is the significance of modular code for Shopify's engineering team?
Modular code allows Shopify to break down its monolithic architecture into smaller, manageable components, improving developer productivity and enabling faster deployment. This approach helps engineers focus on specific areas, like storefront rendering, which can be optimized independently.
What role does the Spin cloud development environment play for Shopify developers?
The Spin cloud development environment enables Shopify developers to quickly set up full development environments in seconds, facilitating faster experimentation and collaboration. This efficiency is crucial for enhancing productivity and allowing developers to focus on impactful work.

Key Statistics & Figures

Peak app server requests per minute
32 million
This was recorded during Black Friday Cyber Monday 2021.
Peak load balancer requests per minute
34 million
This indicates the volume of traffic Shopify handled during peak shopping times.
Emails sent during BFCM 2021
145 million
Reflects the scale of communication during peak sales events.
API calls handled
42 billion
Demonstrates the extensive interactions with Shopify's services during BFCM.
Data read from storefront caching infrastructure
15 PB
Indicates the amount of data processed to ensure fast storefront performance.
Queries per second on MySQL database fleet
11 million
Highlights the database performance during peak traffic.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Key Actionable Insights

1
Adopting a modular code approach can significantly enhance your team's productivity.
By breaking down monolithic applications into modular components, teams can deploy changes faster and focus on specific functionalities, leading to improved performance and developer satisfaction.
2
Integrating load testing into your development workflow is essential for scaling applications effectively.
Load testing helps identify potential bottlenecks before they become issues in production, ensuring that your application can handle unexpected traffic spikes, especially during high-demand periods.
3
Utilizing cloud development platforms can streamline the development process across distributed teams.
Cloud environments like Spin allow for rapid setup and collaboration, which is particularly beneficial for teams working in different geographical locations, enhancing overall productivity.

Common Pitfalls

1
Neglecting load testing can lead to performance issues during high traffic events.
Without proper load testing, applications may fail under unexpected traffic spikes, resulting in poor user experiences and lost sales opportunities.

Related Concepts

Microservices Architecture
Cloud Computing
Performance Optimization Strategies