Distributed Tracing with Spring Cloud Sleuth and Spring Cloud Zipkin

I was inspired by OpenZipkin contributor and Spring Cloud Sleuth and Zipkin contributor Adrian Cole’s epic talk introducing Zipkin to write this particular post. There’s so much epic stuff in that talk, so once you’re done reading this, go watch that!

Advances in technology and cloud computing have made it easier to stand up and deploy services with ease. Cloud computing enables us to automate away the pain (from days or weeks (gasp!) to minutes!) associated with standing up new services. This increase in velocity in turn enables us to be more agile, to think about smaller batches of independently deployable services. The proliferation of new services complicates reasoning about system-wide and request-specific performance characteristics.


Developing Spring Boot applications with Kotlin

Update: we are introducing dedicated Kotlin support in Spring Framework 5.0, see this blog post for more details.

Just in time for Kotlin 1.0 release, we are adding support for Kotlin language to https://start.spring.io in order to make it easier to start new Spring Boot projects with this language.

This blog post is also an opportunity for me to explain why I find this language interesting, to show you a sample project in detail and to give you some tips.

What is Kotlin?

Kotlin is a language created by JetBrains. It runs on top of the JVM (but not only), it is an object oriented language that includes many ideas from functional programming. I won’t go too much in details about all Kotlin features (PDF, HTML), but I would like to highlight the ones I find the most interesting: