The Spring Blog

Engineering
Releases
News and Events

SpringOne Platform 2016 Replay: Putting a SpEL on Spinnaker: Evolving an Expression Language for Continuous Delivery

Recorded at SpringOne Platform 2016.
Speaker: Tomas Lin, Netflix
Slides: http://www.slideshare.net/SpringCentral/putting-a-spel-on-spinnaker-evolving-an-expression-language-for-continuous-delivery-at-netflix

Spinnaker is an open source, multi-cloud continuous delivery platform. It is used by over 90% of cloud deployments at Netflix. The Spring Expression Language (SpEL) is heavily leveraged to fully articulate and extend Spinnaker’s automated deployment pipelines. SpEL is used heavily to interact with pipeline stages and triggers for variable substitution, information retrieval and conditional evaluation. This session will walk through the evolution of Spinnaker’s use of SpEL over two years of active development. We will share the code, features and wisdom gained from helping the Netflix and open source community adopt SpEL. You should attend if you are interested in the Spinnaker platform and the continuous delivery pipelines feature, or wish to learn how to fully harness SpEL for your own tools.

Read more...

SpringOne Platform 2016 Replay: Implementing Config Server and extending it

Recorded at SpringOne Platform 2016.
Speaker: Clint Checketts, Domo.com
Slides: http://www.slideshare.net/SpringCentral/implementing-config-server-and-extending-it

Spring Cloud Config Server is a great tool for getting your application configuration under source control. We’ll start with the quick overview of Spring’s Environment and properties and how config server enhances those, while keeping the same model.

Next we’ll discuss what concerns you need to take into account when rolling out config server like security, encryption, and location of your repositories (if using Git).

Read more...

SpringOne Platform 2016 Replay: An Introduction to Distributed Tracing and Zipkin

Recorded at SpringOne Platform 2016.
Slides: http://www.slideshare.net/SpringCentral/how-to-properly-blame-things-for-causing-latency

Latency analysis is the act of blaming components for causing user perceptible delay. In today’s world of microservices, this can be tricky as requests can fan out across polyglot components and even data-centers. In many cases, the root source of latency isn’t a component, but rather a link between components.

This session will overview how to debug latency problems, using call graphs created by Zipkin. We’ll use trace zipkin itself, setting up from scratch using docker. While we’re at it, we’ll discuss how the model works, and how to safely trace production. Finally, we’ll overview the ecosystem, including tools to trace ruby, c#, java and spring boot apps.

Read more...

SpringOne Platform 2016 Replay: Implementing Microservices tracing with Spring Cloud and Zipkin

Recorded at SpringOne Platform 2016.
Speakers: Marcin Grzejszczak, Reshmi Krishna
Slides: http://www.slideshare.net/SpringCentral/implementing-microservices-tracing-with-spring-cloud-and-zipkin

2015 was the year of microservices. It’s already common knowledge that creating distributed systems is not easy. It’s 2016 and it’s time to show how that complexity can be contained.

Service Discovery and Registry (Zookeeper / Consul / Eureka), easy request sending with client side load balancing (Feign + Ribbon), request proxying with Zuul. Everything is easy with Spring Cloud. Just add a dependency, a couple of lines of configuration and you’re ready to go.

Read more...

SpringOne Platform 2016 Replay: Spring Cloud on AWS

Recorded at SpringOne Platform 2016.
Speaker: Agim Emruli
Slides: http://www.slideshare.net/SpringCentral/spring-cloud-on-aws

Spring Cloud allows to implement cloud native application across different cloud platforms. Spring Cloud has also a dedicated support for running applications on the Amazon Web Service platform. This talk will introduce common patterns and best-practices to run the application the AWS cloud and how to use the platform provided services efficiently.

Read more...

SpringOne Platform 2016 Replay: Developing microservices with aggregates

Recorded at SpringOne Platform 2016.
Speaker: Chris Richardson
Slides: http://www.slideshare.net/SpringCentral/developing-microservices-with-aggregates

The Domain Model pattern is a great way to develop complex business logic.
Unfortunately, a typical domain model is a tangled, birds nest of classes.
It can’t be decomposed into microservices.
Moreover, business logic often relies on ACID transactions to maintain consistency.
Fortunately, there is a solution to this problem: aggregates.
An aggregate is an often overlooked modeling concept from the must read book Domain Driven Design.
In this talk you will learn how aggregates enable you to develop business logic for the modern world of microservices and NoSQL.

Read more...

SpringOne Platform 2016 Replay: Spring Boot at PayPal

Recorded at SpringOne Platform 2016.
Speakers: Fabio Carvalho, Eduardo Solis
Slides: http://www.slideshare.net/SpringCentral/spring-boot-paypal

Although PayPal has been using Spring in production for many years, as part of a goal to move towards micro-services, PayPal recently introduced Spring Boot to its Java framework (known as “Raptor”), which includes RESTful services, Batch and Message Daemon applications. Besides Spring Boot, other Spring projects are used, such as Spring framework, Spring Batch and Spring Integration.

Read more...

SpringOne Platform 2016 Replay: Reactor 3.0, a JVM foundation for Java 8 and Reactive Streams

Recorded at SpringOne Platform 2016.
Speaker: Stéphane Maldini
Slides: http://www.slideshare.net/SpringCentral/reactor-30-a-jvm-foundation-for-java-8-and-reactive-streams

The apparent simplicity of the publisher/subscriber model as exposed in Reactive-Streams can be deceiving. The relatively fast release cycle for libraries in that space is not a myth, concurrency is hard. To keep out undesired side-effects, most Reactive projects have adopted a vertical approach potentially excluding developers from decision-making around execution model or sometimes language.

Read more...

SpringOne Platform 2016 Replay: A lite Rx API for the JVM

Recorded at SpringOne Platform 2016.
Speakers: Sebastien Deleuze, Stephane Maldini
Slides: http://www.slideshare.net/SpringCentral/a-lite-rx-api-for-the-jvm

RxJava is a fully fledged and widely used solution to develop Reactive applications, but some interesting alternatives exist. After an overview of the main Reactive APIs available and of Spring Boot Reactive support, this workshop introduces how to develop Reactive applications using Reactor Core 2.5-a powerful and fast alternative. We will learn how to use Flux (N values) and Mono (single value) types with various exercises. This new API (which is the core of Reactor 2.5) is a game changer in the world of Reactive API on the JVM thanks to its Reactive eXtensions-based API (natively based on Reactive Streams and Java 8) and its unmatched performance.

Read more...

SpringOne Platform 2016 Replay: Operating a High Velocity Large Organization with Spring Cloud Microservices

Recorded at SpringOne Platform 2016.
Speakers: Noriaki Tatsumi, Capital One
Slides: http://www.slideshare.net/SpringCentral/operating-a-high-velocity-large-organization-with-spring-cloud-microservices

Releases are hard for many large organizations with complex systems. Challenges like manual processes, change approvals, compliances, legacy systems, varying deployment targets, and scheduled downtimes prevent companies from releasing fast and frequently. Many of us know that when Continuous Delivery is embraced and microservices architecture is done right, those challenges can become things of the past. Some high performing companies like Netflix have successfully demonstrated the concept. Now it’s your turn. This presentation prepares you to build a microservices architecture that’s not only reliable, resilient, and scalable but also addresses the challenges large organizations typically face.

Read more...