Tech Stack Roundup #3: April 2017
April was a busy month! There were so many great tech stack posts that we had trouble picking just ten. We’ve got a total of 20 top posts for month of April, including a whopping ten hidden gems💎. Posts from Netflix, Flipboard, Slack, Twitter, Yelp, Dropbox, LinkedIn, Shopify, and more.
Surprisingly, one major theme for April was mobile development. LinkedIn, Yelp, and Uber all wrote about their use of Android, while Uber broke down the rewrite of their app in Swift, and Shopify wrote about building their mobile CI system.
Check out the previous edition of Tech Stack Roundup
Top 10 Tech Stack Posts:
How we built Twitter Lite (Twitter)
If you haven’t heard, Twitter Lite is a “fast and responsive, uses less data, takes up less storage space, and supports push notifications and offline use in modern browsers” that’s aim is to be the best way to use Twitter when your connectivity is slow, unreliable, limited, or expensive. Basically, a stripped down version of Twitter. Twitter built this as a client-side JS app built with React, Redux, Normalizr, Globalize, Babel, Webpack, Jest, WebdriverIO, and Yarn.
Authors: Nicolas Gallagher
Tech Stack: React, Redux, Normalizr, Globalize, Babel, Webpack, Jest, WebdriverIO, and Yarn
TypeScript at Slack (Slack)
Several People Are Typing TypeScript…Turns out that Slack desktop app you always use is pretty complex. It’s a multi-threaded app that uses JavaScript to interact with native code for Windows, macOS, and Linux. Slack wanted some guarantees that everything fits together, so they turned to TypeScript. They cited the recent SO developer survey to showcase that static type checking is gaining traction. With Slack now adopting it, that’s certainly the case.
Authors: Felix Rieseberg
Tech Stack: TypeScript, JavaScript, Node.js, Objective-C
Detecting Trustworthy Domains (Flipboard)
Flipboard no longer manually filters out and prioritizes domains. They’ve developed a machine learning system called Domain Ranker to automatically distinguish authoritative domains from plagiarists, spammers and other low quality sources to make sure you only get the highest of quality links in your newsfeed.
Authors: Mike Vlad Cora
Tech Stack: Kafka, Amazon S3, HBase, Amazon RDS, Redis
How Yelp Runs Millions of Tests Every Day (Yelp)
Yelp now runs more than 20 million tests per day using their own homegrown system called Seagull. Seagull is a fault tolerant and resilient distributed system which we use to parallelize our test suite execution. Seagull is built using the following:
- Apache Mesos (manages the resources of our Seagull cluster)
- AWS EC2 (provides the instances that make up the Seagull and Jenkins cluster)
- AWS DynamoDB (stores scheduler metadata)
- Docker (provides isolation for services required by the tests)
- Elasticsearch (tracks test run times and cluster usage data)
- Jenkins (builds code artifacts and runs the Seagull schedulers)
- Kibana and SignalFx (provide monitoring and alerting)
- AWS S3 (serves as the source-of-truth for test logs)
Authors: Chunky Gupta
Tech Stack: Apache Mesos, Amazon EC2, Amazon DynamoDB, Docker, Elasticsearch, Jenkins, Kibana, SignalFx, Amazon S3
The Evolution of Container Usage at Netflix (Netflix)
The world’s most popular tv and movie streaming service, Netflix has just crossed 1 million containers launched per week 😱. They built a tool called Titus to help them manage these Docker containers and their deployment on Amazon EC2. Titus helps them schedule container execution and autoscale capacity on EC2. Don’t miss this deep dive into the evolution of their container stack.
Authors: Andrew Spyker, Andrew Leung, Tim Bozarth
Tech Stack: Docker, Amazon EC2
The Benefits of Server Side Rendering Over Client Side Rendering (Walmart Labs)
Most of Walmart.com is now being powered by server-side rendered React. In this post, they show the world why. Walmart has previously open sourced Electrode, which improves the performance of SSR. If you’re considering the tradeoffs between vanilla React and SSR, don’t miss this analysis, complete with Chrome network tab benchmarks.
Authors: Alex Grigoryan
Tech Stack: React, Node.js, Electrode
GraphQL Initiative at Remind (Remind)
GraphQL is starting to pick up steam. Not only have GitHub and Yelp released GraphQL APIs, but companies like Remind have started to use it in production for their main apps. When Remind’s Rails monolith got too big, they decided to turn to GraphQL to improve performance. If you’re considering adding GraphQL to your stack, listen up.
Authors: Ian Hu
Tech Stack: GraphQL, Rails, Ruby
Swift with a hundred engineers (Uber)
Back at Swift Summit in San Francisco in 2016, Tuomas Artman explained how Uber handles their massive Swift codebase. They touch on why they chose to rewrite their iOS app in Swift. They also outline the lessons learned from having a hundred engineers working on a Swift codebase (hint: you may need something like Buck).
Authors: Tuomas Artman
Running Online Services at Riot Part III Part Deux (Riot Games)
Riot Games is back in the Tech Stack Roundup. This time, for how they’re approaching infrastructure as a code and the security implications, load balancing, and failover testing. Find out how they’ve built out their highly available system with details on their data center networking.
Authors: Doug Lardo, David Press
Tech Stack: Docker, OpenContrail
Creating a Modern OCR Pipeline Using Computer Vision and Deep Learning (Dropbox)
Last year, Dropbox released its mobile document scanner. You can use your mobile phone to take photos and “scan” items like receipts and invoices, and business users can then extract all the text in scanned documents and index it, so that it can be searched for later, and create a hidden overlay so text can be copied and pasted from the scans saved as PDFs. In this post Dropbox explains how they built the process extracts actual text from our doc-scanned image.
Authors: Brad Neuberg
Tech Stacks: Amazon Mechanical Turk, Amazon EC2, Amazon S3, OpenCV, Git, TensorFlow
And now..for the Hidden Gems.
- Creating Accessible Android Products at LinkedIn (LinkedIn)
- Continuous Integration on Android (Yelp)
- Engineering Stability in Migrations Moving to Immutable Collections in Uber’s Android Apps (Uber)
- Building a Dynamic Mobile CI System (Shopify)
- Continuous deployment using Jenkins (Thumbtack)
- Visual Studio Code: Shipping One of the Largest Microsoft JavaScript Apps (Realm)
- Memoization in Ruby (made easy) (Gusto)
- How we made our DNS stack 3x faster (CloudFlare)
- Elasticsearch Cluster Lifecycle at eBay (eBay)
- How Swat.io migrated from MySQL to PostgreSQL in 2 years (Die Socialisten Garage)
Get this post plus the latest updates on tools you love by subscribing to StackShare Weekly, featuring the best hand-curated new dev tools and infrastructure services.
Leave any questions you may have for the OPs above in the comments and we’ll make sure they see it :)