Josh Long is the Spring Developer Advocate (http://spring.io/team/jlong) on the Spring team at Pivotal.
Spring Boot makes building applications and services as easy as can be, but what happens when you start introducing many services, as is common in a microservice-centric world. Many big-web sites like Twitter, Google, Amazon and Netflix have all had to answer these questions, often at great expense. Some, like Netflix, have open-sourced some of their work.
Netflix, by the way, is a huge user of Spring Boot, and we've learned a lot about their use-cases building cloud-native and microservice centric systems.
Spring Cloud is a set of Spring Boot extensions that wrap and adapt important parts of Netflix OSS's components that support key concepts for building microservices: service registration and discovery (with Eureka), reliability patterns (with Hystrix), client-side routing patterns (with Ribbon), etc. Spring Cloud also fills in gaps for things like distributed and journaled configuration.
In this talk, we'll look at how it all stitches together to make building cloud-native and microservice centric systems a breeze!
Alright, so maybe "bootiful" won't ever work, but I tried, and it was worth it too because you're reading this. Spring Boot, the new convention-over-configuration centric framework from the Spring team at Pivotal, marries Spring's flexibility with conventional, common sense defaults to make application development not just fly, but pleasant! Join Spring developer advocate Josh Long @starbuxman for a look at what Spring Boot is, why it's turning heads, why you should consider it for your next application (REST, web, batch, big-data, integration, whatever!) and how to get started.
We'll do a "Boot"-camp and introduce Boot, and then introduce some of the new features since last year including support for JAX-RS, JTA and the embedded Undertow engine from Wildfly.
Oh sure, we've all heard about microservices, but there still seems to be a lot of confusion over what they are (and, just as importantly, what they're not) and how to implement them.
In this workshop, we'll look at:
- building simple services with REST
- letting each service discover each other through service discovery and registration
- handling journaled configuration
- building fault-tolerance and resilience into a microservice architecture by adapting well-known reliability patterns like the "circuit-breaker"
- handling API security with OAuth
- make services available to the client using API gateways
The lab will be conducted as a series of small examples and students should be able to follow along by coding what's shown. All examples are in Git if anybody needs them, but the expectation is that we will end up with several modules that we start from scratch that - taken together - demonstrate a microservice system.