List of videos

Mind the gap, connecting high performance systems at a leading Crypto Exchange @ Spring I/O 2024

Spring I/O 2024 - 30-31 May, Barcelona Speakers: Marcos Maia / Lars Werkman Slides: https://2024.springio.net/slides/mind-the-gap-connecting-high-performance-systems-at-a-leading-crypto-exchange-springio24.pdf As one of Europe’s leading Crypto Exchanges, Bitvavo enables its ~2 million customers to buy, sell and store over 200 digital assets and provides a 24/7 service processing many thousands of transactions per second with stable sub millisecond execution times on its order flow. In this talk we will deep dive on the high level architecture of Bitvavo Exchange and discuss how we use Spring Boot to bridge the integration and monitoring of our systems with the ultra low latency Exchange and Matching Engine Systems. We will cover architectural patterns, lessons learned and good practices routing and processing high volumes of market data to Databases and Kafka while maintaining the high performance and scalability required from the leading Crypto Exchange in Europe.

Watch
When Armeria Blooms in Spring (Boot) by Trustin Heuiseung Lee @ Spring I/O 2024

Spring I/O 2024 - 30-31 May, Barcelona Building a service in production often resembles the daunting task of replacing an engine at 10,000 meters. How can we transition from Spring MVC to WebFlux or gRPC, or even allow them to coexist without outages? Should we keep additional servers until the migration is complete? Should we open an extra port? How do we manage the operational complexity involved? If you’ve ever pondered these questions, this talk might be for you. In this talk, we’ll delve into Armeria, an alternative open-source HTTP engine for Spring Boot, which can significantly streamline the migration process of your Spring Boot application. We’ll examine Armeria’s capabilities as an HTTP engine, RPC framework, and more, demonstrating how it addresses various migration scenarios involving a wide range of technologies, including Spring MVC, WebFlux, gRPC, GraphQL, and WebSocket. Whether you’re embarking on your microservices journey or looking to enhance existing Spring Boot applications, you’ll discover how Armeria can greatly simplify microservice architectures. Come discover how a touch of Armeria can make your Spring application bloom!

Watch
Stream Processing with the Spring Framework Like You’ve Never Seen It Before by Viktor and Josh

Spring I/O 2019 - Barcelona, 16-17 May GitHub repo: https://github.com/joshlong/spring_io_2019/tree/master/kafka_and_spring Let’s assume you are eager to refactor your existing monolith, legacy system, or other to-be-deprecated code into a shiny new event-driven system. And let us assume, while you are in the process, that you want to use the Spring Framework as your guiding architectural substrate. These are not just cool things to do—they are measured, well-informed, downright wise architectural decisions with may successful projects behind them. In this talk, Viktor Gamov and Josh Long will live-code their way to a small, functioning, microservices-based web application. We’ll use Spring Boot for the web interfaces, Apache Kafka to integrate the services, and of course Spring for Kafka as the API between the two. If you want to use Spring and Kafka together, apply the right patterns, avoid the wrong antipatterns, and generally get a good glimpse into a solid toolset for building a modern Java web application, look no further. We hope to see you in the session!

Watch
Moving beyond REST: GraphQL and Java & Spring by Pratik Patel @ Spring I/O 2019

Spring I/O 2019 - Barcelona, 16-17 May We’ve been using REST-based API development for over a decade now. While it provides a contract for both API developers and API consumers, it can be big, rigid and brittle. GraphQL can be used to either augment or replace REST based endpoints to provide faster and more flexible development. In this session, we’ll discuss GraphQL basics and look at how we create a GraphQL server and consume it in a client, using Java, of course! We will also show how easy it is to mix GraphQL into an existing Spring Boot application.

Watch
Breaking the Magician's Code Diving deeper into Spring Boot internals by Madhura Bhave

Spring I/O 2019 - Barcelona, 16-17 May Slides: https://github.com/mbhave/non-magic-demo One of Spring Boot’s most powerful features is its auto-configuration. This magic is key to the convention-over-configuration approach. But is it really magic? We don’t think so. We’ll take a look under the covers of Spring Boot, helping you be more productive when writing Spring Boot applications.

Watch
SPRING I/O 2019 - Video Summary

Spring I/O is the leading European conference focused on the Spring Framework ecosystem. SAVE THE DATE! Spring I/O 2020 will take place on 14-15 May in Barcelona. Join the Spring community from around the world. There is no better place to share, discuss, collaborate and socialise with other Spring professionals and enthusiasts. #springframework #springio19 #springio20

Watch
Declarative Clients in Spring by Rossen Stoyanchev and Olga Maciaszek-Sharma @ Spring I/O 2022

Spring I/O 2022 - Barcelona, 26-27 May Slides: https://speakerdeck.com/olgamaciaszek/declarative-clients-in-spring What is a declarative HTTP client vs an imperative one? Why are they useful and why should I care? We’ll talk about options that are available in the Spring Portfolio and what is coming on the horizon. In this session we will look at the history of declarative clients in Spring via Spring Cloud OpenFeign. We will also dive into upcoming options that are coming to Spring and the advantages that these new technologies bring to developer experience.

Watch
Bootiful Kubernetes Operators by Cora Iberkleid and Josh Long @ Spring I/O 2022

Spring I/O 2022 - Barcelona, 26-27 May GitHub repo: https://github.com/kubernetes-native-java/controllers-101 You know what’s fun? Automating the ever livin’ heck out of infrastructure! Slaying that YAML! Nobody wants to painstakingly build something then spend weeks trying to write the YAML to describe it to the infrastructure. Thankfully, Kubernetes provides composability through abstractions like operators, controllers, and custom resource definitions. These days, it’s trivial to extend Kubernetes with a Spring Boot application, turn it into a GraalVM native image that runs in a Docker container, and then deploy that. Join us, and we’ll learn how to extend and automate Kubernetes with Spring Boot and Spring Native-powered custom operators and eliminate that ever-so pesky YAML.

Watch
JobRunr - Easy Distributed Job Scheduling by Ronald Dehuysser @ Spring I/O 2022

Spring I/O 2022 - Barcelona, 26-27 May Slides: https://prezi.com/p/70_enojlurd1/jobrunr-springio-barcelona/ Let’s face it - we are not all working for a company like Facebook, Netflix or LinkedIn where we need to process terabytes of data each day. Often we just need to solve some complex business processes with a moderate amount of data. Or we need to generate some documents based on input given by another microservice without blocking the http request. Using JobRunr, you can transform any Java 8 lambda and turn it into a distributed background job: the lambda is analysed together with the arguments and saved as a job to a SQL or noSQL database. Next, different BackgroundJobServer beans (in different JVM instances) inside your application fetch these jobs and process them. By scaling up the instances of your application (e.g. in Kubernetes), your jobs will get processed faster. As of JobRunr 5.0, it also supports Spring Native - scaling up can now happen in milliseconds and processing will go faster than ever!

Watch