GraalVM – why a different VM?

Tags

, , , ,

If you read press around Java you’ll have come across references to GraalVM. So what is it and why would I use it?

There is an excellent podcast from Software Engineering Daily that digs into the subject and can be found here and here. But let draw out some of the reasons as to why GraalVM is interesting.

Whilst multiple languages on top of the JVM is nothing new, such as Scala , Kotlin, and Groovy to name a few, GraalVM through the use of its Truffle framework takes it a new level. Truffle provides an Abstract Syntax Tree (AST) which describes the language syntax (more here about AST). The net result is any language can be described and therefore executed using the GraalVM. To this end the GraalVM team have got Node and JavaScript ported in addition to defining existing languages using this approach. Not all of this is proven robustly in production, but some of the languages VM certainly is, for example Twitter have been using the Scala port.

Because the languages are described through the same framework this means the work to optimise the VM performance becomes a lot easier.

It would be easy to assume that using the framework would mean the execution of languages using this mechanism would slow be slower. But, Truffle works by translating the code to standard byte code before execution, so ‘ported’ languages are now no less efficient than Java come runtime.

There is an interesting bi-product of this model, that at runtime with the right object exposures it is possible for multiple languages to interact with the same object easily, no JNI or dropping to the lowest common denominator such as a JSON+REST. This does raise interesting possibilities for thick client solutions or polyglot monoliths!

Probably one of the biggest pay offs for using GraalVM and its ability to run multiple languages is that the base Container images can be simplified as you don’t need different container images. This makes the work of patching and testing configurations of these container a lot simpler as the permutations will drop, particularly for organisations that have wholehearted embraced polyglot micro-service ideas.

One common reason for changing implementations of the JVM particularly at the more performance sensitive use cases (checkout Azul as an example) is how the JVM is optimised and the JIT algorithms and processes particularly the Garbage Collector work (checkout this list of JVMs. For example GraalVM will provide better performance for processes that less heap hungry than Oracle’s JVM.

It is interesting that Oracle are investing in a new VM when it wasn’t that long ago that JRockit was wound down. Given the legal dispute between Oracle and Google (see here) the new VM would give Google a means to escape from the copyright breaches and retain support for Java.

Could RedHat’s absolute commitment to OpenShift put them into difficult waters?

Tags

, , , , , , ,

As a middleware (to use a fading term) or technical architect, I preferred not to get too involved in the detailed OS layer considerations when it can be helped (my Infrastructure Architect colleagues will always know more about NICs, port bonding, kernel versions etc etc than I ever will) and why I prefer to work with PaaS over IaaS.

But there is an undeniable trend where having a greater understanding of the OS is necessary, this is because we’re seeing PaaS expanding to cover code abstracted solutions such as Oracle’s Integration Cloud, Mulesoft, Dell’s Boomi etc. down to every things as code in the form of Terraform, Kubernetes, Docker and of course  microservices.

So what does this have to do with OpenShift?  Well to apply those heady aspirations we’ve had with middleware of “I can build my solution and run it on my platform anywhere” means in the world of microservices I need to find a common denominator on which I can be portable.  This comes in the form of Kubernetes and Docker and we’ll probably see service meshs in due course (Istio, Linkerd etc). Docker obviously brings the need to understand the OS albeit not at the level of bonding network connections, but still a good level of OS knowledge to do things properly. Over the last couple of years there has been a fair bit of work to achieve this with the inertia of Cloud Native Computing Foundation (CNCF), Open Container Initiative (OCI).

Continue reading

Podding the Tunes

Tags

, , , , , , , , ,

I track a lot of podcasts as I find that they can be can be a great way to catch up with news and ideas or listen to interesting discussions. This is great when travelling (if you can block out the ambient noise with some good earphones) when sitting and working isn’t so easy (standing on a commuter train for example).

My podcasts come in a couple of categories, tech related, business / thought leadership – think Freakonomics, Malcolm Gladwell’s Outliers, Harvard Business Review, BBC Radio 4 documentaries and so on, and then music. The music podcasts are great fun because you can relate to what is being said in so many ways, the insight into the music you love, discovery of artists you’d not heard or considered, and a reminder of a song or album you’d not listened to for a while and get that jolt of ‘oh, yes I remember how wonderful that song is’ and you you end up roaming through (your) music from a different perspective.

I thought this would be something to share. Some of these are well known to any music fan, other less obvious …

  • Sound of Cinema – one of a couple of BBC programmes about music for film, this is the more ‘high brow’
  • Soundtracking with Edith Bowman – BBC Radio presenter and more interview based and more influenced by film promo circuit
  • Classic Album Sundays – Primarily recordings of the introductions to Classic Album Sunday events where an album is introduced. The ones I’ve heard are well researched and provide some interesting insights. Worth listening to then, playing the album afterwards
  • Life of a Song – A Financial Times podcast (yes FT does cover the arts). The presentation comes across as an attempt to be rather academic and high brow (which for me can irritate), but the content can be pretty interesting. This are fairly short podcasts
  • Mastertapes – An intermittent podcast, but really good. This takes the musician and really gets into the details of an album, the context in which it was recorded as a conversation. ~You could think of this as Radio version of the Classic Albums programmes.
  • Radio 4 on Music – A grouping for documentaries that Radio 4 make available. As a result the subject matter can be very diverse. But as you would expect from the BBC, production quality is very high and typically well researched.
  • Sound Opinions – A couple of well known music journals chat about news of the day, maybe recent releases and then a segment of the show focusing on a theme, such as the top 50 albums of the year.
  • Deezer Trailblazers – Interview with people that have had strong influence in the dance music scene from the founder of Mute Daniel Miller to Gary Numan.  If you know about the artist already, you’re not going to get nuggets of gold in terms of new insights, but the love of music and references to songs will get you spinning off into your collection at interesting tangents. The podcasts made available so far I think where first recorded about 2 years ago.
  • Cover Stories – this pod cast is relatively short and kind of takes its idea from a 7″ single (remember the vinyl 45?). Two halves with each half a chat about a song and the various cover versions. There is a cleverness in the simplicity of this podcast as this feels like you’re sat hanging out with friends chatting about a song.
  • Twenty Thousand Hertz – Not so much music in the conventional sense,  more about sound. The two parts of the THX Deep Note is fascinating (yes film again, but it is an iconic sound)

In addition to these some artists such as Counting Crows have their own podcasts. Perhaps another story for another day.

 

Oracle Podcasts – Beer & Pizza

Tags

, ,

We have been fortunate enough to participate an ArchDev podcast about meetups – https://oracledevs.podbean.com/e/pizza-beer-and-dev-expertise-at-your-local-meet-up/

The podcast talks about the differences between the meet-ups and events such as conferences, what we try to get out of a meetup and the effort put into arranging them.

For more info about the meetup I help organise checkout out https://www.meetup.com/Oracle-Developer-Meetup-London/events/249256400/

We’d also like to thankyou Jurgen Kress and his team for all the behind the scenes work that means the London Dev Meetup events can happen and ensure all are suitable feed and watered.

Oracle Code London – Presentation & Periscope Interview

Tags

, , , ,

Whilst in London Wednesday to present Microservices in a Monolith World at the Oracle Code London,  I also participated in an interview streamed via Periscope.  The interview can be seen at https://www.pscp.tv/w/1jMKgqBrwYyJL 

Not only was this interview captured, my entire presentation is available on YouTube …

Implementing Oracle API Platform Cloud Service

Tags

, , , , , , , , ,

After months of labour, the arrival of new family members for a couple of the authors the Implementing Oracle API Platform Cloud Service book as finally been published. The book has been included into Packt’s Expert series so, earns(?) the privilege of having photos of the authors on the cover.  The book can be purchased directly from Packt (go here) or from book retails such as Amazon (here).

 

B08683_front-Coverx600

It has been an interesting experience. Whilst working as part of a team of four authors lightened the writing load, a lot more energy went into communication so things were lined up. If you want a challenge, why not read the book and try to work out who wrote which chapters!

Continue reading