PayPal Blows Past 1 Billion Transactions Per Day Using Just 8 VMs With Akka, Scala, Kafka and Akka Streams
Why PayPal modernized with Akka and Scala
PayPal has made headlines recently with the performance of their open source squbs platform, based on Akka and written in Scala, which easily handles over 1 billion transactions a day on minimal infrastructure. All while maintaining an incredible 90% CPU utilization rate, benefitting from 80% less code compared to their previous Spring/Java implementation and with a performance increase of 10x.
"Powered by Akka and Scala, squbs has already provided very high-scale results with a low infrastructure footprint: our applications are able to serve over a billion hits a day with as little as 8 VMs and 2 vCPU each."
According to Akara Sucharitakul, Principal MTS for Global Platform Frameworks at PayPal, squbs is essentially a standardization of Akka for large scale deployments across multiple services allowing hooks for logging, monitoring, security, and other infrastructure needed for running an Internet-scale operation.
It rides on Akka and Scala for most of its greatness. Akka's actor model and execution model is the key enabler allowing for high throughput and high transaction density, scaling both vertically and horizontally. Akka's resiliency and supervision allow for the resilience of squbs itself and services built on top of squbs, likewise. The focus on expressiveness and correctness of the Scala language and its libraries allow for writing concise code with concise error handling.
"Not only do we achieve much larger transaction rates with the same hardware infrastructure, but we also often cut down code by 80% for the same functionality when compared to equivalent imperative code."
Lessons Learned, Why Spring Wouldn't Work, And More On Akka Streams And KafkaView on Slideshare
In a Nov 2016 webinar with Akara, we take a deeper look at the lessons learned along the way building squbs, and more about handling bursty workloads with back-pressure using Akka Streams and Kafka. In this 45min webinar with extended Q/A, we review PayPal's new Reactive web crawler based on Akka in a use case to examine what happens when each processing pass expands to a larger and larger workload to process, and discuss why PayPal rebuilt their legacy Spring web crawler with Akka to gain a 10x performance increase on less infrastructure.
From O'Reilly & Lightbend: Understand The Actor Model In < 1 Hour
When it comes to distributed computing, the Actor Model is the great-grandparent of it all. Created by Carl Hewitt in 1973, Forrester Research recently noted, “the Actor model is seeing renewed interest as cloud concurrency challenges grow.”
As the days of purely Object-Oriented Programming and related RPC frameworks come to a close, major enterprises like Walmart, Intel, Samsung, IBM, Norwegian Cruise Lines and HSBC have started migrating to distributed, cloud infrastructures that embraces a different approach using the Actor Model.
In this concise, 43-page O'Reilly book by Hugh McKee, Global Solutions Architect at Lightbend, we review the Actor Model from the ground up, helping you understand the basics in less than an hour and enabling you to teach it to your team.