nayaread
HomeFavouritesTopicsSources
HomeFavouritesTopicsSources
NayaRead links to original engineering blogs. All copyright belongs to the respective authors.
Shopify Engineering·Nov 7, 2018·7 min read49

Running Apache Kafka on Kubernetes at Shopify - Shopify

In the Beginning, There Was the Data Center Shopify is a leading multi-channel commerce platform that powers over 600,000 businesses in approximately 175 countries. We first adopted Apache Kafka as our data bus for reliable messaging in 2014 and mainly used it for collecting events and log aggregation across the systems. In that first year, our primary focus was building trust in the platform with our data analysts and developers by automating all aspects of cluster management, creating the proper in-house tooling needed for our daily operations, and helping them use it with minimum friction. Initially, our deployment was a single regional Kafka cluster in each of our data centers and one aggregate cluster for our data warehouse. The regional clusters would mirror their data to the aggregate using Kafka’s mirrormaker. Apache Kafka deployment in the data center Fast forward to 2016, and we’re managing many multi-tenant clusters in all our regions. These clusters are the backbone of our data superhighway — delivering billions of messages every day to our data warehouse and other application-specific Kafka consumers. Chef provisioned, configured and managed our Kafka infrastructure in the data center. We deploy a configuration change to all clusters at once by updating one or more files in our Chef GitHub repository. Moving to the Cloud In 2017, Shopify started moving some services from our data centers to the cloud. We took on the task of migrating our Kafka infrastructure to the cloud with zero downtime. Our target was to achieve reliable cluster deployment with predictable and scalable performance and do all this without sacrificing ease of use and security. Migration was a three-step process: Deploy one regional Kafka cluster in each cloud region we use, and deploy an aggregate Kafka cluster in one of the regions. Mirror all regional clusters in the data center and in the cloud to both aggregate clusters in the data center and in the cloud. This guarantees both aggregate clusters will have the same

CloudData EngineeringKubernetes
Read original on shopify.engineering

Score breakdown

  • Technical depth45
  • Practical value75
  • Originality85
  • Writing quality100
  • Source reputation0
  • Recency0
  • External engagement0
  • On-site engagement0

NayaRead shows a summary and links to the original article. The full article is hosted on shopify.engineering.

More like this

Yelp Engineering

Zero downtime Upgrade: Yelp’s Cassandra 4.x Upgrade Story

Mark Surnin +2 others·Apr 7, 2026·1 min read
Etsy — Code as Craft

Kafka App? There’s a Skill for That

Isobel Scott·Jul 31, 2026·6 min read
Instacart Tech & Innovation

Building a Flink Self-Serve Platform on Kubernetes at Scale | Instacart

Person·Apr 28, 2023·11 min read
Etsy — Code as Craft

Enhancing Cloud Usage Forecasting, Monitoring & Optimizing

Anthony Tambasco·Jun 17, 2024·4 min read