Twitter’s infrastructure consists of a swarm of services onto of a bevy of managed runtimes, starting with Ruby but moving to Java and Scala. Targeting the JVM allows developers to quickly develop and deploy reliable code. Automated memory management, in particular, improves productivity of teams in fast paced environment. With these benefits, come challenges. The way code is executed on the JVM makes it difficult for developers to understand what has gone wrong and how to fix it. Additionally, the sheer volume of data that Twitter’s services handle every day, coupled with stringent latency requirements, stresses the JVM to its limits. The talk will cover:
- Overview of how services are deployed and monitored.
- Challenges of the use of the JVM in an environment like Twitter.
- Benefits of a custom built JVM with in-house features.
- Ideas and suggestions for future directions.
Specialties:15+ years of virtual machine implementation experience with special focus on memory management / garbage collection. Close to 20 years of C/C++ experience. 15+ years of Java experience. Expert in concurrent/parallel programming.