List of videos

Building a cloud-native health-care data integration with Dapr by Jake Smolka @ Spring I/O 2022
Spring I/O 2022 - Barcelona, 26-27 May This case-study talk will kick off with a quick intro into health-care data, presenting an opportunity to broaden your horizon. Followed by the story of an actual project, its journey from a simple Spring Boot app into a Kubernetes (k8s) microservice architecture, and how to streamline such a design with a modern k8s abstraction called Distributed Application Runtime (Dapr). Sharing my experiences made during that process can make you benefit in two ways. It gives you an actual practical idea about the reasons for and implementation of the presented architecture, especially if you are new to microservices and k8s. And it enables you to step up your game with Dapr, if you are a pro already.
Watch
Major migrations made easy by Tim te Beek @ Spring I/O 2022
Spring I/O 2022 - Barcelona, 26-27 May Slides: https://docs.google.com/presentation/d/1UVYYUn3CePYd3aS7iuP8fSc4aL4fVxpgqwMO0JRHGu8/edit?usp=sharing Conferences love to show you the latest and greatest framework versions and language features. But those new technologies can feel a world away back at work. And it can be hard to justify the time spent to upgrade something that’s not broken, such as JUnit 4. What if you could migrate in mere minutes? With OpenRewrite you can! A collection of fine grained recipes combine to achieve large scale migrations of frameworks and tools related to the JVM. And since it uses an abstract syntax tree, refactorings are guaranteed safe. Upgrade Spring. Adopt JUnit 5; switch to AssertJ. Replace Log4j with Logback. Fix Checkstyle violations. A world of quick and easy migrations awaits!
Watch
Distributed systems patterns with Spring Cloud, Service Meshes and eBPF by Matthias Haeussler
Spring I/O 2022 - Barcelona, 26-27 May Slides: https://speakerdeck.com/maeddes/distributed-systems-patterns-spring-cloud-service-mesh-and-ebpf Software Development based on a distributed (microservice) architecture provides both several advantages and new challenges. In order to take advantage of the distribution it requires implementation of service discovery, routing, load-balancing, resilience mechanisms and more. In the ecosystem of Spring there is Spring Cloud, which provides a big range of dedicated solutions to address exactly those challenges. If the microservice architecture is running on top of Kubernetes there are alternative options to address these problems. So-called service mesh implementations do not have to be part of the actual application code, but can happen on a the network level of the container. A fairly new approach is emerging with the eBPF technology, which claims to enable service meshes with minimal overhead. The different approaches of course result in different responsibilities for the developers and application owners. With this talk I want to compare the approaches to figure out if one, the other or a combination can be helpful for certain scenarios. The talk is split into a theoretical and a live-demo part.
Watch
How to foster a Culture of Resilience by Benjamin Wilms @ Spring I/O 2022
Spring I/O 2022 - Barcelona, 26-27 May Chaos Engineering identifies weaknesses in supposedly reliable and stable systems. By discussing how to build transparency around the actual resilience of deployed apps among teams and how to balance appropriate reliability and engineering velocity, we will learn to build a culture of resilience. In the past few years, a lot has happened in the field of chaos engineering. A large community has developed from the original radical new approach of intentionally causing errors and failures. The principles have been refined and the popularity of chaos engineering is growing. I don’t want to reintroduce the topic, but rather show why the topic is more important than ever, how we are currently dealing with it, and why chaos engineering is just the beginning. Our journey into the world of distributed and dynamic systems has just begun. Collaboration and knowledge transfer are our tools for success. With these powerful tools, a Culture of Resilience will automatically emerge. - How to create transparency about the actual resilience of the deployed applications in the teams? - How to balance appropriate reliability with development velocity? - How can you empower people to build a Culture of Resilience? I’ve already had the opportunity to talk to many different teams about the topic of resilience and system stability - questions and uncertainties are more than normal at this point in the journey. That said, it’s important to make these issues more visible. Let’s discuss together how we can move to a future where we turn energy and creativity into code.
Watch
Ahead Of Time and Native in Spring Boot 3.0 by Brian Clozel and Stéphane Nicoll @ Spring I/O 2022
Spring I/O 2022 - Barcelona, 26-27 May GitHub repo: https://github.com/snicoll/demo-aot-native Ahead Of Time and Native is a major topic for the upcoming Spring major releases. With this talk, you’ll get a complete tour of the AOT efforts and a glimpse at future developments. After a successful experimental phase with the Spring Native project, the Spring team is bringing Ahead Of Time (AOT) support to Spring. The goal here is to enable GraalVM native use cases and improve JVM efficiency. During this talk, Stéphane and Brian will discuss the state of the AOT theme in Spring Framework 6.0-M4 and Spring Boot 3.0-M3: - The design of the AOT engine - How this new infrastructure can be used by libraries - What to expect as an application developer
Watch
Spring extensions for Kotlin by Anton Arhipov @ Spring I/O 2022
Spring I/O 2022 - Barcelona, 26-27 May Spring Framework provides first-class support for Kotlin thanks to the features provided by the programming language. The Spring Framework makes use of Kotlin extension functions to add new specific conveniences to existing APIs. In this session, you will learn about the extensions and DSLs that are provided in Spring for Kotlin developers. Also you will learn about Kotlin's language features that make it possible to extend the existing Java APIs.
Watch
Collaboration when developing Spring Boot Microservices by Dan Erez @ Spring I/O 2022
Spring I/O 2022 - Barcelona, 26-27 May Slides: https://speakerdeck.com/dragon74/spring-boot-based-collaboration Developing software based on micro services architecture is extremely easy when you use spring boot and spring cloud. Just throw in a few lines of code and you can have a micro service up and running. But when you have many micro services it’s not easy to run and maintain all of them locally, so you have use a central deployment. But if all developers do it, how can they work simultaneously on the same central spring cloud environment and still not interrupt each other? In this talk, I will you show you how to resolve this chaos and boost your productivity along the way.
Watch
How fixing a broken window cut down our build time by 50% by Philip Riecks @ Spring I/O 2022
Spring I/O 2022 - Barcelona, 26-27 May Slides: https://speakerdeck.com/rieckpil/how-fixing-a-broken-window-cut-down-our-build-time-by-50-percent The broken windows (not the operating system - 😁) theory not only applies to criminological cases but also codebases. It only takes one lazy developer to break the first window. Chances are high that others will follow a similar path and take workarounds or re-apply a not so optimal pattern thinking, "It passed the code review, I must not be that bad". For our Spring Boot integration test setup, we had such a broken window that was causing ever-growing build times. While most books about clean architecture emphasize composition over inheritance, we drifted off from this rule and coupled our tests to an AbstractIntegrationTest class that we then annotated with @DirtiesContext... This resulted in ever-growing build times as each new integration test was launching its own Spring TestContext, adding valuable seconds to the overall build time. Our feedback cycles, as well as the overall satisfaction of the team, started to suffer from this. This talk describes our journey of getting rid of @DirtiesContext on top of an abstract test class (aka. the "broken window") that made reusing the Spring TestContext impossible and resulted in ever-growing build times. Furthermore, we'll discuss recipes, best practices, and antipatterns for resuing the Spring TestContext and testing Spring Boot applications in general. After fixing this "broken window", our overall build time went down by 50% from 25 to 12 minutes.
Watch
Bootiful multi-model applications with Redis Stack by Brian Sam-Bodden @ Spring I/O 2022
Spring I/O 2022 - Barcelona, 26-27 May Slides: https://speakerdeck.com/bsbodden/bootiful-multi-model-applications-with-redis-stack GitHub Repo: https://github.com/bsbodden/bootiful-redis-stack Redis Stack provides a seamless and straightforward way to use different data models and functionality from Redis, including a document store, a graph database, a time series data database, probabilistic data structures, and a full-text search engine. In this session, I will walk you thru the building of a Spring Boot application that uses a hybrid model with Redis OM Spring. Redis OM Spring provides a robust repository and custom object-mapping abstractions built on the powerful Spring Data Redis (SDR) framework to tap into all the modules of Redis Stack.
Watch