Workshop Day 1

Wed, May 16
08:00
  • Added to My Schedule
    keyboard_arrow_down
    Andy Gelme

    Andy Gelme / Noon van der Silk - Deep Learning Workshop

    schedule 08:00 AM - 04:00 PM place Room 1 shopping_cart Reserve Your Seat

    Venture into deep learning with this 2-day workshop that will take you from the mathematical and theoretical foundations to building models and neural networks in TensorFlow. You will apply as you learn, working on exercises throughout the workshop. To enhance learning, a second day is dedicated to applying your new skills in team project work.

    This hands-on workshop is ideal for both data science and programming professionals, who are interested in learning the basics of deep learning and embarking on their first project.

  • Added to My Schedule
    keyboard_arrow_down
    Dean Wampler

    Dean Wampler - Hands-on Kafka Streaming Microservices with Akka Streams and Kafka Streams

    schedule 08:00 AM - 01:00 PM place Room 2 shopping_cart Reserve Your Seat

    If you're building streaming data apps, your first inclination might be to reach for Spark Streaming, Flink, Apex, or similar tools, which run as services to which you submit jobs for execution. But sometimes, writing conventional microservices, with embedded stream processing, is a better fit for your needs.

    In this hands-on tutorial, we start with the premise that Kafka is the ideal backplane for reliable capture and organization of data streams for downstream consumption. Then, we build several applications using Akka Streams and Kafka Streams on top of Kafka. The goal is to understand the relative strengths and weaknesses of these toolkits for building Kafka-based streaming applications. We'll also compare and contrast them to systems like Spark Streaming and Flink, to understand when those tools are better choices. Briefly, Akka Streams and Kafka Streams are best for data-centric microservices, where maximum flexibility is required for running the applications and interoperating with other systems, while systems like Spark Streaming and Flink are best for richer analytics over large streams where horizontal scalability through "automatic" partitioning of the data is required.

    Each engine has particular strengths that we'll demonstrate:

    • Kafka Streams is purpose built for reading data from Kafka topics, processing it, and writing the results to new topics. With powerful stream and table abstractions, and an "exactly-once" capability, it supports a variety of common scenarios involving transformation, filtering, and aggregation.
    • Akka Streams emerged as a dataflow-centric abstraction for the general-purpose Akka Actors model, designed for general-purpose microservices, especially when _per-event_ low-latency is important, such as for complex event processing, where each event requires individual handling. In contrast, many other systems are efficient at scale, when the overhead is amortized over sets of records or when processing "in bulk". Also because of its general-purpose nature, Akka Streams supports a wider class of application problems and third-party integrations, but it's less focused on Kafka-specific capabilities.

    Kafka Streams and Akka Streams are both libraries that you integrate into your microservices, which means you must manage their lifecycles yourself, but you also get lots of flexibility to do this as you see fit.

    In contrast, Spark Streaming and Flink run their own services. You write "jobs" or use interactive shells that tell these services what computations to do over data sources and where to send results. Spark and Flink then determine what processes to run in your cluster to implement the dataflows. Hence, there is less of a DevOps burden to bear, but also less flexibility when you might need it. Both systems are also more focused on data analytics problems, with various levels of support for SQL over streams, machine learning model training and scoring, etc.

    For the tutorial, you'll be given an execution environment and the code examples in a GitHub repo. We'll experiment with the examples together, interspersed with short presentations, to understand their strengths, weaknesses, performance characteristics, and lifecycle management requirements.

Workshop Day 2

Thu, May 17
08:00
  • Added to My Schedule
    keyboard_arrow_down
    Andy Gelme

    Andy Gelme / Noon van der Silk - Deep Learning Workshop...continued

    schedule 08:00 AM - 04:00 PM place Room 1 shopping_cart Reserve Your Seat

    Venture into deep learning with this 2-day workshop that will take you from the mathematical and theoretical foundations to building models and neural networks in TensorFlow. You will apply as you learn, working on exercises throughout the workshop. To enhance learning, a second day is dedicated to applying your new skills in team project work.

    This hands-on workshop is ideal for both data science and programming professionals, who are interested in learning the basics of deep learning and embarking on their first project.