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.
- 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
- Started using AWS CodeDeploy to deploy all front-end and back-end services including consumer-facing websites, APIs, mobile apps, internal tools, messaging infrastructure, and processing systems
- CodeDeploy works with Instacart’s existing continuous integration and delivery pipeline setup
- 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
- 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
- CodeDeploy’s console view provides live status updates on every deployment from beginning to end, helping engineers better understand and troubleshoot deployment operations
- Deployment configurations allow Instacart to choose a deployment method tailored to the application and situation, for example, the rolling update configuration reduces deployment risk and minimizes downtime for mission-critical, consumer-facing web services
To learn more about how AWS can help automate deployment operations, visit our AWS CodeDeploy details page.