- Trello used RabbitMQ to power its websockets functionality for several years, but experienced reliability issues and high resource usage.
- The team evaluated five alternatives and chose Kafka due to its failover capabilities, in-order message delivery per shard, fanout message distribution, low latency, and required throughput of 2,000 messages/second.
- Birdie moved to Micro Frontends to reduce the tight coupling between parts of its codebase and reduce the time it took to run tests.
- MetalBear chose Rust for its stack due to its performance and hiring considerations.
- Motive moved over to Kotlin Multiplatform Mobile (KMM) to share business logic between iOS and Android.
- Why Trello moved over to Kafka: Trello needed a reliable messaging queue to handle their high-volume of web socket connections, and chose Kafka for its scalability and reliability.
- Why Birdie moved to Micro Frontends: Birdie needed to reduce the number of tests run when making changes, and chose Micro Frontends to split up their codebase and give teams more autonomy.
- Why MetalBear settled on using Rust: MetalBear chose Rust for its low-level features, small memory footprint, thread safety, and because it would make hiring engineers easier.
- Why Motive moved over to Kotlin Multiplatform Mobile: Motive chose KMM to ensure consistency in business logic across the mobile apps, and to execute faster on development.
Published November 29, 2022
Visit The Pragmatic Engineer to read Gergely Orosz’s original post