CircleCI

CircleCI

2176 Followers
CircleCI’s continuous integration and delivery platform helps software teams rapidly release code with confidence by automating ... more
Tools by CircleCI

Decisions 7

Robert Zuber

CTO at CircleCI

We use MongoDB as our primary #datastore. Mongo's approach to replica sets enables some fantastic patterns for operations like maintenance, backups, and #ETL.

As we pull #microservices from our #monolith, we are taking the opportunity to build them with their own datastores using PostgreSQL. We also use Redis to cache data we’d never store permanently, and to rate-limit our requests to partners’ APIs (like GitHub).

When we’re dealing with large blobs of immutable data (logs, artifacts, and test results), we store them in Amazon S3. We handle any side-effects of S3’s eventual consistency model within our own code. This ensures that we deal with user requests correctly while writes are in process.

23 1.3M

Robert Zuber

CTO at CircleCI

We are in the process of adopting Next.js as our React framework and using Storybook to help build our React components in isolation. This new part of our frontend is written in TypeScript, and we use Emotion for CSS/styling. For delivering data, we use GraphQL and Apollo. Jest, Percy, and Cypress are used for testing.

17 606.1K

Robert Zuber

CTO at CircleCI

Our primary source of monitoring and alerting is Datadog. We’ve got prebuilt dashboards for every scenario and integration with PagerDuty to manage routing any alerts. We’ve definitely scaled past the point where managing dashboards is easy, but we haven’t had time to invest in using features like Anomaly Detection. We’ve started using Honeycomb for some targeted debugging of complex production issues and we are liking what we’ve seen. We capture any unhandled exceptions with Rollbar and, if we realize one will keep happening, we quickly convert the metrics to point back to Datadog, to keep Rollbar as clean as possible.

We use Segment to consolidate all of our trackers, the most important of which goes to Amplitude to analyze user patterns. However, if we need a more consolidated view, we push all of our data to our own data warehouse running PostgreSQL; this is available for analytics and dashboard creation through Looker.

9 747.2K

Robert Zuber

CTO at CircleCI

Most of CircleCI is written in Clojure and it has been this way since almost the beginning. Early development included Rails, but by the time that CircleCI was released to the public, it was written entirely in Clojure. Clojure is still at our platform’s core. It helps having a common language across much of our stack to allow for our engineers to move between layers of the stack without much overhead.

9 25.3K

Followers 2176

Mihai Popovici
bowtie-careers
Zachary Piazza
aminerz
Ashwini Nagaraj
Dustin Armstrong
Muhammad Osama
Muhammed Mirza Kılıç
Jazmia Henry
Tekaru Oka
visal parola
Luis Gervaso
Thempra .
Hitboy 69
Maria Tomeyan
Ba Van
Andrew Starodubtsev
Juan Carlos Blanco Delgado
a p
Florian Bremec
K K
Remy Ricardo
Engin OZER
Jure Glasovic
Danny Lee
Greg Bellinger
James Brown