About me
I’m a software engineer with experience in development and architecture of modern, cloud-native applications, incorporating secure coding and quality assurance practices. My primary background is backend Go development, and my current interests are around observability and building tools for cloud-native applications. For the past few years, I’ve been developing observability tools, contributing to projects like Jaeger and OpenTelemetry.
Besides coding, I enjoy mentoring others, writing blog posts, and giving talks about areas I actively work on.
Experiences
Software engineer working in the Cloud Middleware division as part of the OpenTelemetry Squad, focused on the OpenTelemetry Collector.
I’m a maintainer in the OpenTelemetry project, being part of the Governing Board between October 2021 and October 2023. I’m also consistently among the top developers in terms of project contributions.
I was part of the program committee and/or track co-chair for different conferences, including KubeCon EU 2022 for the “Observability” track.
Keywords: Golang, OpenTelemetry, Observability
Tech lead for the distributed tracing team, setting the engineering direction of what is made available as part of Red Hat products, including Red Hat OpenShift distributed tracing, Red Hat OpenShift Service Mesh, among others. Part of my duties is to understand what Red Hat customers expect from our solutions and work with the open source communities to address those needs, upstream first. This results in new sub-projects, such as the Jaeger Operator, OpenTelemetry Operator, and OpenTelemetry Collector Builder, as well as specific features for Jaeger and OpenTelemetry Collector, especially around areas like resiliency, security and multi-tenancy.
I’m a maintainer in the Jaeger project and approver for the OpenTelemetry Collector, being consistently among the top developers in terms of project contributions.
Since 2017, I’m a regular mentor of interns as part of the Outreachy program, with sponsorship from the CNCF - Cloud Native Computing Foundation.
I was part of the program committee and/or track co-chair for different conferences, including KubeCon China 2020, KubeCon EU 2021 and KubeCon NA 2021, and “The Dev Conf - Connections International (Brazil)” for the “APIs and Microservices” track.
Keywords: Golang, Kubernetes, OpenShift, Cloud Native, OpenTelemetry, Observability, Jaeger
Developer on the Kiali team, focusing on the distributed tracing components. Active in the OpenTracing and OpenTelemetry communities and maintainer on the Jaeger project, having held conference talks and meetups on the subject.
Previously, worked as sole developer on the Hawkular Accounts module, where I had the opportunity to also contribute to the Keycloak project.
I was also one of the sustaining engineers for the JBoss Enterprise Portal Platform, as well as core developer on GateIn, being the lead for the WSRP module.
Keywords: Golang, Java, Hawkular, Docker, Kubernetes, OpenShift, Microservices, Cloud Native, OpenTracing, Jaeger
Events
I enjoy attending conferences and talking about projects that I work on. I had the pleasure to be engaged, as a speaker or otherwise noted, at the following ones.
For a complete list of events, check my SpeakerHub account
KubeCon + CloudNativeCon Europe 2022
Member of the Program Committee for the Observability track at this ConferenceWhere: Virtual and Valencia, Spain
When: 2022-05-16
Kubernetes Community Days Brasil 2022 - Tudo o que você PRECISA saber sobre OpenTelemetry
Speaker at this ConferenceWhere: Virtual from Brazil
When: 2022-01-18
DevOops 2021 - OpenTelemetry Collector deep dive
Speaker at this ConferenceWhere: Virtual from Saint Petersburg, Russia
When: 2021-11-10
KubeCon + CloudNativeCon North America 2021
Speaker and member of the Program Committee for the Observability track at this ConferenceWhere: Virtual and Los Angeles, CA (USA)
When: 2021-10-13
KubeCon + CloudNativeCon Europe 2021
Track co-chair and member of the Program Committee for the Observability track at this ConferenceWhere: Virtual
When: 2021-05-04
Cloud Native + Open Source Virtual Summit APAC 2020
Member of the Program Committee for the Observability track at this ConferenceWhere: Virtual
When: 2020-07-30
FOSDEM 2020 - Distributed Tracing for beginners
Speaker at this ConferenceWhere: Brussels (Belgium)
When: 2020-02-01
Where: Antwerp (Belgium)
When: 2019-11-06
KubeCon + CloudNativeCon Europe 2019 - Intro + Deep Dive: Jaeger
Speaker at this ConferenceWhere: Barcelona (Spain)
When: 2019-05-23
Red Hat Summit 2019 - What are my microservices doing?
Speaker at this ConferenceWhere: Boston, MA (USA)
When: 2019-05-09
Great Indian Developer Summit 2019 - Advanced Distributed Tracing
Speaker at this ConferenceWhere: Bangalore (India)
When: 2019-04-25
Open Source Summit EU 2018 - What are My Microservices Doing?
Speaker at this ConferenceWhere: Edinburgh (Scotland)
When: 2018-10-24
JavaLand - Finding Performance Bottlenecks with Distributed Tracing
Speaker at this ConferenceWhere: Cologne (Germany)
When: 2018-03-14
Open Source Summit NA - OpenTracing: One Instrumentation for Metrics, Logs and Distributed Tracing
Co-speaker at this ConferenceWhere: Los Angeles, CA (USA)
When: 2017-09-11
Other projects
Articles & Blog posts
Deploying the OpenTelemetry Collector on Kubernetes
OpenTelemetry blog, January 2021Securing your OpenTelemetry Collector
OpenTelemetry blog, November 2020Extending the OpenTelemetry Collector with your own components
OpenTelemetry blog, October 2020Building your own OpenTelemetry Collector distribution
OpenTelemetry blog, September 2020Build a monitoring infrastructure for your Jaeger installation
Red Hat Developer and InfoQ China, August 2019A guide to the open source distributed tracing landscape
Red Hat Developer and InfoQ China, May 2019Help! Something is wrong with my Jaeger installation!
Jaeger Tracing blog, January 2019Running Jaeger Agent on bare metal
Jaeger Tracing blog and DZone, December 2018Distributed tracing in a microservices world
opensource.com, September 2018Jaeger Operator for Kubernetes
Jaeger Tracing blog, September 2018Automatic tracing of Java EE applications with WildFly 14 and Jaeger
Jaeger Tracing blog and DZone, September 2018Protecting Jaeger UI with an OAuth sidecar Proxy (revised)
Jaeger Tracing blog, April 2018Getting Jaeger's Java Client internal metrics into Prometheus
Jaeger Tracing blog and DZone, March 2018Protecting the collection of spans
Jaeger Tracing blog and DZone, December 2017Deployment strategies for the Jaeger Agent
Jaeger Tracing blog, October 2017OpenTracing EJB instrumentation
Hawkular blog and DZone, July 2017Protecting Jaeger UI With a Sidecar Security Proxy
Hawkular blog and DZone, July 2017Patents
As part of my daily job, I was fortunate to face problems that required innovative solutions. Some of them could be translated into patents, like the following.
Software tracing in a multitenant environment
Process to configure a span router to direct the payload to the appropriate backend based on metadata from the incoming connection, or metadata from the span itself.Automatic microservice problem detection in enterprise applications
Process to build application profiles based on request-scoped path across distributed systems (such as microservices), so that two similar requests can be compared, allowing an external observer to detect anomaliesProxy with a function as a service (faas) support
Process to allow proxies to execute a set of functions as a service (FaaS) through a FaaS provider, in addition to proxying the request to an underlying upstreamMulti-Tenant Enterprise Application Management
Process to allow existing enterprise applications to use current technologies to achieve multi tenancySecret store for oauth offline tokens
Process to use an API key/secret store backed by OAuth Offline Tokens