List of videos

Configuration Management with Kubernetes, a Spring Boot use case by Nicolas Frankel

Spring I/O 2019 - Barcelona, 16-17 May Slides: https://docs.google.com/presentation/d/18jSt6HyGJCr8HENvnDHBh9Z5N12CUT013NX9z-yJQ_M GitHub repo: https://github.com/exoscale-labs/config-mgmt-springboot-kubernetes/tree/demo Docker images are supposed to (and should be) immutable. Given that the same image should be promoted from the development environment to the production environment, it needs to be parameterized in each environment. Kubernetes provides different ways to do that. On the other, the Spring Boot platform allows a wide range of configuration options. In this talk, I’ll go through (and demo!) what common options are available, and what pro(s)/con(s) each of them have.

Watch
Implementing Microservices Security Patterns & Protocols with Spring Security by Joe Grandja

Spring I/O 2019 - Barcelona, 16-17 May Building secure microservices requires mastering a variety of patterns, protocols, frameworks, and technologies. This talk provides a holistic end-to-end view of how to secure microservices using industry standard protocols and Spring Security. The goal is to present how standards such as JWT, JWA, JWS, JWE, JWK, OAuth2, OpenID Connect, TLS can be combined to make writing secure microservices easy. A high-level explanation of the security standards and protocols will be provided along with demo/code walkthroughs showing how to apply the patterns and standards using Spring Security 5. The following patterns and their implementations will be demonstrated. - Web SSO Login - Implementing OAuth2 resource servers - Implementing edge service gateways - Token Exchange in a microservice call chain - Token Relay in a microservice call chain - Integration with OpenID Connect / OAuth2 servers

Watch
How to build Reactive Server in 50 minutes by Oleh Dokuka @ Spring I/O 2019

Spring I/O 2019 - Barcelona, 16-17 May In this session, we are going to talk about developing your own server using pure Non-Blocking Java API. First of all, we will start with the reason why non-blocking is important in the development of modern web applications. Smoothly moving from that point, we will cover the central challenges of building non-blocking servers. In turn, we will introduce the Reactive Programming technique for simplification our code and be turning everyday software development into the art. Since Java Non-Blocking API is nothing more than actions’ execution and reacting to asynchronous responses, we will see how simple become development of complicated things with the usage of Reactive Programming with Project Reactor.

Watch
Spring Framework 5 2: Core Container Revisited by Juergen Hoeller @ Spring I/O 2019

Spring I/O 2019 - Barcelona, 16-17 May Spring Framework 5.2 takes Spring 5’s common themes to the next level: embracing new reactive technologies such as R2DBC and RSocket through Spring’s transaction and messaging abstractions, and revisiting the core component container for GraalVM support and compile-time annotation indexing. This talk focuses on core facilities for optimized application architectures in modern deployment environments, with support for Java as well as Kotlin, as a foundation for higher-level features in Spring Data and Spring Boot.

Watch
Chaos Engineering: withstanding turbulent conditions in production by Benjamin Wilms

Spring I/O 2019 - Barcelona, 16-17 May Slides: https://speakerdeck.com/mrbw/o-2019-barcelona Why we need Chaos Engineering The complexity in modern and distributed architectures continues to increase. We have successfully broken down our application into small and maintainable components. Each individual component can be automated and brought into production at any time. A lot of effort was put into the development to keep the test coverage as high as possible. Every release has to successfully pass our pipeline and countless unit, integration and acceptance tests. But why do we have this unpleasant feeling shortly before our arrival at the most beautiful place in the world (production)? known unknowns Many open questions cannot be answered by simple unit or integration tests: 1. will our fallbacks work? 2. does the retry take effect in case of an error? 3. is our Service Discovery up and synchronised? 4. has anyone seen our client-side-load-balancer in action? 5. where’s our database gone? This is where Chaos Engineering comes in. It helps us to become master of chaos and please do not claim that you are not in chaos! There is a whole industry that sells us ticket systems to document chaos. What to expect In this talk you will learn how to introduce Chaos Engineering. Using practical examples, you will learn what can go wrong. At the end of the talk we will conduct a Chaos Experiment in a distributed Spring Boot application. With the help of the Chaos Monkey for Spring Boot we will try to crash the application. But thanks to the implemented Resilience Pattern this won’t work. You will take part in the trip to a Cloud-Native Spring Boot application and see how we can automate our chaos experiments. I will also show you useful helpers and tools for your first steps into the world of Chaos Engineering and how you can develop and improve Chaos Experiments together with your colleagues.

Watch
Event Driven with Spring by Oleg Zhurakousky @ Spring I/O 2019

Spring I/O 2019 - Barcelona, 16-17 May In the world of cloud-native distributed architectures, such as microservices, the “event-driven” is more popular than ever. But it is a broad category that covers a variety of use cases, ranging from a simple enterprise integration to a complex data streaming. So, how to make sense of it all? In this mostly hands on session, we will cover Spring Cloud Stream and Spring Cloud Function as a defacto technologies for Spring-based event-driven microservices as well as provide an overview of the recent developments and features in both projects.

Watch
Kubernetes and or Cloud Foundry - State-of-the-art cloud platforms by Matthias Haeussler

Spring I/O 2019 - Barcelona, 16-17 May Slides: https://docs.google.com/presentation/d/1cYdrtcHVWYIkIENbq0tW6M47h2AXi7z2q3Pz_QdnuQg Kubernetes and or Cloud Foundry - How to run your Spring Boot Microservices on state-of-the-art cloud platforms Platform and Container as a Service layers (PaaS/CaaS) enable developers to deliver the functionality of their code to end users in a fast way. Kubernetes and Cloud Foundry are very popular options to deploy and run Spring Boot Microservices. But what does it really take to get your application and required backend services up and running successfully on both platforms? How many configuration steps are required and where are the hidden pitfalls? How easy do you scale, recover from failure or update the application without downtime? In my role as Cloud advocate and university lecturer for distributed systems I come across these topics a lot and want to share my experience with this talk. I will analyse the differences between the two platforms as seen from a developer’s perspective including a live demo of those steps.

Watch
Testing Spring Boot Applications by Andy Wilkinson @ Spring I/O 2019

Spring I/O 2019 - Barcelona, 16-17 May Writing and running tests is an essential part of delivering reliable software but we don’t always do so as efficiently as we could. For example, all too often we reach for an integration test when a unit test that’s far quicker to run would have delivered the same benefits more easily. In this talk, you’ll be encouraged to reconsider how you test your Spring Boot applications. We’ll look at why we write tests and what kinds of tests we need to write to meet those goals. For the occasions when it’s right to venture beyond a unit test, we’ll take an in-depth look at some of Spring Boot’s advanced testing features including @MockBean, @SpyBean, and test slices. You’ll leave understanding exactly how those features work and the benefits that they provide so that you can apply them to your own tests, confident that it’s right to do so.

Watch
Spring to Google Cloud Native by Ray Tsang and Josh Long @ Spring I/O 2019

Spring I/O 2019 - Barcelona, 16-17 May GitHub repo: https://github.com/joshlong/spring_io_2019/tree/master/gcp Google and Pivotal partnered to develop Spring Cloud components for Google Cloud Platform. With Spring Cloud GCP, you can quickly develop cloud native applications & harness the power of managed services that can ease your development and accelerate velocity to production ready systems. In this session, we’ll show how to build cloud native applications with Spring on Google Cloud Platform to use both RDBMS and NoSQL stores, publish and process events, adding secured proxy to allow only authorized users, adding trace & centralized logging, and quickly build/deploy to Kubernetes using latest open sourced container tools like Jib and Skaffold.

Watch