Shopify's off to San Francisco for SREcon Americas

Shopify production engineering will be at SREcon Americas 2017, held on March 13 and 14. We'll be sharing our best practices and the lessons we’ve learned along the way. 

Tracking Service Infrastructure at Scale - John Arthorne

With the Shopify SRE team focused mainly on the most critical systems, we faced a looming crisis with hundreds of other important applications suffering from lack of clear ownership, inconsistent infrastructure, and poor automation. Here are some of the tools Shopify built for scaling out strong SRE infrastructure and practices across a large fleet of applications.

Monday, March 13, 2017 at 2:50 pm to 3:40 pm, Track 2

Lightning Talks (times to be confirmed)

Data Center Automation at Shopify - David Radcliffe

The flexibility and speed offered by cloud computing solutions have raised the bar for bare metal deployments. Automation is essential to speedy and reliable provisioning and capacity management. We’ll share some of the tools we’ve utilized to automate our data center and empower our developers to move quickly and keep up with the times.

Monday, March 13, 2017 at 2:50 pm to 3:40 pm, Track 3

Four-Minute Deploys: No Engineers Necessary - Lei Lopez

Previously, our devs had to ping an SRE to deploy. This process was prone to error and wasteful. Today, a chatbot automatically deploys Shopify over 40 times a day in four minutes, without losing any requests. The journey wasn’t easy, but undeniably worth it. I’ll share how we made this possible by leveraging Nginx, Docker, and our open-source deployment tool Shipit.

Tuesday, March 14, 2017 at 3:50 pm to 4:45 pm, Track 2

How Three Changes Led to Big Increases in On-call Health - Dale Neufeld

Burnout, unfortunately, is commonplace in operations, and its negative effects are well-documented. However, it doesn’t have to be inevitable. Recently, we realized that action had to be taken to establish a better on-call experience, including moving to a production engineering model. I’ll share specific actions that not only helped to keep our team healthy but also grew people’s expertise.

Tuesday, March 14, 2017 at 3:50 pm to 4:45 pm, Track 2

Booth Presence

You can also catch us at our booth (#3, in the Grand Foyer), where we'll be hosting office hours, chatting about topics related to our talks.

Monday, March 13:
9:55 am to 12:50 pm - Handling Massive Flashes of High-Write Traffic
12:50 pm to 3:45 pm - Road to an SRE Model
3:45 pm to 6:30 pm - Tools for Tracking Service Infrastructure at Scale

Tuesday, March 14:
9:55 am to 12:50 pm - Auto-deploying Anywhere and At Any Time
12:50 pm to 3:45 pm - Road to an SRE Model
3:45 pm to 7:00 pm - Automating Data Center Deployments

Anita Clarke

Continue reading →

Shopify heads to Dublin for SREcon Europe

Production engineers from Shopify will be crossing the pond to speak at SREcon Europe from July 11 to 13, 2016 in Dublin, Ireland. From flash sale engineering to fuzz testing to multi-tenant architecture across multiple data centers, we got you covered!

Image credit: Giuseppe Milo

Jaime Woo

Continue reading →

Five Shopify talks at RailsConf 2016

RailsConf banner

Updated June 9, 2016

RailsConf is tomorrow! For the first time, the conference will be in Kansas City, known for jazz and barbeque and home to the Royals. If you're heading down, here are the details for the five presentations we'll be giving:

  • How We Deploy Shopify - Kat Drobnjakovic

Shopify is one of the largest Rails apps in the world and yet remains to be massively scalable and reliable. The platform is able to manage large spikes in traffic that accompany events such as new product releases, holiday shopping seasons and flash sales, and has been benchmarked to process over 25,000 requests per second, all while powering more than 243,000 businesses. Even at such a large scale, all our developers still get to push to master and deploy Shopify in 3 minutes. Let's break down everything that can happen when deploying Shopify or any really big Rails app.

Wednesday, May 4, 11:40 am to 12:20 pm, Room 3501 G

  • Foreign API Simulation with Sinatra - Konstantin Tennhard

Nowadays, we often rely on third party services that we integrate into our product, instead of building every aspect of an application. In many cases, well written API clients exist, but on occasion you run into the issue that there isn't a ready to use client or it simply doesn't fit your needs. How do you write a good API client and more importantly how do you test it without hitting the remote API. So far, the standard approach has been replaying requests with VCR or stubbing them with Webmock. There is a third option: simulating foreign APIs with Sinatra from within your test suite!
Wednesday, May 4, 1:40 pm to 2:20 pm, Room 3501 EF
  • How Sprockets Works - Rafael Mendonça França

Almost all applications have assets like CSS, JavaScript and others. That means the asset pipeline is an integral part of the Ruby on Rails framework. In this talk we'll show you how the asset pipeline works, and how you can take full advantage of the asset pipeline's features. Ever wondered how to convert an SVG to PNG automatically? Wanted to know what exactly happens to your CoffeeScript files? We'll explore that, and more.

Wednesday, May 4, 3:40 pm to 4:20 pm, Room 3501 H

  • Testing Rails at Scale - Emil Stolarsky

It's impossible to iterate quickly on a product without a reliable, responsive CI system. At a certain point, traditional CI providers don't cut it. Last summer, Shopify outgrew its CI solution and was plagued by 20 minute build times, flakiness, and waning trust from developers in CI statuses. Now our new CI builds Shopify in under 5 minutes, 700 times a day, spinning up 30,000 docker containers in the process. This talk will cover the architectural decisions we made and the hard lessons we learned so you can design a similar build system to solve your own needs.
Wednesday, May 4, 4:30 pm to 5:10 pm, Room 3501 AB
  • Rails 5 Features You Haven't Heard About - Sean Griffin

We've all heard about Action Cable, Turbolinks 5, and Rails::API. But Rails 5 was almost a thousand commits! They included dozens of minor features, many of which will be huge quality of life improvements even if you aren't using WebSockets or Turbolinks.

This will be a deep look at several of the "minor" features of Rails 5. You won't just learn about the features, but you'll learn about why they were added, the reasoning behind them, and the difficulties of adding them from someone directly involved in many of them.

Thursday, May 5, 11:40 am to 12:20 pm, Room 3501 DC

 

Come say hey, and we're looking forward to chatting all things Rails! And if you're a dev interested in joining Shopify. Kayla Boyer will be at RailsConf: reach out to her through Twitter. To check out open roles or to learn more, head over to our Careers page.

Jaime Woo

Continue reading →