A few of the platform engineering projects I've built or led — mostly developer platforms and the service infrastructure underneath them.
Adobe Service Runtime
Adobe Service Runtime (ASR) is an implementation of the Microservice chassis pattern. It provides mechanisms to handle cross-cutting concerns like logging, health checks, metrics, and easy access to foundational Adobe services via connectors.
ASR primarily supports Java and Spring, with a few libraries available for Python.
Why is ASR required?
- Provide a collection of components, tools, and best practices (12 factor) which enable rapid development of four-9s-capable, innovative, and secure services at Adobe by product and research teams.
- Enable a container-first deployment system.
My role in this project
- I'm the hands-on lead engineer/architect/product manager for this suite of libraries.
Impact of ASR at Adobe
- Using ASR has saved 4–6 weeks of setup time for new Java projects at Adobe.
- Secure BOM for every Adobe service that uses ASR.
Service Registry Wrapper APIs
At Adobe we use ServiceNow as the service catalog store. This store has all the metadata for a given service — GitHub repo, owner info, cost centers, endpoints, API docs, and more.
Every microservice onboarded onto Adobe's Developer Platform has an entry in ServiceNow. During onboarding of a new service to Adobe's IDP, the platform can create a Service ID if it doesn't have one. For services that already have an ID, we need to validate whether the user is using the right Service ID.
To cater to these needs, we created a wrapper around ServiceNow — a Golang-based gin-gonic service.
Other projects
A few more I've worked on, briefly:
- VeraLIS: Laboratory Information Systems
- SPRODA: Slice Product Data for Advertising
- Grandcentral
- Provisioner
- Glider