Awesome
List of Tech Migrations
list of public tech migrations (create a PR to if you have correction or addition), originally from this blog which sometimes copied to this medium account.
note:
- migration can be partial (not whole stack, since most companies out there not using single programming language/database anyway)
- year = year of the article/presentation, or the year of migration if stated on the article/presentation.
- discuss here: reddit thread / ycombinator discussion
graph
2005
2010
- Bing (2010) from C++ to DotNET
2011
- Twitter (2011) from Ruby to Scala
- UrbanAirship (2011) from MongoDB to PostgreSQL
- Mixpanel (2011) from Erlang to Python
2012
- LinkedIn (2012) from Ruby to NodeJS
- MoovWeb (2012) from ? to Golang
- NTPPool (2012) from Perl to Golang
- DLGoogle (2012) from C++ to Golang
- Bitly (2012) from Python/C to Golang
- SoundCloud (2012) from Ruby to Golang
- SmartyStreets (2012) from .NET to Golang
- Toggl (2012) from Ruby to Golang
- Shareaholic (2012) from MongoDB to Riak
- DigiDoc (2012) from MongoDB to PostgreSQL
- Etsy (2012) from MongoDB to MySQL
- TekPub (2012) from MongoDB to PostgreSQL
- TargeterApp (2012) from NodeJS to Ruby
- Dropbox (2012) from JavaScript to CoffeeScript
2013
- PayPal (2013) from Java to NodeJS
- Koding (2013) from NodeJS to Golang
- Iron.io (2013) from Ruby to Golang
- Zalora (2013) from PHP to Golang
- TimeHop (2013) from Ruby to Golang
- CanonicalJuju (2013) from Python to Golang
- Facebook (2013) from PHP to Hack
- Blippex (2013) from AWS to OVH
2014
- Instill (2014) from AngularDart to Polymer
- Workia (2014) from ActionScript to Dart
- TrustWave (2014) from ActionScript/Flex to Dart
- Facebook Chat (2014) from Erlang to C++
- Grab (2014) from Ruby/NodeJS to Golang
- CloudFlare (2014) from PostgreSQL to CitusDB
2015
- Auth0 (2015) from Apache Kafka to ZeroMQ
- Pinterest (2015) from Java to Elixir
- PresidentUniversity (2015) from PHP/MySQL to Golang/PostgreSQL
- UserLike (2015) from MySQL/MongoDB to PostgreSQL
- Olery (2015) from MongoDB to PostgreSQL
- CrowdStrike (2015) from Scala to Golang
- DockYard (2015) from Ruby to Elixir
- Parse (2015) from Ruby to Golang
- Marriot (2015) from Unknown to Couchbase
2016
- CrowdStrike (2016) from Scala to Golang
- Tokopedia (2016) from Perl to Golang
- Uber (2016) from PostgreSQL to MySQL
- Uber (2016) from NodeJS to Golang/Java
- Uber (2016) from Python to Golang
- Digg (2016) from NodeJS to Golang
- Google AdWords (2016) from GWT to Angular/Dart
- Slack (2016) from PHP to Hack
- Sky (2016) from Oracle to Couchbase
- Amadeus (2016) from Oracle to Couchbase
- AppsFlyer (2016) from Druid/MongoDB/Redis/Cassandra/Redshift to SingleStore
- Dropbox (2016) from AWS to self-managed/own-datacenter
2017
- BleacherReport (2017) from Ruby to Elixir
- UpGuard (2017) from JRuby to Golang
- Movio (2017) from Scala to Golang
- Discord (2017) from MongoDB to Cassandra
- Uber (2017) from Riak/Solr to Cassandra
- Swat.io (2017) from MySQL to PostgreSQL
- Poki (2017) from PHP to Golang
- Stream (2017) from Python to Golang
- Baidu (2017) from MySQL to CockroachDB
- Boxzilla (2017) from PHP to Golang
- GAEA (2017, 2019) from MongoDB/MySQL to TiDB
- Shippable more (2017) from Golang+MongoDB to NodeJS+PostgreSQL
- GeekyAnts (2017) from ReactNative to Flutter
- Yuanfudao (2017) from MySQL to TiDB
- Dropbox (2017) from CoffeeScript to TypeScript
- Manage (2017) from MySQL/Hadoop/Hive/Kafka to SingleStore
- BlueShift (2017) from MSSQLServer to SingleStore
- Myntra (2017) from RedShift to SingleStore
- TreeScale (2017) from Python to Golang
2018
- AppTree (2018) from Java/Kotlin/ObjC/Swift to Dart
- SendGrid (2018) from Perl/Python to Golang
- Bukalapak (2018) from Ruby/MySQL to Golang/MongoDB/ElasticSearch/CloudSQL
- Centrifugo (2018) from Python to Golang
- TheGuardian (2018) from MongoDB to PostgreSQL
- CloudFlare (2018) from CitusDB to Clickhouse
- Github (2018) from jQuery to vanilla javascript
- Meituan (2018) from MySQL to TiDB
- iQiyi (2018) from MySQL to TiDB
- Yiguo (2018) from Hadoop/MSSQLServer to TiDB
- Mobike (2018) from MySQL to TiDB
- CashApp (2018) from MySQL to Vitess
- Bing (2018) from DotNET to DotNetCore
- PixelJets (2018) from ElsticSearch+LogStash+Kibana/BigQuery to Clickhouse
- Insite360 (2018) from RedShift to SingleStore
- Areeba (2018) from Hadoop/MariaDB to SingleStore
- Wag (2018) from MySQL to SingleStore
- Fanatics (2018) from ElasticSearch to SingleStore
- Pandora (2018) from Hadoop to SingleStore
- Twitch (2018) from Ruby to Golang
- Kairos (2018) from PHP to Golang
2019
- AppsFlyer (2019) from Clojure to Golang
- Deliveroo (2019) from Ruby to Rust
- Amazon (2019) from Oracle to AuroraPostgres/DynamoDB
- 2FintechGiants (2019) from Oracle to CockroachDB
- Codism (2019) from Python to Golang
- Comcast (2019) from Cassandra to ScyllaDB
- Zhihu (2019) from MySQL to TiDB
- JDCloud (2019) from MySQL to TiDB
- NetEaseGames (2019) from MySQL to TiDB
- Xiaomi (2019) from MySQL to TiDB
- BookMyShow (2019) from MSSQLServer to TiDB
- Trivago (2019) from Kubernetes to Nomad
- Narvar (2019) from DynamoDB/PostgreSQL-RDS to YugabyteDB
- PlumeDesignsInc (2019) from MongoDB to YugabyteDB
- SkyElectric (2019) from MySQL/MongoDB/NodeJS to PostgreSQL/ElasticSearch/ScyllaDB/Elixir
- Paytm (2019) from ElasticSearch to Loki
- ContentSquare (2019) from ElsticSearch+LogStash+Kibana to Clickhouse
- Sentry (2019) from PostgreSQL+Redis to Clickhouse
- HashNode (2019) from Nginx to Caddy
- CitizensBank (2019) from Kubernetes to DockerSwarm
- Medaxion (2019) from MySQL to SingleStore
- GoGuardian (2019) from Druid to SingleStore
- AFortune50Company (2019) from Hadoop to SingleStore
- diwo (2019) from Redis/Cassandra to SingleStore
- KurtoSys (2019) from CouchBase to SingleStore
- monday.com (2019) from ElasticSearch to SingleStore
- GumGum (2019) from Cassandra to ScyllaDB
- Insider (2019) from Ruby to Golang
- Codism (2019) from Python to Golang
- Twitch (2019) from EmberJS to ReactJS
2020
- Discord (2020) from Golang to Rust
- HSBC (2020) from DB2 to MongoDB
- UnnamedUSWirelessCarrier (2020) from Oracle to PostgreSQL
- ListenBrainz (2020) from InfluxDB to TimescaleDB
- Dropbox (2020) from Nginx to Envoy
- Dropbox (2020) from Python to Rust
- Repustate (2020) from Python to Golang
- SimilarWeb (2020) from NodeJS to Golang
- PayPal (2020) from C++ to Golang
- Discord (2020) from Cassandra to ScyllaDB
- Weblove (2020) from React to Svelte
- PalFish (2020) from MongoDB to TiDB
- Shopee (2020) from MySQL to TiDB
- WeBank (2020) from MySQL to TiDB
- ChinaTelecomBestpay (2020) from Oracle to TiDB
- U-Next (2020) from MySQL to TiDB
- ZTOExpress (2020) from OracleExadata to TiDB
- Xiaohongshu (2020) from MySQL to TiDB
- BankOfBeijing (2020) from ? to TiDB
- BankOfChina (2020) from MySQL to TiDB
- ZhuanZhuan (2020) from MySQL to TiDB
- BIGO (2020) from MySQL to TiDB
- VNG/ZaloPay (2020) from MySQL to TiDB
- VIPKid (2020) from MySQL to TiDB
- Kroger (2020) from PostgreSQL to YugabyteDB
- Censys (2020) from PostgreSQL to YugabyteDB
- Justuno (2020) from MSSQLServer/Cassandra to YugabyteDB
- Xignite blog (2020) from MSSQLServer to YugabyteDB
- Voiceland (2020) from PostgreSQL/MSSQLServer to YugabyteDB
- Jutsuno (2020) from Cassandra/Neo4j/MSSQLServer/CockroachDB to YugabyteDB
- Manetu (2020) from Cassandra? to YugabyteDB
- BRIKL (2020) from DynamoDB to YugabyteDB/Hasura
- StadiaMaps (2020) from CockroachDB to ScyllaDB
- Roblox (2020) from Windows to Linux/Nomad
- Rekki (2020) from Elixir to Golang
- Tubber (2020) from PHP to Golang
- EBay (2020) from ApacheDruid to Clickhouse
- Shippo (2020) from PostgreSQL to Aurora
- Nucleus (2020) from MariaDB to SingleStore
- AMajorOilAndGasCompany (2020) from ElasticSearch to SingleStore
- TapJoy (2020) from MySQL to SingleStore
- ARNES (2020) from InfluxDB to VictoriaMetrics
- DevOpsProdigy (2020) from MySQL to Clickhouse
- MyWorld (2020) from Cassandra to CockroachDB
- PlotProjects (2020) from MongoDB to PostgreSQL
- SpaceCloud (2020) from gRPC to GraphQL
- Sudo (2020) from React to Svelte
- LoginRadius (2020) from NodeJS to Golang
2021
- KhanAcademy (2021) from Python to Golang
- ownCloud (2021) from PHP to Golang
- Percona (2021) from Prometheus to VictoriaMetrics
- Aluma (2021) from C# to Golang
- Olery (2021) from MongoDB to PostgreSQL
- NitroKey (2021) from Ubuntu Core to Debian
- Slack (2021) from HAProxy to Envoy
- Github (2021) from Ruby to Golang
- GumGum (2021) from Cassandra to ScyllaDB
- SvelteKit (2021) from RollUp/SnowPack to Vite
- ReplIt (2021) from WebPack to Vite
- GitPod (2021) from React/Gatsby to SvelteKit
- NinjaVan (2021) from MySQL to TiDB
- Meituan (2021) from MySQL to TiDB
- AutoHome (2021) from MSSQLServer to TiDB
- 58.com (2021) from MySQL to TiDB
- Chehaoduo (2021) from MySQL to TiDB
- KunLun (2021) from MySQL to TiDB
- GiG (2021) from RedShift to Clickhouse
- Brex (2021) from Elixir to Kotlin
- Storj (2021) from Python to Golang
- CoinBase (2021) from Native to ReactNative
- Archive.org (2021) from Kubernetes to Nomad/Consul
- Koyeb (2021) from Kubernetes to Nomad/Firecracker/Kuma
- AccelByte (2021) from Kubernetes to Nomad/Consul
- Expedia (2021) from Cassandra to ScyllaDB
- Grab (2021) from Cassandra to ScyllaDB
- ReadyForSky (2021) from Redis to Tarantool
- Conductor (2021) from Kubernetes to Nomad
- Uber (2021) from ElsticSearch+LogStash+Kibana to Clickhouse
- ClickHouse (2021) from ZooKeeper to ClickhouseKeeper/NuRaft
- Wallaroo (2021) from Pony to Rust
- ContentServ (2021) from Cassandra to ScyllaDB
- Etsy (2021) from Javascript to Typescript
- JD.com (2021) from MySQL to TiDB
- HuyaLive (2021) from MySQL to TiDB
- LevelUpTutorials (2021) from React to Svelte
- Voucherify (2021) from MongoDB to PostgreSQL
- Fathom (2021) from MySQL/Redis/DynamoDB to SingleStore
- GrooveX (2021) from Thanos to VictoriaMetrics
- Percona (2021) from Prometheus to VictoriaMetrics
- SimilarWeb (2021) from NodeJS to Golang
- DoorDash (2021) from Python to Kotlin
- WeWatch (2021) from MongoDB to PostgreSQL
- CodeSignal (2021) from MongoDB+Meteor to Redis
- Sequoia (2021) from ElasticSearch to Rockset
- TimeFlow (2021) from Druid to Clickhouse
- ToolJet (2021) from Ruby to NodeJS
- Dream11 (2021) from Elasticache Redis to Aerospike
- AirTel (2021) from Oracle TimesTen to Aerospike
- PostHog (2021) from PostgreSQL to Clickhouse
2022
- Factors.ai (2022) from PostgreSQL to SingleStore
- Prismatic.io (2022) from AWS Lambda to Amazon ECS
- Fleet (2022) from AWS to Hetzner
- Ntop (2022) from nindex to Clickhouse
- Etsy (2022) from React to Preact
- ReviewBunny (2022) from React to RubyOnRails
- AntMoney (2022) from PostgreSQL to SingleStore
- CaptainMetrics (2022) from MongoDB to SingleStore
- SeventhSense (2022) from AmazonKinesis/Kafka to RedPanda
- Hashura (2022) from NodeJS to Golang
- Kiwi (2022) from PostgreSQL/Cassandra to ScyllaDB
- Rakuten (2022) from Cassandra to ScyllaDB
- Wipro (2022) from HBase to Aerospike
- nhost (2022) from PostgreSQL-RDS to PostgreSQL+Kubernetes
- Prerender.io (2022) from AWS to InHouse
- Umes (2022) from Golang+GraphQL to TypeScript+Prisma+tRPC
- K-Optional (2022) from Firebase to Supabase
- Contexte (2022) from React to htmx
- Rakuten (2022) from RedHat to RockyLinux
- NucleusData (2022) from MariaDB to SingleStore
- Rolebase (2022) from Firebase to Nhost
- Jamf (2022) from Java to Golang
- TheirStack.com (2022) from PostgreSQL to Clickhouse
- Matrix (2022) from Kafka to NATS
2023
- HiFi (2023) from BigQuery to Clickhouse
- RisingWaveLabs (2023) from C++ to Rust
- Vercel (2023) from Golang to Rust
- Discord (2023) from Cassandra to ScyllaDB
- RocLang (2023) from Rust to Zig
- 37Signals (2023) from Kubernetes to mrsk
- CultureAmp (2023) from Elm to React
- ApiGear (2023) from NodeJS to Golang
- Prequel (2023) from RabbitMQ to PostgreSQL
- Trendyol (2023) from Scala to Golang
- AmazonPrimeVideo (2023) from AWS Lambda to AWS EC2+ECS
- Svelte (2023) from TypeScript to Javascript+JSDoc
- ValTown (2023) from Supabase to PostgreSQL+Render
- ChessCraft (2023) from MongoDB to PostgreSQL+Redis
- Fly.io (2023) from Nomad to flyd
- CodeDamn (2023) from Prisma/MongoDB to PostgreSQL
- LinkedIn (2023) from JSON to ProtoBuf
- Bookshop.org (2023) from RubyOnRails to Golang+Encore
- Lizza (2023) from Firebase to Encore
- InfluxData (2023) fom Golang to Rust
- FileWave (2023) from ZeroMQ to NATS
- StackOverflow (2023) from jQuery to Svelte
- NicelandVPN (2023) from Electron to Wails.io
- DoorDash (2023) from Aurora Postgres to CockroachDB
- Levenue (2023) from SvelteKit to Golang+HTMX
- Lyft (2023) from Druid to Kafka+Clickhouse
- Tencent (2023) from Clickhouse to ApacheDoris
- Ongage (2023) from MySQL to Clickhouse
- Digger (2023) from Python to Golang
2024
- eFishery (2024) from AWS CloudFront to CloudFlare
- Vercel (2024) from Go to Rust
- Ramp (2024) from PostgreSQL to Clickhouse
- Infiscal (2024) from MongoDB to PostgreSQL
- Reddit (2024) from S3 metadata to Aurora PostgreSQL
- Coralogix (2024) from PostgreSQL to ScyllaDB
- Fablehenge (2024) from React to Svelte
- Corsearch (2024) from MySQL to Clickhouse
- Uber (2024) from DynamoDB to LedgerStore
- 37signals (2024) from Mac to Linux
- Beehiiv (2024) from PostgreSQL to Clickhouse
- Bonree (2024) from ZooKeeper to ClickhouseKeeper
- CommonRoom (2024) from PostgreSQL to Clickhouse
- Shopee (2024) from Druid+Hive+Presto to Clickhouse
- OpenMeter (2024) from PostgreSQL+Kafka+kSqlDB to Clickhouse
- trip.com (2024) from ElasticSearch to Clickhouse
- Didi (2024) from ElasticSearch to Clickhouse
- Figma (2024) from Skew to Typescript