Join us for SpringOne, Jan 24-26, and learn how teams are building modern apps.
Josh Long

Josh Long

Developer Advocate

San Francisco, CA

Expertise: Spring, Microservices, Kubernetes, CloudFoundry, EAI, Cloud Computing, YAML, Spring, Java, Architecture, Cloud, Full Stack

Josh (@starbuxman) became the first Spring Developer Advocate in 2010 and hasn’t looked back! He contributes (bugs, mostly..) to numerous open source projects, including Spring Boot and Spring Cloud.

What Can He Do For You?

Josh has a variety of talks and workshops on the following topics:

  • Spring Boot
  • Spring Cloud
  • Architecture
  • Microservices
  • Full Stack Java Development
  • GraphQL
  • Enterprise Application Integration
  • Workflow
  • Spring Data
  • ..and countless other ecosystem libraries

He is a world-renowned speaker who has spoken on every continent except Antarctica at thousands of events, shows, and organizations.

Spring Tips

Josh puts together a weekly series on YouTube, Spring Tips, where he explores the latest-and-greatest in the wide and wonderful world of Springdom

Books

Josh has authored a half dozen books on Spring, and some of them, like Reactive Spring are not terrible!

This Week in Spring

Josh has put out an installment of This Week in Spring over on the Spring blog every Tuesday - without fail, since the first week of January 2010! - that (attempts, and often fails to) round up the latest and greatest in the wonderful and wide world of Springdom.

A Bootiful Podcast

Josh is the host of a podcast called A Bootiful Podcast whose new episodes drop every Friday (roughly). In it, he sits down and talks to people that are smarter than he is (a shallow bar!) about the Spring and adjacent ecosystems.

Livelessons

Josh has done longer-form training courses - seen by hundreds of thousands of people worldwide - on the Livelessons platform since 2013.

Recent Podcasts

Couchbase and Cloud legend Laurent Doguin

2022-09-22 listen

Hi, Spring fans! In this installment, Josh Long (@starbuxman) talks to his friend, fellow Java Champion, and director of developer relations and strategy at Couchbase, Laurent Doguin (@ldoguin)

Big data legend, former Pivot, and friend to the Spring community, Tim Spann

2022-09-15 listen

Hi, Spring fans! In this installment, Josh Long (@starbuxman) talks to big data legend, former Pivot, and friend to the Spring community, Tim Spann (@PaaSDev), about big data, StreamNative, and Apache Pulsar. Get your notebooks ready for this one, class!

Hashicorp’s Rosemary Wang on securing the intersection of apps and ops with Hashicorp Vault

2022-09-08 listen

Hi, Spring fans! In this episode, Josh Long (@starbuxman) talks to Hashicorp Developer Advocate Rosemary Wang (@joatmon08) about a few Hashicorp technologies and their integrations with Spring Boot.

Dr. Kris De Volder on Spring Tools, VS Code, and so much more

2022-09-01 listen

Hi, Spring fans! In this episode Josh Long talks to Dr. Kris De Volder, a longtime member of the Spring Tools team, about all the cool stuff he’s worked on and is going to work on. And then we get knee deep into a discussion around building IDE integrations.

Fellow Java Champion and TimescaleDB developer advocate Christoph Engelbert

2022-08-25 listen

Hi, Spring fans! In this installment, Josh Long (@starbuxman) talks to fellow Java Champion and TimescaleDB developer advocate Christoph Engelbert (@noctarius2k) about PostgreSQL, Java, time series databases, observability, and so much more.

Flowable founder (and my friend) Joram Barrez on a Bootiful Podcast on workflow, business process management, and more

2022-08-18 listen

Hi, Spring fans! In this installment, Josh Long (@starbuxman) talks to Flowable founder Joram Barrez (@jbarrez) about workflow, business process management (BPM), decision management, rules, and so much more

The Good Dr. Venkat Subramaniam

2022-08-11 listen

Hi, Spring fans! In this installment, Josh Long talks to the good Dr. Venkat Subramaniam about the art of writing software, his latest projects, and more

Observability guru Jonatan Ivanov on the future of observability in Spring Boot

2022-08-04 listen

Hi, Spring fans! In this installment, Josh Long (@starbuxman) talks to Spring observability guru Jonatan Ivanov (@jonatan_ivanov)

RabbitMQ rabbit-herder Dan Carwin

2022-07-28 listen

Hi, Spring fans! In this installment, Josh Long (@starbuxman) talks to a very busy rabbit-herder on the RabbitMQ team, Dan Carwin (@dcarwin)

Spring Cloud Kubernetes contributor Ryan Baxter

2022-07-21 listen

Hi, Spring fans! In this episode, Josh Long (@starbuxman) talks to a person who knows more than most about the awesome implications of both the words "Spring" and "Cloud," Spring Cloud Kubernetes ninja Ryan Baxter (@ryanjbaxter).

Upcoming Appearances

J4K 2022

2022-09-28 - I’ll be speaking at this year’s J4K event online! Let’s see how Spring and Kubernetes play well together.

Kafka Summit

2022-10-04 - I’ll be speaking at the Kafka Summit in Las Vegas! Join me and we’ll look at stream processing, together!

i Code Java conference

2022-10-12 - Join me virtually, won’t you, for the I Code Java show

JavaOne

2022-10-18 - I’m so elated to be returning to the first in-person JavaOne event in more than a couple of years! I’ll see you there!

Recent Spring Tips

2022-07-21 - Kubernetes Native Java (Redux, 2022)

2022-06-23 - Spring for GraphQL: Data

2022-06-22 - Spring for GraphQL: Security

2022-06-15 - Spring for GraphQL: Clients

2022-06-14 - Spring for GraphQL: RSocket and Subscriptions

2022-06-11 - Spring for GraphQL: Mutations

2022-06-10 - Spring for GraphQL: Batching Requests

2022-06-03 - Spring for GraphQL: Queries

2022-06-02 - Spring for GraphQL: the GraphQL Java Engine

2022-03-31 - Brave, Bold, and Boring YugabyteDB

Recent Blog Posts

Abstracts

Bootiful Kafka: Get the Message!

Hi, Spring fans! I once met Dave Chapelle (no, not that Dave Chapelle!), who was a legend from the messaging industry. He worked on SonicMQ and a bunch of other famous messaging initiatives. He also wrote the O'Reilly book on the Java Messaging Service. I met him once, asked him to sign my copy of the book. He wrote, "Get the message!" and then signed it. I always loved him for that. And that's what I want you to do. Spring Boot and Apache Kafka are leaders in their respective fields and it's no surprise that they work well together. Join me, Spring Developer Advocate Josh Long (@starbuxman) and we'll look at how to use Spring Boot and Apache Kafka to build better, scalable systems and services so that you, too, can get the message!

Cloud Native Java (5-10 Days)

?It is not necessary to change. Survival is not mandatory.? -W. Edwards Deming

Work takes time to flow through an organization and ultimately be deployed to production where it captures value. It?s critical to reduce time-to-production. Software - for many organizations and industries - is a competitive advantage.

Organizations break their larger software ambitions into smaller, independently deployable, feature -centric batches of work - microservices. In order to reduce the round-trip between stations of work, organizations collapse or consolidate as much of them as possible and automate the rest; developers and operations beget ?devops,? cloud-based services and platforms automate operations work and break down the need for ITIL tickets and change management boards.

But velocity, for velocity?s sake, is dangerous. Microservices invite architectural complexity that few are prepared to address. In this talk, we?ll look at how high performance organizations like Ticketmaster, Alibaba, and Netflix make short work of that complexity with Spring Boot and Spring Cloud.

In this workshop we'll look at how to build cloud-native Java applications. A cloud native application is:

  • elastic
  • agile
  • observable
  • robust

A cloud native application is one that is designed to fully exploit a cloud platform both in the application layer - where things decompose into microservices - and at the data layer where NoSQL offers better horizontal scaling and fitness for specific purpose. This is what we mean by elastic.

A cloud native application is one that is agile. It should be easy to write, change, test, deploy and operate. If the cost of change is prohibitive then normal people under normal situations won't do it. We must make doing the right thing - that which supports change - the easy thing.

A cloud native system is observable. It must support at-a-glance insight into what is happening in the system and support remediation. It must be instrumented at the application and systems levels to support the effort of crisis-management.

A cloud native application is one that is fault tolerant, or robust. If a service should fail, the system must be able to recover and degrade gracefully. Instead of trying to build a system that is predicated on the lie that things are highly available, build instead to optimize for time to remediation.

In this workshop we'll cover:

  • Basics - we'll look at Spring Boot application development concepts like auto-configuration and embedded web container deployments (Spring Boot)

  • REST APIs - we'll look at concerns like API versioning and hypermedia. (Spring MVC, Spring Boot, Spring HATEOAS)

  • Data Access - we'll model a service domain and define bounded contexts. (Spring Boot, Spring Data)

  • Observability - what happens when there's a problem with your production application? How quickly can your team respond? How do you know if you're making improvements to a system? How do you measure progress? How do you monitor individual applications? How do you monitor the flow of requests through circuit breakers? How do you trace requests across the system? Can you visualize all the services in the system? We'll look at how to surface information about your services and systems. (Spring Boot Actuator, Micrometer, Graphite, Spring Cloud Sleuth, OpenZipkin, Spring Cloud Hystrix Dashboard)

  • Testing - we'll look at the concepts of test-driven development. We'll cover unit testing individual components and mock them out. We'll look at how to test service interfaces. We'll look at how to write integration tests that don't sacrifice speed in order to be exhaustive using consumer driven contracts and consumer driven contract testing. (JUnit, Spring Boot, Spring MVC Test Framework, Spring Cloud Contract)

  • Routing and Load-Balancing - where does your service live? How do your clients find it? How do you handle custom routing requirements? How do you handle custom load-balancing? (Spring Cloud, Ribbon)

  • Message-driven and integration-centric architectures - We'll look at how to build microservices that talk to each other over messaging fabrics like Apache Kafka or RabbitMQ. We'll look at how to integrate existing systems and how to use messaging to connect disparate systems. (RabbitMQ, Spring Integration, Spring Cloud Stream)

  • Stream Processing - We'll look at how to build solutions that process ongoing data over time. We'll look at how to compose messaging-based microservices and orchestrate them over a cloud-based fabric. (Spring Cloud Stream, Spring Cloud Data Flow)

  • Partitioned Batch Processing - In this section we'll look at how to process large amounts of sequential data and scale the processing across a cloud fabric. We'll look at how to scale processing horizontally as o

Blogs

December 6, 2022
This Week in Spring - December 6th, 2022
December 1, 2022
A Bootiful Podcast: Java Champion Gunnar Morling about messaging middleware, Debezium, change data capture, and more.
November 29, 2022
This Week in Spring - November 29th, 2022 (Spring Boot 3 has arrived)
November 23, 2022
Spring Tips: the road to Spring Framework 6: the new Ahead-of-Time Compilation Engine and GraalVM
November 22, 2022
This Week in Spring - November 22nd, 2022 - Spring Boot 3 and Thanksgiving edition!
November 17, 2022
A Bootiful Podcast: Java Champion, legendary engineer, and teacher Trisha Gee
November 15, 2022
This Week in Spring - November 15th, 2022
November 9, 2022
A Bootiful Podcast: RabbitMQ engineer Arnaud Cogolu??gnes on the new and novel in RabbitMQ
November 8, 2022
This Week in Spring - November 8th, 2022
November 3, 2022
A Bootiful Podcast: Java Champion, legend, and prolific open source contributor Andres Almiray
November 1, 2022
This Week in Spring - November 1st, 2022
October 27, 2022
Bootiful Podcast: Spring Mad Scientist Andy Clement on SpringOne 2022, AOT, Azure Spring Apps, and more
October 26, 2022
Spring Tips: the road to Spring Boot 3: Spring Framework 6
October 24, 2022
This Week in Spring - October 25th, 2022
October 20, 2022
A Bootiful Podcast: Microsofts Asir Selvasingh on Azure Spring Apps, Java at Microsoft, application security, and more
October 18, 2022
This Week in Spring - October 18th, 2022
October 16, 2022
Spring at JavaOne 2022
October 15, 2022
Learn more about Spring Framework 6 and Spring Boot 3 in these two great talks from Devoxx 2022
October 13, 2022
A Bootiful Podcast: Google mad scientist Josh Suereth on Observability with OpenTelemetry, building better build tools, and so much more
October 11, 2022
This Week in Spring - October 11th, 2022
October 10, 2022
Spring Tips: Spring Boot & Apache Kafka
October 6, 2022
A Bootiful Podcast: Spring and Java community legend Marten Deinum
October 4, 2022
This Week in Spring - October 4th, 2022
September 29, 2022
A Bootiful Podcast: thought leader Chris Richardson (and no, Im not using that title ironically!)
September 27, 2022
Delete Passwords: Passwordless Connections for Spring Boot Apps to Azure Services
September 27, 2022
This Week in Spring - September 27th, 2022
September 23, 2022
My SpringOne 2022
September 22, 2022
A Bootiful Podcast: Couchbase and Cloud legend Laurent Doguin
September 20, 2022
This Week in Spring - September 20th, 2022
September 15, 2022
A Bootiful Podcast: big data legend, former Pivot, and friend to the Spring community, Tim Spann
September 13, 2022
This Week in Spring - September 13th, 2022
September 8, 2022
A Bootiful Podcast: Hashicorps Rosemary Wang on securing the intersection of apps and ops with Hashicorp Vault
September 6, 2022
This Week in Spring - September 5th, 2022
September 1, 2022
A Bootiful Podcast: Dr. Kris De Volder on Spring Tools, VS Code, and so much more
August 31, 2022
Price Reduction - Azure Spring Apps does more, costs less!
August 30, 2022
Microsoft is committed to the success of Java developers
August 30, 2022
This Week in Spring - August 30th, 2022
August 25, 2022
A Bootiful Podcast: Fellow Java Champion and TimescaleDB developer advocate Christoph Engelbert
August 23, 2022
This Week in Spring - August 23rd, 2022
August 18, 2022
A Bootiful Podcast: Flowable founder Joram Barrez on a Bootiful Podcast on workflow, business process management, and more
August 16, 2022
This Week in Spring - August 16th, 2022
August 11, 2022
A Bootiful Podcast: the good Dr. Venkat Subramaniam
August 9, 2022
This Week in Spring - August 9th, 2022
August 4, 2022
A Bootiful Podcast: Observability guru Jonatan Ivanov on the future of observability in Spring Boot
August 2, 2022
This Week in Spring - August 1st, 2022
July 28, 2022
A Bootiful Podcast: RabbitMQ rabbit-herder Dan Carwin
July 26, 2022
This Week in Spring - July 26th, 2022
July 21, 2022
A Bootiful Podcast: Spring Cloud and Spring Cloud Kubernetes contributor Ryan Baxter
July 20, 2022
Spring Tips: Kubernetes Native Java (Redux, 2022)
July 19, 2022
This Week in Spring - July 19th, 2022
July 17, 2022
Spring Tips: Kubernetes Native Java (Redux, 2022)
July 14, 2022
A Bootiful Podcast: Nate Schutta: The Thinking Persons Architect, My Friend, and Teammate
July 12, 2022
This Week in Spring - July 12th, 2022
July 7, 2022
A Bootiful Podcast: Kubernetes contributor and fellow Tanzu Developer Advocate Leigh Capili
July 5, 2022
This Week in Spring - July 5th, 2022
June 30, 2022
A Bootiful Podcast: Spring Developer Advocate Dan Vega
June 28, 2022
This Week in Spring - June 28th, 2022
June 28, 2022
Today is the last day to submit to the SpringOne 2022 Call For Papers!
June 24, 2022
Spring Tips: Learn Spring for GraphQL (the last two episodes: parts 7 and 8)
June 23, 2022
A Bootiful Podcast: JVM and .NET legend Ted Neward on... just about everything
June 21, 2022
This Week in Spring - June 21st, 2022
June 16, 2022
Bootiful Podcast: Spring Framework contributor S??bastien Deleuze on GraalVM, AOT, project Leyden, and WebAssembly
June 14, 2022
Spring Tips: Learn Spring for GraphQL (parts 5 and 6 of an ongoing series)

Tanzu.TV Episodes

Code Samples

Reactive Revolution

Code that accompanies Josh Long’s “The Reactive Revolution” talk.

Bootiful Microservices

Microservices in Spring

Bootiful Reactive Microservices

Reactive Microservice workshop in Spring

The Spring REST Stack

RESTful service development with Spring