Sessions

^ top
Debasish Ghosh, Author, DSLs In Action
Debasish Ghosh - Author, DSLs In Action
Wed - 01:30-02:30 PM, Ballroom A
Infrastructure

Event Sourcing is emerging as a powerful technique to build systems that support retroactive processing. Instead of committing to the current state of the system, events let you reconstruct your system as of any particular timeline in the past. This leads to easier traceability of your system, helps you go back in time, fix errors retroactively and rebuild the timeline without losing any historical context.

Event sourcing can be implemented using the asynchronous model of computation that helps make systems scale easily.This is because events are typically stored once but need to cater to multiple consumers concurrently. One of the main tenets of event sourcing is to ensure a separation of the command and query models (CQRS). While the command store persists the events, they also need to be propagated to multiple consumers like the query model and any other downstream systems with which we interact. Actors are a good fit to manage this asynchronous processing. This section of the talk will discuss various examples from popular libraries like Akka and Finagle to establish how actor and future based models can help scale out your event based system. The next section of the talk will discuss how functional domain models that use data structures like type-lenses form a beautiful dual to event sourced systems


Presentation
^ top
Coda  Hale, Infrastructure Architect, Yammer
Coda Hale - Infrastructure Architect, Yammer
Tue - 11:30-12:30 PM, Ballroom A
Infrastructure

Humans, you may have noticed, are not exactly rational. And yet here we are, trying to get them to build software. It’s a bit of a mess. But there is some good news: by drawing on modern theories of human cognition we can begin to optimize our tools for how people think, not how computers work. I’ll talk about our experience at Yammer building human-centric tools for engineers, lay out the sociotechnical challenges facing organizations trying to build transparent architectures, and mention in passing how all of this relates to making money.


Presentation Video
^ top
Nathan Marz, Lead Engineer on Twitter's Publisher Analytics team
Nathan Marz - Lead Engineer on Twitter's Publisher Analytics team
Tue - 10:15-11:15 AM, Ballroom A
Infrastructure

Storm makes it easy to write and scale complex realtime computations on a cluster of computers, doing for realtime processing what Hadoop did for batch processing. Storm guarantees that every message will be processed. And it’s fast – you can process millions of messages per second with a small cluster. Best of all, you can write Storm topologies using any programming language. Storm was open-sourced by Twitter in September of 2011 and has since been adopted by numerous companies around the world.

Storm provides a small set of simple, easy to understand primitives. These primitives can be used to solve a stunning number of realtime computation problems, from stream processing to continuous computation to distributed RPC. In this talk you’ll learn:

  • The concepts of Storm: streams, spouts, bolts, and topologies
  • Developing and testing topologies using Storm’s local mode
  • Deploying topologies on Storm clusters
  • How Storm achieves fault-tolerance and guarantees data processing
  • Computing intense functions on the fly in parallel using Distributed RPC
  • Making realtime computations idempotent using transactional topologies
  • Examples of production usage of Storm

Presentation Video
^ top
Chris Richardson, Senior Developer Advocate, SpringSource
Chris Richardson - Senior Developer Advocate, SpringSource
Tue - 01:30-02:30 PM, Ballroom D
Infrastructure

The database world is undergoing a major upheaval. NoSQL databases such as MongoDB and Cassandra are emerging as a compelling choice for many applications. They can simplify the persistence of complex data models and offering significantly better scalability and performance. But these databases have a very different and unfamiliar data model and APIs as well as a limited transaction model. Moreover, the relational world is fighting back with so-called NewSQL databases such as VoltDB, which by using a radically different architecture offers high scalability and performance as well as the familiar relational model and ACID transactions. Sounds great but unlike the traditional relational database you can’t use JDBC and must partition your data.

In this presentation you will learn about popular NoSQL databases – MongoDB, and Cassandra – as well at VoltDB. We will compare and contrast each database’s data model and Java API using NoSQL and NewSQL versions of a use case from the book POJOs in Action. We will learn about the benefits and drawbacks of using NoSQL and NewSQL databases.


Presentation
^ top
Brian McCallister, Distinguished Engineer at Ning
Brian McCallister - Distinguished Engineer at Ning
Wed - 04:00-05:00 PM, Ballroom D
Infrastructure

A fantastic, fictional, fable of a distributed system and the tooling and teams who herd it. Follow two teams learning that the design of their systems includes everything about how it is developed, tested, deployed, and managed — not just what it looks like in production.

Along the way, learn about the tools and practices that enable their eventual success — in particular Atlas, a new, open source, systems modeling and management tool developed by Ning.

This talk is a deep dive into the ideas behind Atlas, as well as the particular implementation, which embraces the fact that parts of real systems are always being built at different speeds, by different people, and run in many different places at the same time.


Presentation
^ top
Scott  Delap, Scalability Architect, Riot Games
Scott Delap - Scalability Architect, Riot Games
Tue - 02:45-03:45 PM, Ballroom A
Infrastructure

In this talk, we will cover the challenges and lessons-learned of scaling and operating the PvP.net Platform that supports millions of League of Legends global players daily.

In addition to covering software architecture and design choices in building PvP.net, we will cover the often-overlooked (in the race to market) aspects of monitoring, deployment, analytics, testing and automation.


Presentation
^ top
Sean OMeara, Technical Evangelist for Opscode
Sean OMeara - Technical Evangelist for Opscode
Wed - 11:30-12:30 PM, Ballroom A
Infrastructure

Computer networks and the applications that run on them are growing in size and complexity at an ever faster rate. Managing their configuration by hand became intractable long ago. Various schemes have been devised by systems administrators from all over the world to ease this burden. These usually manifest themselves as a mess of duct tape scripts wrapped around complex change management policies. There is a better way.

In this presentation, I will cover the history and evolution of configuration management strategies, as well as the concepts that power modern configuration management frameworks like Opscode Chef.


Presentation
^ top
Douglas Crockford, Senior JavaScript Architect at Yahoo!
Douglas Crockford - Senior JavaScript Architect at Yahoo!
Tue - 04:00-05:00 PM, Ballroom C
Infrastructure

Douglas Crockford outlines the basic principles of designing secure software, with a focus on web applications. With his usual sardonic wit, he starts at the beginning (almost literally — with the invention of language itself) and makes a strong case for designing secure software based on fundamental principles rather than specific techniques, tricks, or hacks.


Presentation
^ top
Trotter Cashion, co-founder of Mashion
Trotter Cashion - co-founder of Mashion
Wed - 02:45-03:45 PM, Ballroom D
Infrastructure

Cloud Foundry is an open source platform as a service. Think of it as an open source Heroku that you can run inside your own firewall. In this talk, we’ll cover why it’s essential to the enterprise (and many small businesses as well), how you can use it, and most interestingly, how it’s implemented. You’ll learn a lot about PaaS and a lot about how to build a robust distributed system.


Presentation