close
close

What scaling Shopify’s Checkout taught me about building great ecommerce apps – The New Stack

Harry Brundage

Harry Brundage is co-founder and CEO of Gadget, a serverless stack for ecommerce app developers. Gadget provides a full-stack development platform that helps developers launch, build, and scale amazing apps. Prior to founding Gadget, Harry spent seven years at Shopify, where he led many of the company’s engineering teams. At Shopify, Harry worked on the top technical threats to the platform’s success, such as the core product front end, the platform’s flash sale readiness, and key commerce primitives.

Over the past year, Shopify, the largest e-commerce platform in the US, has seen a strong partner ecosystem $32 billion in receipts that are above 45% from the previous year. Online brands are spending more time and money customizing their storefronts and the functionality that drives them.

As a result, developers have shifted their focus to working on software that helps deliver unique shopping experiences. Your apps can range from simple workflow automations to custom shopping cart notifications to AI-powered product recommendations.

Building ecommerce apps presents a unique set of challenges that must be carefully navigated. In addition to the myriad of technologies and APIs required to build a good ecommerce app, developers also need to consider ecommerce-specific challenges such as: B. Additional security requirements that come into effect when handling people’s money.

I experienced this firsthand at Shopify, where I led the scaling effort while running the largest flash sales on the web, including Kylie Jenner’s viral makeup craze.

It was a time-consuming, arduous process, with my team constantly trying (and sometimes failing) to build for massive traffic spikes. Pretty much everything in our app that could break has broken – the database, connection pools, web server processes, load balancers, caches and even the frontend. We checked every little thing over and over again until we finally got it right.

There I learned how best to create great ecommerce apps:

1. Build like it’s 1995 – with a backend

Frontend-focused apps provide users with a great experience, enabling rich and responsive interactions. But every ecommerce app eventually needs a server-side component.

Due to webhook processing, large amounts of data, and security concerns, it’s almost impossible to build 100% on the front end of your app without server-to-server communication.

When your app’s backend is set up effectively, it can sync and store data when needed. This allows you to keep an up-to-date copy of the data you need to run your app while still bypassing underlying platform limitations (e.g. API rate caps). Bite the bullet as early as possible – backend requirements are an inevitable challenge as your app begins to scale.

2. Start serverless. Start scaling

Once your app is launched on Shopify or any other ecommerce platform, any merchant anywhere in the world can install it. That means you have to be ready to handle any surge in traffic instantly, whether you’re dealing with the largest retailer or a small corner shop.

You may not always know when major merchants will install your app, so the ability to automatically scale your ecommerce offerings in response to incoming traffic is the best way to minimize costs. Serverless platforms solve this problem by tailoring server-side performance directly to your needs, easily handling all traffic ups and downs. Serverless is great for ecommerce workloads where events like Black Friday, flash sales, and exclusive merchandise drops are the order of the day.

You should evaluate serverless offerings ranging from functions (Google Cloud Functions and AWS Lambda) to databases (DynamoDB, FaunaDB) to full-stack serverless offerings (Gadget).

3. Security is a necessity – so is compliance

Saving customer orders and personal information is a different ball game than saving cat photos. Inattention puts you at risk of security breaches like those that have struck Apple, Facebook, and other big tech companies.

Be compliant with data collection regulations like those in Europe General Data Protection Regulation or California Consumer Privacy Act. At Shopify, for example, every app has to adhere to it “Right to be Forgotten” This means that all personal data will be deleted as soon as Shopify asks you to do so. Try to avoid storing sensitive customer data in your app from the start – and if necessary, have a strategy in place to delete it as desired.

Adding to the complexity, ecommerce apps are often written to be multi-tenant, so different merchants can easily install the same app. This requires careful permissions management in your database, tagging each record with the tenant it belongs to to ensure each trader can only access their own data. These types of data issues are more difficult to fix the longer you leave them disabled.

As developers, we didn’t set out to address these security and scalability concerns when we tackle new problems. Fortunately, we have more tools than ever at our disposal to eliminate friction and help us focus our time on what matters most: creating something new and exciting for our customers.

By building smarter, you can set your app and merchants up for success despite the looming threat of the next giant flash sale!

Featured image via Pixabay.

Leave a Comment