List of videos

Implementing an OAuth 2 authorization server with Spring Security - the new way! by Laurentiu Spilca
Spring I/O 2022 - Barcelona, 26-27 May After project Spring Security OAuth has been deprecated, there was a lot of confusion in the community. You could use Spring Security to write the resource server but not the authorization server. But the dark age is now over. In this session, we discuss implementing an authorization server using the new Spring Security Authorization Server project. https://spring.io/blog/2021/08/19/spring-authorization-server-goes-to-production OAuth 2 and OpenID Connect are tremendously important today since they represent the most used standards for implementing authentication in apps. Spring apps are no exception to this approach. We’ll start with a refresher on OAuth 2 and OpenID Connect and remember shortly how an authorization server was configured using the Spring Security OAuth project (now deprecated). Then, we’ll work on an example where we implement an authorization server using the new approach -the Spring Security Authorization Server project. You’ll learn how to use the new project to write your custom authorization server but also what advantages does this project brings above the old-fashioned way.
Watch
Be ‘Mr. Miyagi’ or find one! by Kelly Jille @ Spring I/O 2022
Spring I/O 2022 - Barcelona, 26-27 May Mr. Who? Besides one of my childhood heroes, Mr. Miyagi is a fictional karate master from Okinawa, Japan, in the movie serie ‘The Karate Kid’. He was the karate mentor of several people and made them worthy champions. I wanted that too! So began my own karate journey with my own sensei (mentor). Later, I became a lawyer and got a so-called ‘patroon’ (another mentor). Both mentor relationships have borne fruit. When I took my first steps in my career switch to the IT world, I discovered that mentorship is not a matter of course. What a pity! Fortunately, I managed to find one again. I experienced it as a difference as night and day. I would like to talk about the mentorship’s “what”, “who” and “how”. I would also like to explain the importance of mentorship in our field and what it could offer us as a developers community. In doing so, I would like to share my own experiences and ideas. To add weight to it, I make a link with research. I have looked at whether I can find my own experiences and ideas back in society, science or both. I think that we as a developers community, but also as an employer and client, should not want anything else and I would like to explain why.
Watch
Spring Kafka beyond the basics - Lessons learned on our Kafka journey at ING Bank by Tim van Baarsen
Spring I/O 2022 - Barcelona, 26-27 May Slides: https://speakerdeck.com/timvanbaarsen/spring-kafka-beyond-the-basics-lessons-learned-on-our-kafka-journey-at-ing-bank GitHub repo: https://github.com/j-tim/spring-io-barcelona-2022-spring-kafka-beyond-the-basics You know the fundamentals of Apache Kafka. You are a Spring Boot developer and working with Apache Kafka. You have chosen Spring Kafka to integrate with Apache Kafka. You implemented your first producer, consumer and maybe some Kafka streams, it’s working… Hurray! You are ready to deploy to production what can possibly go wrong? In this talk, Tim will take you on a journey beyond the basics of Spring Kafka and will share his knowledge, pitfalls, and lessons learned based on real-life Kafka projects that are running in production for many years at ING Bank in the Netherlands. - Can you survive consuming a poison pill from a Kafka topic without writing gigabytes of log lines? - Do you understand how to deal with exceptions in different cases? - Do you validate incoming data consumed from a topic? - Should you do integration testing for Kafka? And what the other options do I have? - Can you incorporate Apache Kafka as part of your distributed tracing? - Are you able to monitor the performance of your Kafka applications to understand whether or not you are lagging behind? In case you answer one or more above questions with ‘NO’ join this talk! ======================================= Video Chapters 00:00:00 Introduction 00:03:47 Kafka in a nutshell 00:07:44 Spring for Apache Kafka 00:13:35 Scenario: Poison Pill (Deserialization exception) 00:25:43 Scenario: Lack of proper exception handling 00:32:18 Testing 00:37:30 Monitoring 00:42:12 Lessons learned
Watch
Kubernetes Native Java by Josh Long @ Spring I/O 2022
Spring I/O 2022 - Barcelona, 26-27 May Spring is all about helping developers get to production quickly and safely. These days, “production” is all but guaranteed to mean Kubernetes, and Spring has you covered. Join me, Spring Developer Advocate Josh Long (@starbuxman), and we’ll look at how Spring Boot makes writing blisteringly fast, cloud-native, and scalable services more effortless than ever.
Watch
Troubleshooting Spring Boot applications with Sentry by Maciej Walkowiak @ Spring I/O 2022
Spring I/O 2022 - Barcelona, 26-27 May Slides: https://speakerdeck.com/maciejwalkowiak/troubleshooting-spring-boot-applications-with-sentry GitHub repo: https://github.com/maciejwalkowiak/troubleshooting-spring-boot-appplications-with-sentry Do you hate browsing jungle of logs to find errors and especially context why they happened? Me too. There are better ways! With Sentry and its Spring Boot integration, you get all the context you need to address bugs and performance issues in no time. It’s open source & free. No strings attached. No matter how clean our code is, how good our tests are, how well our infrastructure scales - one day, eventually something will go wrong in production. Bugs and outages cases customer to lose trust and cost real money. Our job is to identify and fix the issue as quickly as possible. In this session, we will have a look at Sentry - an open source troubleshooting and application monitoring solution - and its seamless integration with Spring Boot. We will learn the benefits of treating errors as contextual events and how exception reporting and performance monitoring in a single tool simplify addressing production issues.
Watch
Making Sense Of Configuration and Service Discovery On Kubernetes by Ryan Baxter @ Spring I/O 2022
Spring I/O 2022 - Barcelona, 26-27 May Config Maps, Secrets, Spring Cloud Configuration Server, Kubernetes Services, Spring Cloud Discovery Client…there are many ways to tackle configuration and service discovery on Kubernetes, but which approach is correct? In this session we will take a look at all the various options for externalizing configuration and using service discovery when running Spring Boot apps on Kubernetes. We will address the pros and cons of each and discuss which approach is appropriate for your individual application to help you best meet your business requirements. With the use of live demos and code, you will walk away with a better understanding of how to build cloud native Spring Boot applications that take advantage of everything Kubernetes has to offer.
Watch
Welcome, Spring for GraphQL by Rossen Stoyanchev @ Spring I/O 2022
Spring I/O 2022 - Barcelona, 26-27 May GraphQL presents an alternative to REST for web APIs that is rapidly becoming a popular choice for web and mobile clients due to its ease of use and control. Spring for GraphQL is a new project developed in collaboration between Spring and GraphQL Java contributors that is set to go GA in May, a week before Spring I/O. The goal for this talk is to provide a comprehensive overview of the programming model and features available in this new project. If you have not yet tried it, the talk should be a good introduction. If you are already a user, you can get insight into decisions made on the way to the 1.0 release.
Watch
Building a Framework on top of Spring Boot by Rubén Pahíno - Spring I/O 2022 Sessions
Spring I/O 2022 - Barcelona, 26-27 May Standardizing solutions within a company is hard. As a result, companies usually end-up creating internal libraries and frameworks to reduce boilerplate. This approach can lead to a new set of problems: rigid designs, lack of documentation, inability to find answers outside the company (no StackOverflow!!), etc. In this session, we’ll talk about the reasons for developing our own internal framework at Travix, on top of Spring Boot (company-wide logging format, unified serialization, metrics, error-handling, etc.). We’ll share the problems that came along with the initial design and why we rewrote it from scratch, to provide a non-intrusive and transparent solution for developers. We’ll show how we can achieve production-readiness using several Spring mechanisms without compromising services final code. BeanPostprocessor, AutoConfiguration, Filters and Interceptors are just some of the concepts that we’ll cover, explaining how they behave and what we can achieve by using them. Not only that, but we’ll also demonstrate how we can allow different applications to customize default behaviours, given their specific requirements. The final result is a Maven dependency that we can add to our projects, transforming them out-of-the-box into production-ready services. Does any of the above sound familiar? Do you want to find out more about the Spring concepts mentioned? We hope to see you at this session.
Watch
Knative and Spring Native - Bringing back the func by Thomas Vitale and Mauricio Salatino
Spring I/O 2022 - Barcelona, 26-27 May Slides: https://www.slideshare.net/salaboy/spring-io-2022-knative-and-spring-bringing-back-the-func Kubernetes is now a standard to deploy and manage containerized applications. How do functions fit into the cloud-native space in 2022? What does it take to write a function in Java or any other language and get it up and running in a Kubernetes cluster? We’ll show with practical examples and a live demo how developers can focus on the business logic while the platform takes care of supporting event-driven and serverless workloads in a polyglot environment. - CloudEvents provide a language and transport-agnostic way to describe events. - Knative Eventing routes CloudEvents between producers and consumers so that developers don’t have to worry about which message broker is used under the hood (e.g. RabbitMQ, Kafka, cloud-provider specific). - Frameworks like Spring Cloud Functions let developers focus on implementing the business logic instead of dealing with infrastructural concerns and integrations with event brokers. - GraalVM and libraries like Spring Native make it possible to build serverless applications in Java and take advantage of the scale-to-zero feature offered by Knative Serving. - Cloud-Native Buildpacks solve the problem of building production-ready containers end to end, offering support for multiple languages and frameworks, and focusing on performance and security. To demonstrate how all these tools can work together, we will show how Knative func combines them and provide developers with a Dockerfile-free and Kubernetes YAML-free experience.
Watch