CloudHop Ltd

AWS Case Study: Instacart

Created by: Malik Amani

Modified on: Wed, 19 Sep, 2018 at 4:00 PM

About Instacart

Instacart allows people to order groceries online by connecting them with personal shoppers who hand pick items at the customers' favorite local stores and deliver them straight to their doors. Founded in San Francisco in 2012, Instacart has quickly scaled to 18 metropolitan areas across the US and partnered with dozens of grocery retailers, including popular national chains like Whole Foods Market, Costco, and Petco as well as local and regional grocers.

The Challenge

Instacart originally deployed every application using a homegrown deployment tool

The tool required two to three hours of work from one or two developers every week to monitor and maintain, and was limited in functionality and features

Company performs hundreds of deployments a day to clusters of different sizes, so needed a reliable way to deploy and to monitor those deployments

Engineers use the CodeDeploy console and CodeDeploy APIs to monitor the status of each deployment

Uses CodeDeploy’s deployment configurations options depending on the application being deployed and its SLA—rolling updates for consumer-facing web services and all-at-once or half-at-once updates for background job processing systems

Uses CodeDeploy’s lifecycle event hooks to automatically trigger scripts at different stages of each deployment, ensuring the proper configuration and libraries are automatically installed, verifying that applications are booted correctly, and notifying them if rollback updates have failed

The Benefits

CodeDeploy reliably deploys Instacart’s front-end and back-end applications to AWS for the 50 to 60 engineers using it daily

Developers can focus on the core product and worry less about deployment operations

Instacart team no longer needs to spend time and resources maintaining its own internal deployment tool