JDK9 was the “big topic” of JavaOne, with Jigsaw getting a lot of attention. Jigsaw might break some code (eg. code that uses internal Sun APIs), but Java modularity will surely help further adoption of Java. Many libraries and frameworks already work together nicely with JDK9. We saw this in a nice demo of IntelliJ where the IDE does a lot of the Jigsaw heavy lifting. Another interesting change, is that Java will have a new release every six months from now on. These releases will also introduce a new numbering scheme, comparable to what Ubuntu has been using. While I applaud the idea to deliver faster, it will definitely come with a learning effort, for developers.
The Good Cop/Bad Cop Guide to Java 9
It was probably one of my favorite talks, because it was both funny and educational.
During the first Java keynote, the FN Project was announced and open-sourced. The FN project is a container native serverless platform that you can use on any platform supporting Docker. This also means that local development becomes very easy, which isn’t always the case with other serverless solutions. It has out of the box support Java, Go, Ruby, Python, PHP, and Node.js I definitely look forward to playing with it.
In the microservices BOF on Monday evening, Chris Richardson presented what must be the perfect summary of the current state of everything going on in the microservices landscape. He created a pattern language for microservice architectures at microservices.io that I find particulary interesting. After Chris, Josh Long proved that he can bring a 45 mins talk in 15 mins with only live coding which was very amusing to watch. JavaOne surely showed us that microservices are still hot!
ACID Is So Yesterday: Maintaining Data Consistency with Sagas
When creating a distributed system with microservices, using a database per microservice is generally seen as a best-practice. A drawback of this approach is that transaction management becomes a big hurdle and ACID (Atomicity, Consistency, Isolation, Durability) is no longer a desirable option. An alternative for ACID, is BASE: Basically Available, Soft state, Eventual consistency. BASE can be realized with sagas. A saga is a sequence of local transactions. Each local transaction updates the database and publishes a message or event to trigger the next local transaction in the saga. If a local transaction fails because it violates a business rule then the saga executes a series of compensating transactions that undo the changes that were made by the preceding local transactions.
Clouds and containers
As expected, a lot of talks focused on cloud deployment and operation. One of the more interesting ones, compared the different container orchestration options and runtimes like Docker Swarm Mode, Kubernetes, Amazon ECS, Mesos/Marathon, Rancher and Triton. The talk demoed some differences between (for example) Docker Stack and Kubernetes, like the scaling of pods vs. the scaling of services. To make a correct choice between all options, it is imperative to take consistency, portability, build integration with CI / CD, community and transferability of skills into consideration. Source code of the comparison is available here.
My talk: 10 Tips To Become An Awesome Technical Lead was scheduled on Thursday in the exquisite Marriott Marquis. From the start, I had a lot of interaction with the attendees and that obviously is very motivating. Thanks a lot for that! I uploaded my slides on Slideshare.
After landing in San Francisco, my colleague Andreas, picked me up at the airport and we went to visit some of the most famous tech companies in Silicon Valley. Silicon Valley, in the southern San Francisco Bay Area of California, is home to many start-up and global technology companies. Apple, Facebook and Google are among the most prominent. The size of some of these companies really was remarkable. Visiting the HP garage, the Android statues etc. was a really great way to cope with jetlag :)
Oracle OpenWorld Benelux Bike Tour 2017
Sunday morning, Oracle Benelux organised a Bike Tour for the Benelux attendees, which I liked a lot. We biked the typical San Francisco route: Fisherman’s Wharf, Fort Mason, the Marina, Golden Gate Bridge, Sausalito and then back by ferry. Three years ago, I did a similar tour, but did not take the ferry back. The ferry was actually very nice: passing Alcatraz and watching the San Francisco skyline pop up.
Social events and parties
There are a lot of parties happening during JavaOne. One of the highlights, for me, was PartyOne 2017 by ZeroTurnaround, Hazelcast, Tomitribe and BainCapital. This was an incredible opportunity to talk to some of the really big names of the Java industry in a very relaxed atmosphere as you can see in the following picture :)
Another fun event, was Oracle Cloud Fest: a concert of Ellie Goulding and The Chainsmokers in the AT&T Park. We teamed up with our Ordina colleagues from the Netherlands to enjoy our last night in San Francisco.