Slides from JavaOne 2017 sessions

And yet another wonderful JavaOne conference has finished. Five days packed with incredible content and networking opportunities, for which yours truly along with my “partners in crime” Vicente Gonzalez and Julio Palma were a small part.

This post collects the links to the presentation materials for each of the three sessions that we delivered during JavaOne 2017, on an alternative site so they remain available in case the conference site stops allowing to download them. Hope you enjoyed them and find them valuable.


Build your own Application Performance Monitoring (APM) solution with ELK and JMX – part 2

This post is the second (and last) part in this short series about building an Application Performance Monitoring (APM) solution with open source tools.

In part 1, we were able to build a simple solution to collect log statements, business metrics and JVM performance metrics (Logstash, JMX), and to retrieve data out of the store where they are indexed (Elasticsearch).

In part 2, we will configure a rich dashboard to easily visualize the information stored in Elasticsearch.

We will start from what we completed in part 1: Pet Clinic application is ready and exposing logs through logging framework to a text file and publishing metrics out of the JVM through JMX. Logstash is parsing logs and filtering out interesting JVM metrics sending them to Elasticsearch, which is up and running and providing results to queries sent via browser using the REST API.

Continue reading “Build your own Application Performance Monitoring (APM) solution with ELK and JMX – part 2”

Build your own Application Performance Monitoring (APM) solution with ELK and JMX – part 1

Application Performance Monitoring is one key area to implement in projects to ensure proper and smooth operations from day 1. APM solutions provide development and operations team with near real-time insights on how the applications and services are performing in production, allowing for proactive tune of services, as well as for early detection of possible production issues.

There are many APM solutions in the market, with diverse range of capabilities, from the inner workings of the JVM (threads in use, memory pools, garbage collection and what not) to user experience in web and mobile applications.

APM solutions can also be expensive, which causes that many projects, small or short-termed, simply cannot afford one.

In this series of two blog posts we will show how to leverage FOSS tools to build an APM solution, which although more limited in capabilities, may be of use for small projects.

We will be leveraging ELK – Elasticsearch, Logstash, Kibana -, the Java Management Extension library (JMX) and the Spring Framework support for JMX to easily expose application data out of the JVM.

NOTE: The following guide is written on ELK stack 5.2.1. Other versions may need slight adjustments to commands and/or configuration.

Continue reading “Build your own Application Performance Monitoring (APM) solution with ELK and JMX – part 1”

Slides from OpenSouthCode 2016 session – Accenture DevOps Platform – open source continuous delivery

Today I’ve had the enormous honour and pleasure to present during the OpenSouthCode conference, held in Malaga, my own city, where I’ve been so fortunate to live and work since 1999.

I’ve been speaking about something I’m very proud to be a small part of: the Accenture DevOps Platform. An open source, continuous delivery platform with many unique aspects like fast stand up, easy maintenance, extensibility and resilience. Did I already mention it is open source? As it is incredibly brilliant!

I’d like to publicly thanks, once again, to the organisation for giving to me this unique opportunity of divulge about this piece of technology in my own city, and to the participants for their questions during and after the session.

For those that could not attend, or are just curious about what the Accenture DevOps Platform is, I’ve uploaded the slides to Slideshare here. They are written in English.


Slides from JavaOne 2015 CON6489 session – Smart Open Spaces Powered by Low Cost Computers

The slides for my conference session with Julio Palma (@restalion) CON6489 in JavaOne 2015 can be found online here:

They are also available from the conference session catalog here (no permalink, search for CON6489):

Smart Open Spaces Powered by Low-Cost Computers - Jorge Hidalgo y Julio Palma v1.0

Maturing the Continuous Delivery Pipeline

A bit old but a good read anyway!


The Maturity Model is a useful assessment tool for understanding your organizations level of Continuous Delivery adoption. Many organizations today have achieved what is needed to move from Level-1 (Regressive) to Level-0 (Repeatable), which is a significant accomplishment and as a reader of this blog post, you’re either about to start your journey of improvement or are already underway.

Continuous Delivery Maturity Model Continuous Delivery Maturity Model

The Maturity Model

The advice for organizations wanting to adopt Continuous Delivery is ever more abundant, but for organizations that started adoption some time ago, the guidance on how to mature the process is still sparse. In this article, we explore one continuous improvement methodology that may help your organization mature its’ Continuous Delivery process.

Humble and Farley outline maturity Level 0 (Repeatable) – as one having process which is documented and partly automated.1 For this to be true, an organization must have first classified its’ software delivery maturity, identified…

View original post 1,592 more words

Recording available for JavaOne 2014 CON2013 session – Code Generation in the Java Compiler: Annotation Processors Do the Hard Work

Directly from the pen of the happy panda, the recording for my JavaOne 2014 session on ‘Code Generation in the Java Compiler: Annotation Processors Do the Hard Work’ is finally available for replay at Parsleys site.

The direct link to the session recording is: