Just got back from DevNexus 2019 (March 6th – 8th in Atlanta, GA) and the title I chose sum up the most frequent themes of this edition !
Security Workshop
During the first day, I could get my hands on Java security, thanks to the workshop hosted by Snyk, Sonatype and IBM; I particularly appreciated the workshop exercises provided by Snyk, that are available on Github (I strongly advise you to spend few hours to complete them, they’re pretty fun to complete : you play the role of the hacker and then try to fix things up ! pretty cool workshop !)
Steve Pool could also explain the danger of serialization, and brought to our attention a project to automate payloads that exploit unsafe Java object deserialization
Sessions
Still on the topic of security, the excellent Nicolas Fränkel hosted a great session about the JVM security manager : most users don’t know if a rogue third party library accesses more than it’s supposed to, and the JVM has the necessary tooling to tighten your application accesses (network, file reflection, etc.) – will you spend the necessary energy to close those security gaps ? (lots of testing is required to make sure you don’t close too much!) – You can check the demos on github here and there.
Micronaut was definitely one of the stars of this edition : no less than 9 sessions were about this reactive framework that looks promising. Breaking news ! a contender was announced during DevNexus : Quarkus, from RedHat
Cloud technologies were not forgotten, far from that : Istio, Knative and Kubernetes in general were mentioned in a lot of talks : some projects, such as riff or fn promise to make the Serverless adoption smoother, but I can’t help but think it ends up being a lot of technology stacked together to understand and run flawlessly …
Get your Java application ready for Kubernetes
I’ll end this post sharing some notes about this presentation I gave.
After warning the audience the necessity to have the cgroups aware JVM options (-XX:+UnlockExperimentalVMOptions and -XX:+UseCGroupMemoryLimitForHeap) set when running Java < 8u191 (they’re on by default in the following releases), I presented 2 new ways to build images for a Java application : CNCF Buildpacks and Jib
We then moved on to Kubernetes with a quick refresher, and I introduced Helm too.
Before closing the sessions with Prometheus metrics and Java libraries to interact with Kubernetes, I presented Skaffold that allows to automate redeployment and Telepresence that allows developers to start a local process and make it part of a remote Kubernetes cluster : great for debugging !
You can find the presentation on SlideShare ; I apologize to the audience for the couple of demos that failed during the session – I learnt my lessons with internet dependent demos (always have a backup plan) !