Uber Open Source: Catching Up with Celina Ward, M3 Observability Engineer

Molly Vorwerck
15 min readadvanced
--
View Original

Overview

The article features an interview with Celina Ward, an M3 Observability Engineer at Uber, discussing her journey into engineering, the open-source M3 metrics platform, and her experiences presenting at major conferences like KubeCon. It highlights the importance of open-source contributions and the challenges and rewards of working in a large-scale observability infrastructure.

What You'll Learn

1

How to contribute effectively to open source projects

2

Why understanding user needs is crucial for software development

3

How to navigate the challenges of a microservices architecture

Prerequisites & Requirements

  • Basic understanding of open source software principles(optional)
  • Familiarity with software engineering practices

Key Questions Answered

What is the significance of M3 in Uber's engineering organization?
M3 is Uber's distributed, in-house metrics platform that plays a crucial role in monitoring the health of its entire stack. It enables engineers to instrument their services and applications with metrics, allowing for durable storage and querying of time series data, which is essential for effective observability.
What challenges did Celina face when joining Uber's Observability team?
Celina faced a steep learning curve due to the complexity of Uber's microservice-based architecture and the need to familiarize herself with various open source tools. This included understanding how different services interacted and the volume of observability data generated, which was unprecedented in her experience.
How does Uber balance internal and external requests for M3 updates?
Uber's M3 team prioritizes meeting the needs of both internal and external users, recognizing that their success is rooted in addressing the requirements of both groups. This collaborative approach ensures that M3 remains robust and valuable for all stakeholders involved.
What advice does Celina give to engineers considering open sourcing their work?
Celina emphasizes the importance of genuine interest in the project and the need to empathize with users. She advises engineers to consider why their work is interesting to them and to be prepared to engage with the community to make impactful contributions.

Technologies & Tools

Backend
M3
M3 is used as Uber's distributed metrics platform for monitoring the health of its engineering stack.
Database
M3db
M3DB serves as the time series database at the core of M3, specifically designed for storing and querying metrics data.

Key Actionable Insights

1
Engage actively with the open source community to enhance your project's visibility and usability.
By listening to user feedback and incorporating their suggestions, you can significantly improve your project's relevance and functionality, ensuring it meets real-world needs.
2
Familiarize yourself with the architecture and tools used in your organization to navigate challenges effectively.
Understanding the intricacies of microservices and the associated open source tools can help you adapt quickly and contribute meaningfully to your team's goals.
3
Prioritize collaboration between internal teams and the open source community when developing software.
This approach not only enhances the product but also fosters a sense of community and shared ownership, leading to better outcomes for all stakeholders.

Common Pitfalls

1
Ignoring user feedback can lead to a disconnect between the software and its intended audience.
When developers do not engage with users, they miss out on valuable insights that can guide improvements, ultimately affecting the software's success and adoption.

Related Concepts

Open Source Software Development
Microservices Architecture
Observability In Software Engineering