Computer Science and Software Engineering 


I'm passionate about distributed systems, both in theory and in real-world applications. My research in these areas is focused on large scale distributed systems and software architecture, with a specialization in microservice architecture and standardization. 

I am currently employed at Uber as a site reliability engineer, where I work on production-readiness and embed within business-critical microservice teams. 



Production-Ready Microservices 

Recent practice in distributed systems has shifted from building and maintaining monolithic applications to breaking monoliths into microservices, but the standardization and best practices for microservice architecture and interaction between microservices remain largely undefined. After breaking apart a monolithic application or building up microservices from scratch, many engineers are left wondering “now what”?

In Production-Ready Microservices, author Susan Fowler looks at lessons learned from driving high production-readiness standards across over a thousand microservices. She discusses standards that apply to every microservice, and shares strategies for bringing microservices to a production-ready state. A production-ready microservice, she argues, is one that is stable, reliable, fault-tolerant, scalable, performant, monitored, prepared for any catastrophe, and documented and understood.


Microservices in Production

The second chapter of Production-Ready Microservices was adapted into its own small book by O'Reilly and titled Microservices in Production

From the O'Reilly website: 

When engineering organizations adopt microservice architecture, and split their large monolithic applications into hundreds (or thousands) of microservices, one of the biggest challenges they face is the lack of architectural and organizational standardization across their microservice ecosystems.

In this report, author Susan Fowler looks at lessons learned from driving a production-readiness initiative across Uber’s more than one thousand microservices. You’ll explore eight production-readiness requirements that she and her fellow SREs at Uber adopted after countless hours of research inside and outside the company—requirements that apply to every microservice while providing real, quantifiable results: stability, reliability, scalability, fault-tolerance, catastrophe-preparedness, performance, monitoring, and documentation.

This report explains why each of these requirements was specifically chosen.

Providing each microservice team with a set of requirements relevant to their service, and their service alone, simply isn’t scalable given that each microservice is a very small piece of an incredibly large ecosystem. And each standard alone isn’t enough to ensure availability, but together they are. You’ll find out how.

This report is an excerpt of Fowler’s forthcoming book, Production-Ready Microservices, in which she shares standards-based strategies for bringing microservices to a production-ready state.



Coming soon!



"Microservice Standardization"
Microservices Practitioner Summit 2017
January 31st, 2017

"Designing Custom Production-Readiness Requirements"
O'Reilly Software Architecture Conference NY 2017
April 3rd, 2017

"Production-Ready Microservices"
O'Reilly Software Architecture Conference NY 2017
April 4th, 2017

"Building Production-Ready Applications, Microservices, and Systems"
OSCON Austin 2017
May 8th, 2017


"Mitigating Sprawl with Microservices and Containerization"
Velocity NY 2016
September 21st, 2016

"Microservice Standardization"
O'Reilly Software Architecture Conference SF 2016
November 16th, 2016