BlogsShopifyCloud Development Environments

Cloud Development Environments

Cloud Development Environments

1
posts
2022

This feature thread tracks the development and enhancement of Shopify's cloud-based development environments. Initial efforts focused on addressing the limitations of local development tools like 'dev' and 'railgun' which struggled to keep up with the increasing complexity of projects and the resource demands of modern development workflows. Experiments with local Kubernetes clusters and Google Compute Engine (GCE) VMs were conducted. The GCE VM experiment showed promise, leading to a broader exploration of cloud-native solutions. The team is now focused on building a dynamic, scalable, and automated development environment that leverages cloud infrastructure, moving away from managing VMs and towards a more elastic relationship between compute power and storage, ultimately aiming to provide developers with cloud-native development environments that scale as well as production applications.

2022

The Journey to Cloud Development: How Shopify Went All-in on Spin - Shopify

6/9/2022

This post details the challenges faced by Shopify's local development environment ('dev' and 'railgun') due to increasing project complexity and resource demands. It describes the limitations of the existing system, including slow build-test loops and difficulties in managing complex inter-repository dependencies and state. The post outlines early experiments with local Kubernetes and GCE VMs, noting the limited traction of the Kubernetes approach and the unexpected success of the GCE VM experiment. It highlights the realization that a cloud-native solution was necessary and the formation of a dedicated team to explore this further, with a focus on avoiding VM management and achieving dynamic scaling of compute and storage.