Tech Stacks
    Overview
    System Design Patterns
    CAP Theorem
    C10K and C10M
    Network Programming Models
    Infrastructure as Code
    Examples

Migrations

Updated: 2022-04-02

2022

Amazon Kindle UI: from JavaScript to React Native

https://goodereader.com/blog/electronic-readers/amazon-kindle-ui-is-switching-from-javascript-to-react-native

SingleStore: Moving Away From Next.js

https://www.singlestore.com/blog/moving-from-next-js/

2021

React Official Documents: Gatsby -> Next

https://beta.reactjs.org/

Next 12: Babel -> SWC

Next.js now uses Rust-based compiler SWC to compile JavaScript/TypeScript. This new compiler is up to 17x faster than Babel when compiling individual files and up to 5x faster Fast Refresh.

Uber: Fulfillment Platform Rearchitecture

https://eng.uber.com/fulfillment-platform-rearchitecture/

  • The old service was written with Node.js and HTTP/JSON, while newer Uber services use Java with Protocol Buffers (Protobuf) for communication.
  • use Spanner as db

Qt: qmake to cmake

https://www.qt.io/blog/qt-and-cmake-the-past-the-present-and-the-future

2020

AOSP: -> Bazel

https://blog.bazel.build/2020/11/12/aosp_migrating_to_bazel.html

Spring Boot: Maven -> Gradle

https://spring.io/blog/2020/06/08/migrating-spring-boot-s-build-to-gradle

Discord: Go -> Rust

https://blog.discordapp.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f

Rust does not have garbage collection; Go has latency spikes every 2 min.

2019

Dropbox: to gPRC

https://blogs.dropbox.com/tech/2019/01/courier-dropbox-migration-to-grpc/

Deliveroo: Ruby -> Rust

https://deliveroo.engineering/2019/02/14/moving-from-ruby-to-rust.html

Redhat: MongoDB -> PostgreSQL

https://www.redhat.com/en/blog/red-hat-satellite-standardize-postgresql-backend

GNU Health: MongoDB -> PostgreSQL

http://savannah.gnu.org/forum/forum.php?forum_id=9366

MongoDB Changed the license to Server Side Public License (SSPL) at the end of 2018. Previous versions are still on GPLv3, but MongoDB no longer maintain those old versions.

2018

Udacity: Deprecate React Native

https://engineering.udacity.com/react-native-a-retrospective-from-the-mobile-engineering-team-at-udacity-89975d6a8102

Airbnb: Sunsetting React Native

https://medium.com/airbnb-engineering/sunsetting-react-native-1868ba28e30a

Depop: Heroku to AWS

https://engineering.depop.com/aws-migration-a-depop-story-1444e9aaad31

Facebook: InnoDB to MyRocks

https://code.facebook.com/posts/1478526992216557/migrating-a-database-from-innodb-to-myrocks/

Why: With pure Flash, UDB was space-bound. Even though we used InnoDB compression and there was excess CPU and random I/O capacity, it was unlikely that we could enhance InnoDB to use less space...This was one of the motivations for creating MyRocks – a RocksDB storage engine for MySQL...

Uber: Postgres to MySQL

https://eng.uber.com/mysql-migration/

Segment: Microservices back to Monolith

https://segment.com/blog/goodbye-microservices/

Redfin: Maven to Bazel

https://redfin.engineering/we-switched-from-maven-to-bazel-and-builds-got-10x-faster-b265a7845854

Steam: Python to Go

https://getstream.io/blog/switched-python-go/ https://lobste.rs/s/zsbrjy/why_we_switched_from_python_go#c_ea61kn

Scala to Go

https://movio.co/en/blog/migrate-Scala-to-Go/

2016

Spotify: on-prem to Google Cloud Platform

https://labs.spotify.com/2016/02/25/spotifys-event-delivery-the-road-to-the-cloud-part-i/

2015

Braintree: Gradle to Bazel

https://www.braintreepayments.com/blog/migrating-from-gradle-to-bazel/