Lightning Talks

Here are the 5 lightning talks that have been chosen.

Each speaker will have 12 minutes on Tuesday evening to deliver their talk.

Retrofit Reactivity - Jake Wharton

Retrofit is a declarative HTTP client which turns remote APIs into Java interfaces and methods. More than being a dead-simple client, its reactive support integrates seamlessly into your reactive stack or provides a good starting point for introducing reactive programming.

This talk will quickly introduce the basic use of Retrofit, then cover its reactive integration, and finally conclude with a practical, playful example of real-world use.

Transitioning to Reactive - Tiho Bajic

Retrofitting a legacy system with millions of business users to make it a reactive one doesn't sound like a move-fast break-stuff greenfield project, does it? Yet, that's how a vast majority of engineers will onboard onto reactive systems and how most companies will get to value reactive systems principles. This talk is about Nitro's journey and lessons learned in transforming from monolithic, expensive to deploy, and hard to scale .NET architecture serving a global userbase with variable results to a series of atomic Play 2 Scala web services comprising Nitro's reactive platform.

Concurrency Puzzlers - Manik Surtani

We all love concurrency problems. They have us chasing our tails and tearing our hair out, but frustrating as they are, after the fact they make for great anecdotes, puzzlers and war stories. Here are a few of my recent favourites.

Using Dataflow to Build Eventually Consistent Computations - Christopher Meiklejohn

In Dynamo-style replication systems, such as Akka Cluster and Riak Core, distributed query execution can be hard to get right. To ensure that computations are highly-available and fault-tolerant, systems like these usually push the burden to the programmer to ensure that operations commute and idempotent, which provide resilience from ordering and replay anomalies. During this talk we look at applying two techniques together, deterministic dataflow programming and conflict-free replicated data types, to provide an alternative programming model which alleviates this burden. Using these techniques together not only eases this burden, but also provides additional benefits such as optimistic replication of computation results; trading lower latency for staler results; and incrementally updating computations.

No Nines - Michael Christian

We pay an incredible amount of money to put our infrastructure into Tier 3/4 data centers, and still things fail. Worse yet, many of the failures are due to the complexity we've added to the system in a futile attempt to make it more "reliable." It's a false economy, as there is no such thing as a reliable data center. Switching to a resilience model not only solves the problem of keeping the service running when things fail; it also lets us build much lower tier data centers, for a fraction of the cost. No HVAC. No Generators. No UPS. Just an ephemeral building full of ephemeral servers.

This talk will consist of real life failure examples (disaster porn), coupled with resiliency strategies that would have saved the day.

The lightning speakers

Jake Wharton

Jake is an Android developer for Square, Inc. He currently works on library development to enhance developer productivity as well as the Square Cash app. A pathological open source contributor and advocate, he also struggles with a severe allergy to boilerplate code and is eager to try new and experimental libraries to help eliminate this disease.

Tiho Bajic

Tiho is a hands-on VP Technology at Nitro focused on building a reactive document sharing and collaboration platform for millions of Nitro's users. Tiho was previously a founding engineer at Rypple (now Salesforce's and has spent over a decade building business-critical software platforms ground up on different technology stacks. At Nitro, he's been practicing continuous technology stack evolution for both rebuilding legacy systems and new greenfield projects.

Manik Surtani

Manik Surtani is an engineer at Square, working on scalability and high availability challenges. Prior to this, he was a core R&D engineer at JBoss, Red Hat's middleware division. He is the founder of the Infinispan project, and Platform Architect of the JBoss Data Grid.

His interests lie in cloud and distributed computing, big data and scalable storage systems, autonomous systems and highly available computing.

Christopher Meiklejohn

Christopher Meiklejohn is a Senior Software Engineer with Basho Technologies, Inc. and a graduate student in the College of Computing at Georgia Tech. Christopher is also a contributing member of the European research project, SyncFree focusing on large-scale computation without synchronization.

Michael Christian

I'm currently Vice President of Site Reliability at Salesforce. My team consists of a global set of dual-chartered people, who act as first responders and reliability coders, as well as a fast cross-geo site switching team, and a service hardening architectural team. One of my biggest projects right now is converting a 36 hour failover process to a 5 minute cross-country (or intercontinental) switch, turning what was once Disaster Recovery into just another part of daily ops.

Prior to that, I spent 10 years at Yahoo, designing HA architectures, a custom Edge (now Apache Traffic Server) and an in-house GSLB. I also ran the (anti)Abuse team, and served for a short time as acting CISO / Chief Paranoid.

I've written a chapter in O'Reilly's "Web Operations: Keeping the Data On Time" and have spoken in a number of places globally about resiliency vs reliability. The largest was a keynote at the 2012 Velocity conference ("Frying Squirrels and Unspun Gyros), opposite Dr Richard Cook ("How Complex Systems Fail"), with about 2500 attendees.