7/22/2019 8:30a – 6:30p  @ 300 E Randolph St. Chicago IL 60601

9:15 - 10:15 Josh Long David Giard
10:30 - 11:30 Ruth Yakubu Robert Boxall
11:45 - 1:15 (90m) Paul Warren Mariano Gonzalez / Grace Chang
1:30 - 2:30 Uncle Bob Martin Derek Ashmore
2:45 - 3:45 Eric Boyd Brett Lindsley
4:00 - 5:00 Ben Goldberg Joel Vasallo
5:15 - 6:15 Networking Networking


By Brett Lindsley

Online shopping provides the means for a business to present a vast number of products to consumers. In order to increase sales, it is desirable to present a focused list of “recommended” products to a user that the user would be interested in purchasing. To create a list of recommended products, the historical purchase history and user demographics need to be processed.

This presentation provides an in-depth analysis of the inner workings of a recommender called “co-occurrence.” This type of recommender is simple, yet it is powerful enough to be used for various applications. This presentation leads by way of example to show the various steps used to create a recommendation system. Once the co-occurrence matrix is computed, two different styles of system can be developed: (1) an individual recommender that takes the current user items and creates a recommendation for the current products, and (2) a search engine recommender that finds surprising relationships between items and presents them as additional items in a search response. The co-occurrence recommender can provide cross-recommendation (i.e. browsing movies can recommend music) and can be extended for streaming recommendations (matrix is updated as each new item arrives).

Spend a little time coming up to speed on the core technologies of a recommender system and think about how to reach your customers!


By Derek Ashmore

AWS Lambda is a “serverless” architecture that relieves you of hardware and scaling set-up concerns. AWS Lambda functions are used by many organizations for “serverless” application development and automating DevOps tasks. Many teams start using AWS Lambdas and uncover problems such as running into resource limits, debugging nested lambda defects, managing code change across dozens of AWS accounts, and many more.

Derek Ashmore will provide tips and tricks to make your AWS Lambda functions usable in different contexts and easier to develop and support. He will show you how to mitigate common problems teams run into with AWS Lambdas. This practical chat is based on real-world examples and designed for senior developers and architects who have experience developing Lambda functions. 

Attendees will leave with concrete examples for how to make their AWS Lambda code easier to debug and support. They will learn how to use AWS Lambda code to manage DevOps in dozens of accounts without installing Lambda code into each and every account. They will learn how to properly nest lambdas so as to not create difficult support problems.


By Uncle Bob Martin

In 1946 there was one programmer in the world.  Today the number is approaching one hundred million.  Take a trip through time as Uncle Bob describes how software began, how it got to where it is today, and where it is going.  The theme of this talk is professionalism. What are the ethics, the standards, and the disciplines that software developers will need to adopt as our industry approaches the midpoint of the twenty-first century.


By Grace Chang and Mariano Gonzalez

Everybody wants to do big data on a data lake! However, implementing it and maintaining the infrastructure necessary to explore it, such as Spark, has been a historically challenging endeavor. Kubernetes is the tool of choice for cloud orchestration, and Spark continues to be the de facto framework for most data wrangling tasks. We’ve previously tried different data lake architectures, and suffered from the pain that Hadoop carries with it. Finally, we decided to bring the best from the cloud and big data worlds together, and walk you through a session on how to set an endless data lake powered with native Spark executors on Kubernetes. Come to this session to get a grasp on how data visualization can be achieved with ease!


By Ruth Yakubu

Learn how to build Java Azure functions that are more reactive to event-driven triggers.  Whether you are responding to real-time streaming processing, timed-based processing, real-time bot messaging, or application backend processing etc., Azure function enables you to execute serverless code in these scenarios.  This session will show how Azure Functions provides Java developers a productive programming model based on triggers and bindings to accelerated development time and serverless hosting of event-driven applications. A real-time demo will be used to illustrate the robust benefits of using this open source service.


By Josh Long

Microservices and big-data increasingly confront us with the limitations of traditional input/output. In traditional IO, work that is IO-bound dominates threads. This wouldn’t be such a big deal if we could add more threads cheaply, but threads are expensive on the JVM, and most other platforms. Even if threads were cheap and infinitely scalable, we’d still be confronted with the faulty nature of networks. Things break, and they often do so in subtle, but non-exceptional ways. Traditional approaches to integration bury the faulty nature of networks behind overly simplifying abstractions. We need something better.

Spring Framework 5 is here! It introduces the Spring developer to a growing world of support for reactive programming across the Spring portfolio, starting with a new Netty-based web runtime, component model and module called Spring WebFlux, and then continuing to Spring Data Kay, Spring Security 5.0, Spring Boot 2.0 and Spring Cloud Finchley. Sure, it sounds like a lot, but don’t worry! Join me, your guide, Spring developer advocate Josh Long, and we’ll explore the wacky, wonderful world of Reactive Spring together.


By David Giard


Azure Functions allow you to write, deploy, and test code without worrying about where that code runs. Scalability, reliability, and server management are handled for you in this example of a “serverless” technology, so that you can focus on the code.

In this session, you will learn how to create, test, and deploy Azure functions; how to trigger them using REST calls, queues, database, and a scheduled interval; how to bind functions declaratively to other technologies; and how to create long-running durable transaction in Azure functions.


By Robert Boxall

Robert, having already transformed and moved his previous employer to the cloud, now is about 6 months into kicking off yet another cloud migration. This time for Redbox, moving a Microsoft Centric .NET stack from a data center into a Cloud Native .Net Core stack on Linux. He’ll share insights into the culture change required and steps taken to get a company to buy in to such a move.

Having worked at Netflix with a culture of freedom and responsibility, Robert will reflect on how moving back to traditional midwestern culture further challenges the transformation of an organization. He will also address overall cloud path, DevOps, DataOps and other with comparisons between lift and shift to cloud native and share progress and data on migration. He will share insights into approaches for both Java and .NET stacks.


By Ben Goldberg

At SpotHero, Search is the most critical and algorithmically complex component of our entire Platform. We recently rebuilt our Search service from the ground up in Go, using Kafka and Kubernetes. This process resulted in a service that is so performant that one instance of our new application, with equivalent resources, can do the same work as hundreds of legacy machines. Throughout this presentation you’ll get an inside look into how we architected, load tested, monitored, and transitioned to this new service in Production.

Oh k8s, my k8s! Setting Sail with Spinnaker

By Joel Vasallo

It’s official, containers are here to stay. Many companies are embracing containers in day to day operations, but many struggle with orchestration, delivery, and maintenance. Many rush to platforms like Kubernetes, but then find themselves tackling the same challenges. Tough questions are asked such as:

  • How do I automate and test my deployments?
  • What about service scaling and load balancing? Rate Limiting?
  • How do I handle encryption across my cluster?
  • What about monitoring my cluster traffic?
  • What about service to service communication?

What if I was to tell you there is a way to do all of the above in a k8s native fashion? Introducing Istio (; an Open Source Service Mesh!

In this talk, we will start with a brief overview of Kubernetes; what is Kubernetes and how does it work. In addition, we will talk about platforms/tools to help manage the complexity of running/operating a Kubernetes cluster. Next, we will show how Istio can help solve many common questions/challenges mentioned above. To wrap things up, we will share some insights into how to build out modern DevOps and deployments for these new technologies using Netflix created: Spinnaker.