(new talk, I think could be very exciting actually, we've had numerous tradeoffs made, some bad which we backtracked on, some good which formed the core of Akka until this day... It's mostly about design tradeoffs, but on specific cases that could be interesting to debate with others I think afterwards :-))
In this talk we'll discuss several APIs, and their evolution. From successful design decisions, to dead-ends which had to be removed. Over it's lifetime Akka has seen multiple core APIs that have led vastly different lifes, such as the schedulers, core Actor APIs for creation as well as of course message sending APIs which saw the most evolution but also the more time went by, the more minimal and precise they got. And of course the evolution of the Akka Streams and Reactive Streams API/SPIs, that have seen numerous iterations before seeing a stable API that we were confident would solve all of the challanges given to it. So on one hand, we'll have a small look into the past here, but on another, an interesting insight into the API design and tradeoffs in distributed and concurrent settings, aimed to bring those "to the masses".
(this talk got tons of "omg best talk" but that was on ScalaDays 2017, (I'll update it with the latest things), so perhaps a bit biased crowd ;-))
The last years have brought Akka the largest changes since the initial 2.x rewrite yet it remained fully compatible across the last years. With the new exciting modules like Akka Streams, Akka HTTP (including the most recent HTTP/2 work) and the new remoting reimplementation codenamed Artery, we've stepped into the era of Akka 2.5 already. Which again, remains backwards compatible as previous releases. What's in there, and what's next for Akka in general? And especially, what is in store for us in 2018? In this talk we'll take a brief look back at the newest stable modules of Akka itself, as well as new projects such as Alpakka that aims to integrate . Next, we'll continue with the 2.5 version and the stable high-availability CRDT support in Distributed Data, the 10x performance improvement in Artery Remoting as well as the new Multi-Datacenter features. Last but not least, we'll take a look Finally we'll have a sneak peek at what's coming in the next releases, which among other things include Akka Typed and more!
Konrad is a late-night passionate hakker currently living in Tokyo and still believing in his motto: "Life is Study!". At Lightbend he's part of the core Akka team, and has contributed to most of its modules, including core actors and streams, persistence, the new remoting as well as maintaining Akka HTTP. He also participated in the Reactive Streams initiative and built its TCK, which later were included in JDK 9, becoming part of the Java standard. In the past he's helped startups write high performance service backends as well as huge corporations such as eBay get started with Scala. His favourite discussion topics range from distributed systems and high performance algorithms to photography and capybaras. He has founded and run multiple user groups (Java, Scala, Computer Science, ...), and is part of program committees of awesome conferences such as GeeCON and JavaOne SF. In those rare times he's not coding, he spreads the joy of computer science by helping local user groups and whitepaper reading clubs. He also holds number of titles, including "Best Polish Software-related Masters Thesis 2015", "Best ScalaDays NY talk 2016" and "Java One RockStar 2015".