Introducing and Open Sourcing Ambry

Sriram Subramanian
26 min readadvanced
--
View Original

Overview

The article introduces Ambry, LinkedIn's newly open-sourced distributed object store optimized for media storage and serving. It discusses the challenges faced with the legacy media storage system and how Ambry addresses issues of scalability, availability, and operational efficiency.

What You'll Learn

1

How to implement a distributed object store for media content

2

Why Ambry is optimized for both small and large media objects

3

How to achieve high availability and low latency in distributed systems

4

When to consider open sourcing a project like Ambry

Prerequisites & Requirements

  • Understanding of distributed systems and object storage concepts
  • Experience with media storage solutions(optional)

Key Questions Answered

What were the limitations of LinkedIn's legacy media storage system?
The legacy system faced frequent availability issues, was hard to scale, inefficient for small and large objects, had a high Mean Time To Repair (MTTR), and was expensive. These challenges prompted the need for a new solution like Ambry.
How does Ambry ensure high availability and scalability?
Ambry is designed to be highly available and horizontally scalable, targeting a monthly uptime of at least 99.95%. It allows seamless cluster expansion and supports active-active configurations across multiple data centers.
What are the key design goals of Ambry?
The key design goals of Ambry include high availability, low operational overhead, lower MTTR, support for large and small media objects, and cost-effectiveness. These goals guide the architecture and functionality of the system.
What is the significance of open sourcing Ambry?
Open sourcing Ambry allows the community to leverage its capabilities for real-time media content upload and serving. It encourages contributions and feedback, enhancing the system's development and usability.

Key Statistics & Figures

Monthly uptime percentage target
99.95%
Ambry aims for a downtime of no more than 20 minutes per month.

Technologies & Tools

Backend
Ambry
Distributed object store optimized for media content.
License
Apache 2.0
Licensing under which Ambry is open-sourced.

Key Actionable Insights

1
Consider implementing a distributed object store like Ambry for media-heavy applications to enhance scalability and performance.
As media content becomes increasingly critical for user engagement, having a robust storage solution can significantly improve application responsiveness and reliability.
2
Utilize Ambry's design principles to build systems that require high availability and low latency.
By understanding the architectural decisions made in Ambry, engineers can apply similar strategies to their own distributed systems to meet performance goals.
3
Engage with the open-source community to contribute to projects like Ambry, which can enhance your skills and expand your professional network.
Contributing to open-source projects not only helps improve the software but also allows you to learn from experienced developers and gain visibility in the tech community.

Common Pitfalls

1
Failing to adequately test distributed systems in production can lead to severe outages and performance issues.
Many teams overlook the importance of operationalization and testing under real-world conditions, which can result in critical bugs that are only discovered after deployment.

Related Concepts

Distributed Systems
Object Storage
Media Infrastructure
Open Source Software