The Spring Blog

Engineering
Releases
News and Events

SpringOne Platform 2016 Replay: Orchestrate All the Things! with Spring Cloud Data Flow

Recorded at SpringOne Platform 2016.
Speakers: Eric Bottard & Ilayaperumal Gopinathan
Slides: http://www.slideshare.net/SpringCentral/orchestrate-all-the-things-with-spring-cloud-data-flow

What do things like Minecraft, a light bulb and your music library have in common? Well, nothing really. Until you come up with this crazy idea to link them together. This is where application orchestration comes in.

In this session, you’ll learn how Spring Cloud Data Flow allows easy composition of microservices together. As the spiritual successor to Spring XD and the natural sidekick of Spring Cloud Stream, Data Flow has been thought as a way to deploy, run and manage loosely coupled apps in the cloud.

Read more...

Spring Cloud Task 1.2.0.M1 is now available

We are pleased to announce that Spring Cloud Task 1.2.0.M1 is now available via Github and the Pivotal download repository. Many thanks to all of those who contributed to this release.

Spring Cloud Task 1.2.0.M1 offers the following features:

This is the first milestone for the 1.2.x line of Spring Cloud Task. Intended to continue the integrations required for Spring Cloud Data Flow, this release provides the following new features:

  • Better DataSource integration between task and batch - This release makes configuring the DataSource used by the task/batch integration easier.

  • Allows an external process to update the external execution id - Prior to this release, the external execution id (the execution id for the underlying platform) had to be updated by the task itself. In some use cases, this is not possible. This release exposes the ability to update the external execution id outside the scope of the task itself.

  • Allow the user to configure a prefix for the task tables - Similar to how Spring Batch allows a user to configure a prefix for the batch repository tables, Spring Cloud Task now exposes the ability to configure a prefix for task repository tables as well.

  • Add support for parent execution ids - In complex use cases, the ability for one task to launch multiple other tasks is very common. Spring Cloud Task has already supported this via partitioned batch jobs launching worker nodes as tasks. This release provides the ability within the task repository to associate the parent child relationship that occurs from that capability (both in the batch use case and with raw tasks).

  • Upgrade to Spring Cloud Camden SR5 - This release is compatible with Spring Cloud Camden’s recent SR5 release.

Read more...

Spring Cloud Pipelines 1.0.0.M3 Released

On behalf of the Spring Cloud team it is my pleasure to announce a new milestone release of Spring Cloud Pipelines - 1.0.0.M3.

What’s new?

Apart from some bug and documentation fixes it’s providing an out of the box support for blue green deployment on Cloud Foundry (both for Concourse and Jenkins)! This is how we do it.

Production deployment

When you click deploy to prod

  • we’re renaming the current instance of the app e.g. fooService to fooService-venerable

  • we’re deploying the new instance of the app under the fooService name

  • now two instances of the same application are running on production

When you click on the Complete switch over step:

  • we’re deleting the old instance (fooService-venerable)

Important
Remember to run this step only after you have confirmed that both instances are working fine!
Read more...

This Week in Spring - February 7th, 2017

Welcome to another installment of This Week in Spring! We’ve got a lot to cover this week so let’s get to it.

Read more...

SpringOne Platform 2016 Replay: I can't believe it's not a queue: Using Kafka with Spring

Recorded at SpringOne Platform 2016.
Speaker: Joe Kutner, Confluent
Slides: http://www.slideshare.net/SpringCentral/i-cant-believe-its-not-a-queue-using-kafka-with-spring

Your existing message system is great, until it gets overloaded. Then what? That’s when you should try Kafka.

Kafka is designed to be resilient. It takes the stress out of moving from a Spring monolith into a scalable system of microservices. Since you can capture every event that happens in your app, it’s great for logging. You can even use Kafka’s distributed, ordered log to simulate production load in your staging environment.

Read more...

SpringOne Platform 2016 Replay: Architecting for cloud native data: Data Microservices done right using Spring Cloud

Recorded at SpringOne Platform 2016.
Speaker: Fred Melo
Slides: http://www.slideshare.net/SpringCentral/architecting-for-cloud-native-data-data-microservices-done-right-using-spring-cloud-64889916

Microservices are definitely offering best practice guidance for those architecting cloud native applications. The ability to quickly create small services that can be individually deployed, configured and scaled, as building blocks for scalable, highly distributed and fault-tolerant systems has been causing every company to rethink on how to architect modern systems and making Spring Boot shine in popularity.

Read more...

SpringOne Platform 2016 Replay: Spring For Apache Kafka

Recorded at SpringOne Platform 2016.
Speakers: Gary Russell
Slides: http://www.slideshare.net/SpringCentral/spring-for-apache-kafka

With the advent of the Kafka 0.9+ pure Java client, the Spring Team has created the new spring-kafka project with familiar Spring abstractions such as the KafkaTemplate, message listener container and POJO listener annotation @KafkaListener.

In this talk we’ll take a look at the features of the project as well as the new version (2.0) of spring-integration-kafka which is now based on the Spring for Apache Kafka project.

Read more...

SpringOne Platform 2016 Replay: Spring and Big Data

Recorded at SpringOne Platform 2016.
Speaker: Thomas Risberg
Slides: http://www.slideshare.net/SpringCentral/spring-and-big-data

In this talk we will discuss ways to develop big data pipelines using Spring technologies. Learn how we can stream data into HDFS, run a Spark or a Hive job and extract the results from HDFS or Cassandra for presentation. The solution we develop will be a cloud-native pipeline that we will be able to run both locally and in the cloud.

The presentation focuses around the code for our solution and we also cover how to set up a test environment both locally and in the cloud. While building our solution using Spring Boot and Spring for Apache Hadoop we’ll cover how this app can be integrated in a larger context such as Spring Cloud Stream and Spring Cloud Data Flow. We will also discus configuration solutions for running our app in a variety of environments.

Read more...

SpringOne Platform 2016 Replay: Building resilient and evolutionary data microservices

Recorded at SpringOne Platform 2016.
Speaker: Vinicius Carvalho
Slides: http://www.slideshare.net/SpringCentral/building-resilient-and-evolutionary-data-microservices

How can we build data pipelines that are resilient to change? Data usually outlives application code, and we have to be prepared to deploy streams that can cope with the evolution of that data that is in motion. This talk will discuss the approach and supporting patterns to write resilient data microservices with Spring Cloud Stream and Spring Cloud Dataflow. We will discuss the role of a centralized Schema repository, and how can we work with different data models and protocols to achieve schema evolution. A centralized schema service will also help us understand what kind of data is currently being served and consumed by the different parts of our distributed system.

Read more...