List of videos

Spring Security for N00bz: A quick introduction for the terminally insecure by Mark Heckler

Spring I/O 2019 - Barcelona, 16-17 May Slides: https://speakerdeck.com/mkheck/spring-security-for-n00bz-a-quick-introduction-for-the-terminally-insecure GirHub repo: https://github.com/mkheck/spring-security-4-n00bz No one wants to be the next Equifax (or Target or Yahoo or TGX or or or) and feature prominently in headlines of the latest terrible security breach. Often referred to as a Career Limiting Move (CLM), it can also make you and your organization a target for lawsuits, federal charges, and recognition of the most negative kind. But security is hard, right? Where does one even begin??? One fully open-source solution for application security is widely used and respected: Spring Security. Built with Java & Spring, it provides a proven app security platform that integrates with numerous languages and components to provide end-to-end security for your critical applications. Using the JavaScript framework du jour for front end development? Reactive systems? LDAP? OAuth2? OpenID? It’s in there. Defense is a multi-faceted topic, but your application’s security is central to it all. Come to this session for a thought-provoking introduction to defense in depth and a live-coding “lock it down” exploration of how to secure your apps now and maintain their security over time using 100% open source software.

Watch
Real Time Investment Alerts using Apache Kafka & Spring Kafka at ING Bank by Tim and Marcos

Spring I/O 2019 - Barcelona, 16-17 May Speakers: Tim van Baarsen & Marcos Maia Slides: https://www.slideshare.net/TimvanBaarsen/springio-barcelona-may-2019-real-time-investment-alerts-ing-using-apache-kafka-spring-kafka-149207956 Nowadays our customers are expecting real time interactions with investments products and services we deliver at ING Bank especially because financial market fluctuations can have a direct impact on the investments performance of our customers. In this talk, we present how we deal with the massive stream of price updates on stocks and how we leverage many features of Apache Kafka and Spring Kafka to improve and simplify our solutions. From simple producer / consumer up to advanced usage of streams we strongly rely on Kafka to solve our functional and non functional requirements delivering high quality, real time stream processing software that is reliable, precise and extremely valuable to our customers. Main challenges of our project One of the main challenges of this project was to deal with a massive continuous stream of stock price updates and matching them against thousands of alerts created by our customers and still keep up with sending real time alerts to them. Why should i attend this talk as a developer? If you are a developer you will have a chance to understand how we are relying on Spring Boot and Spring Kafka to leverage many of the Kafka features to deliver simple, quality and reliable software that fulfil the business and regulations requirements while learning and having fun doing it! If you are on the business side you will be able to understand how we use Kafka to fulfil legal regulations while delivering extra value to our customers.

Watch
The State of Java Relational Persistence by Maciej Walkowiak @ Spring I/O 2019

Spring I/O 2019 - Barcelona, 16-17 May Slides: https://speakerdeck.com/maciejwalkowiak/the-state-of-java-relational-persistence Relational SQL databases are the default and often the best choice for persisting your data. While Hibernate and JPA have dominated the frameworks market there are alternatives worth considering when starting new project. In this session we will have a closer look to challenges with using SQL databases in Java applications and see how most popular frameworks address them. We will discuss pros and cons of using Java-centric JPA and SQL-centric JOOQ. This talk wouldn’t be complete without discovering what “the new kid on the block” - Spring Data JDBC has to offer and checking how all these solutions fit into the reactive world. At the end you will have decent high level understanding of all the mentioned frameworks and hopefully make better decision while choosing persistence framework for your next project.

Watch
How Fast is Spring by Dave Syer @ Spring I/O 2019

Spring I/O 2019 - Barcelona, 16-17 May Slides: http://presos.dsyer.com/decks/how-fast-is-spring.html In this presentation we take stock of some of the myths and assumptions regarding the runtime costs of using Spring. The conclusion is that preconceptions about slowness, component scanning, autoconfiguration, binding, use of reflection are all completely wrong. We look at data from a large set of benchmarks, analysing the performance of Spring applications. We concentrate on JVM startup time, but data are also available regarding total resource usage, and other runtime overheads. Spring is not slow, despite many people’s preconceptions, but measuring the performance can bring useful optimizations, some of which we will point out in this session. Finally, we can go deeper than that and show what kinds of apps are slower to start and why.

Watch
What the Graph by Gerrit Meier @ Spring I/O 2019

Spring I/O 2019 - Barcelona, 16-17 May Slides: https://speakerdeck.com/meistermeier/what-the-graph Today we generate huge volumes of data daily. This data coming from collaborating humans and machines is highly interconnected and related by its very nature. We can derive much more value if we don’t treat those as isolated datapoints. We already left the state of surprise that a social network can tell us which friends of our friends have similar tastes and behaviours as we do. But with this connected data comes additional complexity to manage. Which should be handled in a suitable database, a graph database. The obvious next step is get your interrelated data into such a storage, connect your application to it and interact with the database on a certain level of abstraction to implement your business requirements. This talk will show how Neo4j stores data in the graph and how to access and manipulate it using the Neo4j Object Graph Mapper and Spring Data Neo4j. We will also discuss the areas where a object graph mapper can help you and where it is considered to be not the best option.

Watch
Benefits of reactive programming with Reactor and Spring Boot 2 by Violeta Georgieva

Spring I/O 2019 - Barcelona, 16-17 May Scalability and resilience are key goals for modern applications. To achieve this, applications can run on the reactive stack provided in Spring Boot 2. Many applications already made the transition and are experiencing the benefits. In this session, we will explore what are those benefits. We will use various benchmarks to understand how key application metrics are impacted and what it means in our cloud native world. Several use cases will be shown to help driving the decision for a reactive design transformation that fits your architecture goals.

Watch
Building resilient scheduling in distributed systems with Spring by Marek Jeszka @ Spring I/O 2019

Spring I/O 2019 - Barcelona, 16-17 May Slides: https://www.slideshare.net/MarekJeszka/building-resilient-scheduling-in-distributed-systems-with-spring It is common to have jobs running periodically, especially in asynchronous and distributed systems. If the service is scaled horizontally (i.e. there are multiple instances of the same service), you often only want a single node to handle the task. In this session I will demonstrate how to manually setup Spring to have custom logic in scheduling configuration and perform recurring tasks only on a single node. This requires keeping notation of the leader and persisting the selection. The key takeaway of this session is how to implement distributed locking and how simple it is to run Spring application on top of it. In this talk you will learn how to mitigate challenges that arise when you use traditional declarative approach for scheduling and how to switch to a more flexible programmatic approach.

Watch
Spring Cloud on Kubernetes by Andreas Falk @ Spring I/O 2019

Spring I/O 2019 - Barcelona, 16-17 May Slides: https://andifalk.github.io/kubernetes-spring-io-2019 GitHub repo: https://github.com/andifalk/kubernetes-spring-io-2019 Spring Boot and Spring Cloud are great in helping building cloud-native Java or Kotlin applications. Using Spring Cloud components like Discovery Service, API Gateway or the Config Server have improved the experience in the cloud to a big extent. With the rise of Kubernetes, this has changed: Discovery services and configuration/secret management are provided “out of the box” here. In this talk, you will learn how Spring Cloud Kubernetes integrates with Config Maps and Secrets to provide secure configuration to Spring Boot applications in a seamless manner. You will also see the interaction of the Spring Cloud DiscoveryClient with the provided Discovery Services of Kubernetes. This presentation will consist of live coding and demos that will use sample applications build with Spring Boot and Spring Cloud Kubernetes.

Watch
Distributed Tracing in the Wild by Adrian Cole @ Spring I/O 2019

Spring I/O 2019 - Barcelona, 16-17 May Slides: https://speakerdeck.com/adriancole/set-your-sites-on-tracing-fcbfe2d4-51a4-4272-9689-0f0c338168ec While not new technology, distributed tracing has caught quite a buzz in recent years. Like all trendy tech, it can be difficult to distill reality from hype. If you haven’t heard yet, distributed tracing allows you to understand a single request as it crosses an arbitrarily complex (microservice or not) architecture. The Apache Zipkin community has helped many new folks understand what is marketing from what is real, leading to numerous site deployments. This session aims to share our “Sites” project which is an inventory of real-life setups people use today. These sites employ distributed tracing to increase developer productivity or reduce time in triage. While this will be “Zipkin Centric”, it is not exclusively a Zipkin session. Real world sites employ other monitoring systems, log analysis and even other tracing systems to complete their stories. Meanwhile, applications send data to the tracing system in a myriad of ways. While the best way is implicit tracing such as agents or framework plugins like Spring Cloud Sleuth, reality happens. Sometimes sites use tracing libraries directly, whether they are Zipkin, OpenCensus, OpenTracing or something home grown. We’ll navigate this ecosystem with examples from real sites run by real people. You’ll learn what role is played by what. By the end of this talk, you’ll not only learn concrete examples of what tracing is all about, but you’ll also get a connection to the community. We’ll introduce you to the gitter (chat) channel where everyone involved are. You can leverage us to begin or enhance your journey in observability.

Watch