Spring Cloud Skipper as a Service Broker

Kubernetes recently added support for the Open Service Broker API. Spring Cloud Skipper, an equally new project, provides a Continuous Delivery platform to deploy Spring Boot based applications to cloud platforms. Eager to play around with both, I combine both topics in the ubiquitous “hello world” demonstration with OpenShift. Open Service Broker API The Open Service Broker API initiative was announced late in 2016 and established a working group to foster an industry standard for provisioing and wiring services into modern cloud native platforms.

HTTP done three ways with Spring Cloud Kubernetes on OpenShift

A brief look at three ways to achieve synchronous HTTP based communication between microservices in an OpenShift environment using Spring Cloud projects. Despite the fact that I now believe messaging based asynchronous communication between bounded contexts (in the context of DDD) is a better way for systems to communicate, there are times when a quick RESTful call is the pragmatic choice. This post takes a brief look at three ways to achieve this when deploying to an OpenShift instance.

Camel Spring Cloud Stream

The new Camel Spring Cloud Stream component allows you to use the programming model and binder abstractions from the Spring Cloud Stream project natively within Apache Camel. In this post we’ll breeze through a simple sample application demonstrating how to use the Camel Spring Cloud Stream component. Introduction I’ll let the official project page describe what Spring Cloud Stream is all about: “Spring Cloud Stream is a framework for building message-driven microservices.

A take on Application Groups with Spring Cloud Data Flow

This post introduces a take on the upcoming application group feature in Spring Cloud Data Flow / Spring Cloud Deployer, allowing multiple streams, tasks and standalone applications to be defined and deployed as an atomic unit. This feature is not implemented in the official Spring Cloud Data Flow or Spring Cloud Deployer projects. The application group feature discussed in this post is implemented as a custom external feature.

Introducing Standalone applications to Spring Cloud Data Flow

Spring Cloud Data Flow currently supports source, processor, sink and task application types in both stream and task definitions. This post introduces the concept of a new ‘standalone’ application type. Allowing standalone (i.e. non Spring Cloud Stream) Spring Boot applications to be defined and deployed via the Spring Cloud Data Flow environment. Why the need for a standalone app? Spring Cloud Data Flow has its roots in composing data pipelines using cloud native microservices, so why would we want a standalone application type?

OpenShift Cluster Up with Docker for Mac

A quick step by step guide to getting a local, single node OpenShift cluster up and running with the oc CLI tools and Docker for Mac. The oc If you’ve been to https://github.com/openshift/origin#openshift-application-platform latetly and gazed at the simplicity of installing a local OpenShift Origin cluster simply by typing oc cluster up, you’ll no doubt want to try that out! However, the current (as of August 21st, 2016) assumption is that you need Docker Toolbox installed for this to work.

SCDF OpenShift: Deploying Maven artifacts with custom Dockerfile

Using Spring Cloud Data Flow Server OpenShift, we will deploy a stream to OpenShift, including a custom Spring Cloud Stream processor application deployed to a local Nexus repository with a custom Dockerfile. This post follows on from the introduction of Spring Cloud Data Flow Server OpenShift using Spring Cloud Deployer OpenShift. If you have not yet read the previous post, it is strongly recommended you do so. Update (2017/02/19): Since this post was written, a 1.

Spring Cloud Deployer OpenShift

A Spring Cloud Deployer SPI implementation which extends Spring Cloud Deployer Kubernetes adding support for OpenShift 3 and with that the ability to accept both Docker and Maven resources. Update (2017/02/19): Since this post was written, a 1.1.0 release of the Spring Cloud Data Flow Server for OpenShift has been released. This release simplified the deployment of the server in an OpenShift environment using Templates and should be considered the recommended deployment mechanism.

Storing XML natively in Oracle with JPA

Storing and querying XML from a database in an efficient way with JPA, can be somewhat of a headache. This post describes how you can can use Oracle’s XMLType to achieve this. Storing XML Assuming you really really have to store the raw XML, there are a few options. Clobbering a seal Probably the easiest and most straightforward way, is to store the document as a String property annotated with @Lob.

Bamboo and conditional execution of Maven tasks

Atlassian Bamboo is a great build server, however, if you, as part of your Git feature branch development workflow come across the situation where you want to skip Maven deployment for your plan branches but currently can’t configure that out of the box, read on… The problem We have some client libraries that are shared across multiple applications and we use Maven for our Java builds. These libraries are brought in via the normal Maven dependency management and therefore are deployed to an internal Nexus Maven repository.