Open Source Friday with Mirrord - run local processes in the cloud!
10 Sep 2024 (1 month ago)
- Mirrord is an open-source tool created by MetalBear that allows developers to run local processes within a cloud environment. (8m38s)
- Mirrord aims to solve the challenge of testing microservices within the context of a whole application, a task that becomes difficult when applications become too large to run locally. (9m8s)
Mirrord's Creators and Background
- Mirrord was created by two developers who experienced the challenges of testing in the cloud firsthand while working at a previous company. (12m53s)
- AEL, a developer with almost 15 years of experience, primarily in backend development for early-stage startups, is the co-founder of MetalBear, the company that builds Mirrord. (7m43s)
Mirrord's Architecture and Functionality
- Mirrord consists of two components: the M layer (client) which runs locally, and the MD agent which runs on the cloud. (15m37s)
- When Mirrord is started, it injects itself into the local process as a library and starts the MD agent in the cloud on the same node as the targeted pod. (15m57s)
Mirrord's Capabilities
- Mirrord can be enabled in VS Code and, when debugging, injects itself into the bin that VS Code runs. (22m25s)
- Mirrord intercepts remote traffic and sends it to the local process, enabling debugging of requests from environments like staging. (23m36s)
- Mirrord can intercept outgoing network calls and execute them from the remote pod's context, including DNS, allowing access to resources like the reviews microservice. (24m41s)
Mirrord's Agent and Deployment
- The Mirrord agent runs as a Kubernetes job and executes low-level logic, such as reading files and sending network requests. It runs on the same node as the targeted pod, allowing for efficient execution and scalability. (29m32s)
- The Mirrord agent is transient and cleans itself up after the session ends, preventing the cluster from being populated with unused agents. (32m47s)
Mirrord's Limitations and Use Cases
- Mirrord is primarily intended for staging environments and not production due to its potential impact on the environment, especially when testing mutating logic. The paid version offers additional security features for stricter control. (34m35s)
- Mirrord is not recommended for low testing or performance testing because it does not accurately simulate real-world conditions. (42m3s)
Mirrord's Community and Development
- Mirrord is open source and welcomes contributions from the community, particularly for issues marked as "good best new" or "good new issues" on their GitHub repository. (45m5s)
- The development team behind Mirrord is actively seeking feedback from users, encouraging them to share their experiences and suggestions for improvement. (46m4s)
Mirrord's Paid Version and Features
- The paid version of Mirrord adds the MD Operator, which provides orchestration, collaboration features, security features, management, and governance. (37m6s)
Mirrord's Reach and Support