Mark Little

Recent Posts

Quarkus: Why compile to native?

Quarkus: Why compile to native?

Quarkus is Kubernetes native, and to accomplish that we’ve spent a lot of time working across a number of different areas, such as the Java Virtual Machine (JVM) and various framework optimizations. And, there’s much more work still to be done. One area that has piqued the interest of the developer community is Quarkus’s comprehensive and seamless approach to generating an operating system specific (aka native) executable from your Java code, as you do with languages like C and C++, which we believe will typically be used at the end of the build-test-deploy cycle.

Although the native compilation is important, as we’ll discuss later, Quarkus works really well with vanilla OpenJDK Hotspot, thanks to the significant performance improvements we’ve made to the entire stack. The native executable aspect Quarkus offers is optional and, if you don’t want it or your applications don’t need it, then you can ignore it. In fact, even when you are using native images, Quarkus still relies heavily on OpenJDK. The well-received dev mode is able to deliver near-instantaneous change-test cycles all due to Hotspot’s rich dynamic code execution capabilities. Additionally, GraalVM internally uses OpenJDK’s class library and HotSpot to produce a native image.

Still, there’s the question: Why have native compilation at all if the other optimizations are so good? That’s the question we’ll look at more closely here.

Continue reading “Quarkus: Why compile to native?”

Share
Jakarta EE is officially out

Jakarta EE is officially out

Jakarta EE is officially out! OK, given the amount of publicity and evangelizing we and others have done around EE4J and Jakarta EE over the past few months you would be forgiven for thinking it was already the case but it wasn’t… until today!

I cannot stress enough how important this is to our industry. The number of Java developers globally is estimated at over 14 million. The Java EE market is estimated at a high multi-billion Dollar value to the industry. Yes there are other languages out there and other frameworks but none of them have yet made the impact Java and Java EE has over the years. Of course Java EE was not perfect for a variety of reasons, but if you consider how much of an impact it has had on the industry given known and debated limitations, just imagine how much it can bring in the years ahead if it were improved.

Continue reading “Jakarta EE is officially out”

Share

REST and microservices – breaking down the monolith step by asynchronous step

A few days ago I had a rant about the misuse and misunderstanding of REST (typically HTTP) for microservices.

To summarize, a few people/groups have been suggesting that you cannot do asynchronous interactions with HTTP, and that as a result of using HTTP you cannot break down a monolithic application into more agile microservices. The fact that most people refer to REST when they really mean HTTP is also a source of personal frustration, because by this stage experienced people in our industry really should know the difference. If you’re unsure of the difference then check out the restcookbook or even Roy’s PhD thesis (it’s quite a good read!)

However, I digress, so back to the rant: My goal is to point people in the right direction and make some recommendations, hence this followup post.

Continue reading “REST and microservices – breaking down the monolith step by asynchronous step”

Share

Different types of microservices?

I’ve been working with some of our teams recently on microservices and how we can assist our customers and communities with best practices and recommendations, whether they’re Java EE developers, Vert.x coders, writing Node.js applications or something else. If you’ve read any of my previous articles then you’ll know I have a few thoughts on microservices, and yet there are many things I still feel I need to get straight in my own head. That’s why I love talking with the teams we have, because they’re always challenging my thought processes and pushing the frontiers of where our industry needs to go.

It was during a few of these conversations that something I hadn’t realised had been bothering me started to become a little clearer. For a long time I’ve been thinking about microservices, how they relate to SOA and distributed systems, DevOps etc. As I mentioned at the start, we have a lot of projects and products which can be used to assist in the development of a (micro) service based architecture. So far, most of what I’ve been reading outside of Red Hat has been about building microservices and applications from collections of them, from scratch. It’s also true to say that has probably been the focus of much of our development work. Greenfield development; re-architecting systems and building up from scratch.

Continue reading “Different types of microservices?”

Share