Notes on jBCNConf by Toni Tassani
The Barcelona Java User Group (JUG) is a very active community and we are lucky to have among us one of their founders (David Villacampa) and one their core members and organizers (Adela Tort).
The jBCNConf (http://www.jbcnconf.com/2016/) is the conference organized by the Barcelona JUG and this year was held on 16th to 18th of June. eDreams was there sponsoring the event and I had the opportunity to attend as an speaker. I’ll try to share what I could see there.
Your experience in this kind of events depend mostly on the session you choose, and you may be attending a very different conference than any of your colleagues because there are simultaneous sessions. I will try to explain my experience.
Many keynotes and speakers were RedHat engineers, like last year, so you need to keep an eye to get an objective view of the Java and JVM reality.
I cannot say anything first hand about the workshops held on Thursday 16th because I wasn’t there but these hands-on, 2 hour, practical sessions received very good feedback.
The opening keynote was delivered by Simon Ritter, talking about 21 years of Java and the evolution of the OpenJDK. He provided some key events from 1983 until today, from the birth of Linux, to the evolution of Netscape, passing through the strive of our beloved “a patchy web server” (Apache). Java was born on 1995 and the Java Community Process on 1999. In 2007 Oracle acquired Sun and in 2011 Java7 was released, 5 years after Java 6. Java is still healthy, with its Java Community Process.
Some sessions were around Microservices and Continuous Deployment and I attended a few. There were some discussions about the right size of “micro” in microservices, the nature of immutability, the configuration in “Immutable Servers” and different strategies for testing. Different cluster orchestrators were presented and discussed, like Mesos, Kubernetes and Swarm.
Something Viktor Farcic said is that continuous delivery pipelines should not be relayed on visual tools but in something that can go into version control language. “If not in version control, it doesn’t exist”.
James Strachan, creator of Camel and Groovy presented Fabric8, a framework meant to provide Continuous Delivery with containerised microservices that uses Docker, Kubernetes and Jenkins. Kubernetes comes from the way Google manages clusters. He also talked about Prometheus and event metrics alerts and about a tool called Zipkin, to trace calls between microservices. Other interesting topics were chatOps and the use of Histrix to add circuit breakers (in case a service goes astray).
A Schibsted company, Finn-Travel, spoke about how they deploy 42 times a day. They build their tests with Spock and Geb, writing the tests in Groovy. They talked about how they modularized their monolith and how they implemented feature tests (end-2-end) mocking the dependencies, and Module tests (per component) with Geb (killing their Cucumber).
Spock, Karma, Browserstack, Embedded Tomcat, were other technologies discussed, as well as Spinnaker to manage their Continuous Delivery Pipelines.
Others talked about API Management suggesting interesting things about API discovery, API descriptions and API contracts. RedHat boys had two sessions talking about their product apiman (days before RedHat announced the acquisition of 3scale).
The session “Epic Battle: Zombies vs Mutants” was a very interesting one. Tomasz Dubikowski was talking about those tests that once made sense but eventually they are maintained but they don’t provide any value: they are testing something that is no longer valid. Those are considered “Zombies tests”, and should be dead. The idea of “mutation testing” is to run the tests with variations of the code base at bytecode level. If the test still passes, it’s a symptom that it’s not testing anything valid. They discussed the tool pitest.
A great session on Docker and Kubernetes was held showing the cluster live using a cluster of Raspberry PI: Amazing (https://ro14nd.de/kubernetes-on-raspberry-pi3)
Only a session on Scala, several sessions from RedHat people, few sessions on functional and the evolution of the language, were other observations I had.
Last session about OpenSource, with Mauricio Salatino and Maciej Swiderski was more philosophical, but interesting for me.
Apart from the session I also enjoyed conversations with the other companies that were looking for candidates. It was particularly interesting the conversation with Zalando and Ocado that were discussing how they struggled (and still struggle) to break their monolith, create microservices and move them up to the front-end.
It was a great experience participating in this event and I hope I’ve been able to share some of the learnings I took.