Videos from my two latest talks about Apache Camel and Developing Java based microservices

Last week I gave two talks at JDKIO 2016 in Copenhagen. I want to thank Javagruppen for organizing this conference and having my come to my home country and spread the love about Apache Camel and fabric8.

We had a group photo of all the speaks and organizers taken at the lovely waterfront in front of the Royal Library.

(its me with the orange bag-pack in the front center left) 

The talks was video recorded and just published to youtube today.

Apache Camel - The Integration Library

Links for video and slides.

Developing Java based microservices ready for the world of containers

Links for video slides and source code.


fabric8 going to America - Microservices day in Atlanta and Minneapolis

I have just got all my flight tickets and hotel bookings confirmed and are set for going to America in early October.

Red Hat is hosting two Microservices days in Atlanta and Minneapolis. They have titled the event:

... which is a title I really like ;)

The event is a full day event, where fabric8 and friends are speaking about the technologies and projects we work on.

James, Claus, and other speakers will discuss topics including: Kubernetes for Java developers, microservices with Apache Camel, microservices workflow, Integrated Platform-as-a-Service (iPaaS), and API-centric architectures.

I will bring along some of my fellow fabric8 colleagues: James Strachan, James Rawlings and Rob Davies from the EU, and we are joined by Christian Posta from the states. And I am sure Christian bring along a number of copies of his recent book: Microservices for Java Developers. And if you ask him I am sure he will also sign the book. I am still waiting for a chance myself to get hand on a hardcopy of the book.

We will be in Atlanta first, where the event take place on Tuesday 4th of October followed by the event in Minneapolis hosted on Thursday 6th of October.

I am glad to be visiting the state of Georgia again, where I spoke at the DevNexus conference five years ago. Minneapolis will be my first visit to the state of Minnesota. Minneapolis got my attention recently when I learned that Metallica played a rock concert there in what I assume is a new/rebuild stadium - feel free to correct me.

I have previously blogged about these kind of events such as last time we went to New York.

Hope to see you at either of the events, and we love to chat, and also share a beer.
You can find more details about the event, venue, and time at the event page.

PS: Yes you would need to register if you are going. The event page has more details.

PPS: If you need accommodation, then we are staying in the Hotel Indigo in Atlanta, and Hilton Garden Inn in Minneapolis. I am not aware of any discount code for hotels.


Giving two talks at the JDK.IO conference in Copenhagen

I am going to the JDK.IO conference next month, to give two presentations. The conference is located in Copenhagen, Denmark, so its a great chance for me to visit my home country. Well it's actually just 1 hour away with public transports from my door.

I am presenting the following two talks, on Tuesday 13th September:
The first talk is spreading the word about the lovely integration library called Apache Camel - readers of my blog may have heard about it before, or know that I have a "little" role in this project.

The second talk is about "the new world of containers" and how Java developers can get onboard developing Java applications (using Spring Boot, WildFly-Swarm, Camel, etc in the examples) in a microservice style that can run on container technology such as docker and kubernetes, all made easier using the fabric8 microservices platform. The abstract of this talk hasn't been updated on the website, but I assume they will publish that in due time.

For my talks I will have some giveaways, such as the lovely EIP playing cards, so that surely alone is worth a ticket ;)


New Book - Microservices for Java Developers by Christian Posta

One of our Camel riders, Christian Posta, recently had his first book published.

Microservices for Java Developers

The book is free of charge if you obtain it from the Red Hat Developer website (registration is maybe needed).

I recently finish reading the book which is the magic number of 128 pages. Luckily Christian mentions the promise of a 2nd edition of the book, so we can get the other half of 128 pages to make it a total of 256.

I really enjoyed reading the book as its very well written and the flow of the book takes you to the content you expect. I really like Christian did take the time to set the scene of microservices not being a magic technical one-stop silverbullet solution. The first chapter is really excellent at setting the scene what to expect from the book, what "microservices" is. Make sure to read this chapter, not only once but maybe a second time as well.

The technical content of the book shows you how to get started with building a Java based microservice using three well known Java frameworks with Spring Boot, WildFly Swarm, and DropWizard. So if you do not have hands on experience with all three of them, then there is something to learn for "old guys" like myself. I also loved that JBoss Forge was used as developer tool to quickly create the REST service for the WildFly Swarm example. This tool is a hidden gem. 

The last two chapters covers distributed microservices on a clustered platform such as Kubernetes. This is a new world to many, and this book has great content how to approach and get started. This world moves very fast and since the book was published, then I would suggest to use minikube or minishift to run a clustered kubernetes as that is much easier than the Red Hat OpenShift CDK. Also the fabric8 Maven plugin to build the docker image is currently being much improved (version 3.x) so it requires a lot less configuration. 

Is there anything less good about the book? Yes Apache Camel was not mentioned or covered in the book. We can only cross our fingeres for the 2nd edition to include our beloved Camel ;)

Christian - congratulation on the book. You surely know how to write, we have already seen this in your great blog posts in last couple of years covering the Microservices topics. Looking forward to the 2nd edition.


Video of Panel Discussion about Java Past, Present and Future with great experts in the Java world

In March 2016 I was speaking at Riga Dev Day 2016 about fabric8 Camel microservices for Docker & Kubernetes.

Later that day there was a Panel Discussion with some of the speakers talking about Java Past, Present and Future. Somehow I got myself into that panel (they may had a cancellation or something, and just grab the Camel guy for the empty seat). Thank you Riga Dev Day for having me on the seat along side great minds like Anton Archipov.

The video of that panel is now posted online on youtube.

It was great fun to be on the panel, and if I remember then I am pushing for Java to be smaller, slimmer and has less footprint so its more ready for tomorrows/todays world of container based platforms.


Apache Camel 2.18 - Highlights of what is coming

The Camel riders are busy working on the upcoming Apache Camel 2.18 release. As we update the release notes on the fly, its a way of quickly looking at what is coming.

I just wanted to do a quick update here in the summer what we have done so far with the highlights in short form. More elaborate details to come when a release is getting closer and the documentation improves.

Java 8
Apache Camel 2.18 is the first release that is requiring Java 8 as the runtime. I have previously blogged about that. So all the build and source code has been changed to compile as Java 8, and we have started using Java 8 code style with lambdas in new code (not in existing code as we backport fixes to older versions).

Netflixx OSS
We have new components that integrate Camel with the Netflixx OSS stack such as Hysterix and Ribbon.

which is integrated with the Hystrix dashboard.

And there is also a Zipkin component for distributed message tracing.

Service Call
We have introduced a service call EIP to abstract and making calling external services from Camel easy. The idea is that you can call a remote services the same way regardless where the service is hosted. Camel will lookup the service from a service registry of choice, such as from kubernetes, openshift, cloud foundry, zuul, consul, zookeeper or whatever.

Spring Boot
Running Camel on Spring Boot has been improved.

Camel is now available in the Spring starter website.

.. and Camel is now also on the WildFly Swarm website as well.

Camel now exposes a health indicator if spring boot health actuator is enabled

All Camel components and data formats now provide auto configuration options (with documentation) you can configure from tooling (we are pondering how to do similar for endpoint options).

And its all auto generated from the source code, so when a new option is added its automatic included in the next release.

Component documentation
We are in the process of migrating the Camel documentation from wiki to ascii docs files that are included in the source code, so we can generate a new website and documentation. This also allows us to keep the documentation automatic up to date from the source code. Huge thanks to Andrea Cosentino who has patiently done most of the migration, which is a labor intensive process.

New components
And as usual there is a number of new components. Currently we have 8 new for you.

Apache Camel 2.18 is targeted to be released after the summer vacation, around September timeframe.


Video presentation — fabric8 Camel microservices for Docker & Kubernetes

I gave a presentation at Riga Dev Day 2016 which was recorded and posted online on youtube today.

Title: fabric8 Camel microservices for Docker & Kubernetes

The slides for the talk is available on slideshare here.

The abstract of the talk is as follows:

The so-called experts are saying microservices and containers will change the way we build, maintain, operate, and integrate applications. This talk is intended for Java developers who wants to hear and see how you can develop Java microservices that runs in containers.

This talk uses Apache Camel as the Java library to build microservice architectured applications. At first we introduce you to Apache Camel and show how you can easily get started with Camel on your computer, and build a microservice application that runs on CDI and Spring-Boot.

The second part of this talk is about running Camel (or any Java project) on Docker and Kubernetes.

We start covering the basic concepts you as a Java developer must understand about Kubernetes. Then we show how to migrate Java projects to build as Docker images and deployable on Kubernetes, with help from fabric8 Maven tooling.

You will also hear about how to make your microservices scalable and distributed by leveraging the facilities that Kubernetes provides for truly distributed services with load balancing and location independence.

You will also see how to manage your container using the Kubernetes CLI and the fabric8 web console.

At the end we have a bit of fun with scaling up and down your Camel application to see how resilient the application is, when we kill containers.

This talk is a 50/50 mix between slides and demo.