• Deploying Kafka Streams Applications with Docker and Kubernetes

    All things change constantly, and we need to get on board with streams! Moreover, dealing with constantly changing data at low latency is pretty hard. It doesn’t need to be that way. Kafka Streams, Apache Kafka’s stream processing library, allows developers to build sophisticated stateful stream processing applications which you can deploy in an environment of your choice. Kafka Streams is not only scalable but fully elastic allowing for dynamic scale-in and scale-out as the library handles state migration transparently in the background. By running Kafka Streams applications on Kubernetes, you can use Kubernetes powerful control plane to standardize and simplify the application management—from deployment to dynamic scaling. In this talk, Viktor explains the essentials of dynamic scaling and state migration in Kafka Streams. You will see a live demo of how a Kafka Streams application can run in a Docker container and the dynamic scaling of an application running in Kubernetes. SPEAKER: Viktor Gamov is a Developer Advocate at Confluent, the company that makes a streaming platform based on Apache Kafka. Working in the field, Viktor Gamov developed comprehensive expertise in building enterprise application architectures using open source technologies. He enjoys helping different organizations design and develop low latency, scalable and highly available distributed systems. Back in his consultancy days, he co-authored O’Reilly’s «Enterprise Web Development.» He is a professional conference speaker on distributed systems, Java, and JavaScript topics, and is regular on events including JavaOne, Devoxx, OSCON, QCon, and others (http://lanyrd.com/gamussa). He blogs at http://gamov.io and produces the podcasts Razbor Poletov (in Russian) and co-hosts DevRelRad.io. Follow Viktor on Twitter @gamussa, where he posts there about gym life, food, open source, and, of course, Kafka and Confluent!

  • Reactive Streams with Spring Reactor-Core

    Needs a location

    We'll have two 45 minute presentations for this meeting. -------- PRESENTATION 1 -------- ABSTRACT: Imagine the rains in Portland (difficult, but do try). Clouds produce the rain, the storm-drain drains it. This is a good analogy for what reactive-streams has to offer. Cloud is the Producer of the stream of rain drops Storm Drains are the Subscriber. To take the analogy further - the raindrops can be produced by multiple clouds, hence the production can be asynchronous and similarly there will be a lot of different storm drains, thus the draining can be asynchronous. Reactive streams are designed to work with such kinds of asynchronous producers and consumers. An interesting thought is what happens if the storm drains cannot drain faster than it rains - it floods. What if we could prevent it - this is where a concept called back-pressure comes in, what if the storm drains could send a signal to the cloud about the rate that they are comfortable consuming the raindrops at! If this intrigues you, we will dig deep into the Reactive Streams specification(https://github.com/reactive-streams/reactive-streams-jvm/) and how Spring Reactor-core project(https://projectreactor.io/) makes it simple to produce and consume streams of data. SPEAKER: Biju Kunjummen is a Lead Software Engineer at Nike and works on Nike’s homegrown CMS product (Content Management System) which powers the content of Nike.com, Nike App and other Nike experiences. He has worked in the software industry for 20 years and loves to share his learnings. He blogs at http://www.java-allandsundry.com/ -------- PRESENTATION 2 -------- ABSTRACT: Even in cloud environments, a lot of engineering teams still spend plenty of time thinking about infrastructure (VMs, load balancers, auto-scaling groups, etc...). Let's talk about Platform as a Service and the trade offs. This talk focuses on how to quickly get Java workloads running in Azure and how to scale them. We'll include a demo that showcases PaaS workflow integration into common Java tool chains. SPEAKER: Tyler Holmes is a CTO and Practice Lead for Axian, a local software and data engineering firm. He's been working in various stacks doing consulting/professional services for 15+ years. Tyler Holmes: https://www.linkedin.com/in/tylerholmes/