Minneapolis

June 20-21

Minneapolis, MN


Agenda Day 1

8:00am

Breakfast

8:45am

Welcome

9:00am

Better Software is Better than Worse Software

Read more
“Digital transformation” seems like idle business fantasy. But, it’s a real strategy used by the US Air Force, Air France KLM, Liberty Mutual, DBS Bank, and others to out-innovate competition & delight people. To kick-off the day, Coté will go over how Pivotal customers like these are improving their software, how Pivotal helps, and how you can be a part of making the world a better place with better software.

Read less

9:55am

Reactive Spring with Spring Boot 2.0

Read more
Spring Framework 5.0 is here! One of the most exciting introductions in this release is support for reactive programming, building on Pivotal's Reactor project to support message-driven, elastic, resilient and responsive services. Spring Framework 5.0 integrates an MVC-like component model adapted to support reactive processing and a new type of web endpoint, functional reactive endpoints. In this talk, we'll look at the net-new Netty-based web runtime, how existing Servlet code can run on the new world, and how to integrate it with existing Spring-stack technologies.

Read less

10:45am

Break

11:15am

Serverless Spring

Read more
Spring Cloud Function provides a servlerless programming model for Spring Boot applications, abstracting away all of the transport details and infrastructure, allowing you to keep all the familiar tools and processes, and focus firmly on business logic. It has evolved quite a bit from its early snapshot releases - we have learned some things on the journey and would like to share some of those lessons in this presentation. You will also see in detail how to write and deploy functions targeting the major servlerless vendor platforms, including Riff (at the heart of Pivotal Function Service).

Read less

12:05pm

Bootiful Reactive Testing

Read more
Join us for an exploration of testing a reactive Spring Boot 2.x application. Test driven development gives us the confidence necessary to improve our code faster, safely. But how do you test components and services, as well as integrations across distributed systems, while maintaining fast feedback loops, and how do you do all of this within the context of reactive Java? In this talk, we'll look at how to test imperative components, reactive data flows, and mocks. We’ll examine how to take advantage of test slices, and how to test web applications. We'll look at how to ensure that API producers and consumers work well together using consumer driven contract testing without sacrificing the testing pyramid for end-to-end integration tests. And we’ll do it all within the context of reactive programming.

Read less

1:00pm

Lunch

2:00pm

Pivotal Conversations

Read more
Pivotal Conversations is loosely based in the open space meeting format, meaning it is based on (un)common sense of what people do naturally in productive meetings. Pivotal Conversations is a simple meeting format where attendees will break into smaller groups and have candid conversations about topics that our speakers have composed, based on the talks they gave earlier in the day. Each 45-minute session will have a casual format where attendees can feel comfortable discussing anything they want to know more about. Although these conversations are facilitated by our speakers, attendees should really be the ones leading the conversations.

Read less

5:00pm

Networking & Social

7:00pm

Day Ends



Agenda Day 2

8:00am

Breakfast

8:45am

Welcome

9:00am

Thinking Architecturally

Read more
Rich Hickey once said programmers know the benefits of everything and the trade offs of nothing...an approach that can lead a project down a path of frustrated developers and unhappy customers. As architects though, we must consider the trade offs of every new library, language, pattern or approach and quickly make decisions often with incomplete information. How should we think about the inevitable technology choices we have to make on a project? How do we balance competing agendas? How do we keep our team happy and excited without chasing every new thing that someone finds on the inner webs? As architects it is our responsibility to effectively guide our teams on the technology journey. In this talk I will outline the importance of trade offs, how we can analyze new technologies and how we can effectively capture the inevitable architectural decisions we will make. I will also explore the value of fitness functions as a way of ensuring the decisions we make are actually reflected in the code base.

Read less

9:55am

PCF Use Case Talk

10:45am

Break

11:15am

Using Spinnaker to Create a Development Workflow on Kubernetes

Read more
Out of the box Kubernetes is an Operations platform which is great for flexibility but creates friction for deploying simple applications. Along comes Spinnaker which allows you to easily create custom workflows for testing, building, and deploying your application on Kubernetes. Paul will give an introduction to Containers and Kubernetes and the default development/deployment workflows that it enables. He will then show you how you can use Spinnaker to simplify and streamline your workflow and help provide a full #gitops style CI/CD.

Read less

12:05pm

Scheduling Apps in the Cloud

Read more
I know, I know... Scheduling apps in the cloud... yaaawn. But hey its actually pretty awesome what Kubernetes and Cloud foundry have to offer in this area. In this talk we will give a brief overview as to how Kubernetes and Cloud Foundry implement scheduling as well as some of the features offered. Then we will discuss how Spring Cloud Data Flow offers the user the ability to use a common interface to schedule tasks whether they're using Cloud Foundry or Kubernetes. But that is only part of the story. How do we know if our job or task successfully completed? How can we write our code such that we can restart a failed job and have it pick up where it left off? We will discuss how Spring Cloud Task and Spring Batch can be incorporated in your Spring Boot app to provide you these features.

Read less

1:00pm

Lunch

2:00pm

How Fast is Spring?

Read more
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.

Read less

2:50pm

Cloud Event Driven Architectures with Spring Cloud Stream 2.0

Read more
Event driven have never left the main stage, but with the advent of cloud-native, distributed architectures (such as microservices) it has become more popular than ever. But it is a broad category that covers a variety of use cases, ranging from enterprise integration to data streaming. So, how to make sense of them all, and especially, what are the best tool for the task? In this presentation we will provide an overview of the various types of event-driven architectures, and how the different message-oriented components of the Spring portfolio (Spring Kafka, Spring AMQP, Spring Integration, Spring Cloud Stream) fit into the picture.

Read less

3:40pm

Break

4:10pm

Cloud-Native Spring

Read more
You know what nobody has ever said to me? "I wish you'd covered even more in your 45 minute 'Cloud-Native Java' talk!" And I listened! In this talk, we'll look at Spring Cloud.next to support modern microservices development, focusing on the things that really matter (or, at least, the things we've got cooking in Spring Boot 2.0 and Spring Cloud Finchley, both due before April or so):

- functional reactive REST endpoints (totally different meaning for "function" here, though)

- reactive programming with Spring Framework 5. Leverage flow control at every layer and make the most efficient use of every CPU when doing input/output. You're going to need every bit of efficiency that you can get after you've installed the patches for Spectre and Meltdown!

- Kotlin. Yes, KOTLIN: you wanted Java and I'm giving it to you.. in libraries that I'll use from Kotlin.

- messaging with Apache Kafka. Nothing funny here. It's just awesome.

- live on the edge with the new, reactive, rate-limiting, proxying, websocket-aware Spring Cloud Gateway

- ASCII art!

- reliability with circuit breakers and eventual consistency


Read less

5:00pm

Day Ends