Building Shopify Apps to Scale with AWS

By Matthew Smith — Tue, 20 Oct 2020 — Permanent Link


I recently launched Profit Apps.  Profit Apps is a new suite of applications meant to bring a little fun and creativity to the Shopify Platform.  You can read more about Profit Apps in the Introducing Profit Apps blog post.  To celebrate the launch,  I want to spend some time talking about the design and architecture behind the applications.  I have read a lot of articles on how to build a Shopify app.  Most of the articles focus on getting your app up-and-running.  They use traditional server-based technologies such as Ruby on Rails or PHP.   But, I was not interested in that.  Having a family and a full-time job is a huge commitment.  I did not also want to commit to running, managing, and scaling a server (and possibly a load balancer) as the app grew.  So, I set out to create a solution based on AWS serverless technology.

I have broken this series into three parts.  The first part is about choices.  It introduces the overall architecture and talks about the pros and cons of the design choices I made along the way.  It is aimed at architects and developers considering a similar architecture for their Shopify App.  The second part goes a little more in depth on how to actually build a Shopify App to scale.  It talks about what technologies to use and how to deploy them using CI/CD.  Finally, the last part is a lessons learned about the whole experience.  My philosophy on how to build and maintain these apps is constantly evolving.  So, this tries to recap some of the things I wish I knew before I started.

  • Part 1:  Why I chose AWS and serverless for my Shopify App
  • Part 2:  Designing a Shopify App to scale with AWS
  • Part 3:  Things I wish I knew prior to building my Shopify App

The goal is to keep each part short and consumable.  I will provide links when I feel like there are better resources to dive into.  But, my goal is to write it in a way that if you are new to AWS or Shopify App development, then you can read it without issue.