Member of the Hibernate team.
Data platform architect for the JBoss portfolio at Red Hat. Particularly involved in the Hibernate portfolio as well as Infinispan.
Spec lead of Bean Validation and JPA expert group member.
Red Hat has been exploring serverless (aka FaaS) through the Fabric8 Funktion project. It has been long due for us to get serious on the subject. We are turning all of our libraries into services starting today. This is going to be a multi year effort but we are committed to it.
We thought hard and long about which service to start with. In our performance lab, we realized that the slowest and most expensive part of serverless functions was CPU branch misprediction. In a serverless approach, you want to squeeze as much operations per CPU cycle as possible. Any misprediction has huge consequences and kill any of the mechanical sympathy effort we put in libraries like vert.x.
In our experiments, we found that the optimal solution was to get rid of
if branches in serverless functions.
We are proud to introduce IF as a Service or IFaaS (pronounced aye face).
Your code changes from:
[ ... ]
One thing you don’t hear enough about in the microservices world is data. There is plenty of info on how your application should be stateless, cloud native, yadayadayada. But at the end of the day, you need to deal with state and store it somewhere.
I can’t blame this blind spot. Data is hard. Data is even harder in a unstable universe where your containers will be killed randomly and eventually. These problems are being tacked though in many fronts and we do our share.
But once you have dealt with the elasticity problem, you need to address a second problem: data evolution. This is even more pernicious in a microservices universe where:
Recently, the team has been discussing improvements around Hibernate (ORM) usage within cloud based apps and microservices. In particular the fundamental assumption that things will break regularly on these platforms and that services should be resilient to failures.
Some of the Hibernate team members all gather together next week in Paris.
If you are around, come join us for a Questions & Answers session at the ParisJUG. It’s Tuesday December 2nd 2015 at 19:30. We will discuss anything Hibernate, no slide, simply come with your questions on:
Hibernate Validator / Bean Validation
past, present, future
I am ending my day totally exhausted but happy. Today we organised Red Hat 4 Kids in the Red Hat France office.
Every year at Red Hat, we organise a Red Hat Week to celebrate our culture. And in good open source community way, each local office expresses how it pleases this event. This year, I proposed to do a Devoxx4Kids for the children of French Red Hatters.
Red Hat 4 Kids (aka a copy paste of Devoxx 4 Kids) initiates children from 6 to 12+ to the notion of programming. Sharing our knowledge to teach them what daddy or mummy does. Sounds cool.
[ ... ]
Writing queries using complex types can be a bit surprising in Hibernate Search. For these multi-fields types, the key is to target each individual field in the query. Let’s discuss how this works.
Hibernate ORM, IntelliJ IDEA and Mac OS X have been a pretty tough combination to work with since our move to Gradle. It’s not exactly anyone’s fault but the combination of
gradle / IntelliJ integration
JDK 6 running IntelliJ IDEA
Hibernate ORM advanced use of Gradle and of custom plugins
made for a long and painful journey.
These days are over. Steve found the last blocking issue and you can now import Hibernate ORM natively in IntelliJ IDEA.
Hibernate Search sends the indexing requests in the post transaction phase. Until now. The JMS backend can now send its indexing requests transactionally with the database changes. Why is that useful? Read on.
Sanne is going to do a virtual JBoss User Group session Tuesday July 14th at 6PM BST / 5PM UTC / 1PM EDT / 10 AM PDT. He is going to talk about Lucene in Java EE.
He will also describe some projects dear to our heart. If you want to know what Hibernate Search, Infinispan bring to the Lucene table and how they use Lucene internally, that’s the event to be in!
Today let’s discuss the interaction between multitenancy and the current session feature.
Multitenancy let’s you isolate
Session operations between different tenants.
This is useful to create a single application isolating different customers from one another.
The current session feature returns the same session for a given context, typically a (JTA) transaction. This facilitates the one session per view/transaction/conversation pattern and avoids the one session per operation anti-pattern.
[ ... ]