# Overwatch
[](https://github.com/logos-co/Overwatch)
[](https://crates.io/crates/overwatch-rs)
[](https://docs.rs/overwatch-rs)
[](https://github.com/logos-co/Overwatch/actions?query=branch%3Amaster)
Overwatch is a framework to easily construct applications that requires of several independent
parts that needs communication between them.
Everything is self-contained, and it matches somewhat the advantages of microservices.
## Design Goals
- Modularity:
- Components should be self-contained (as possible)
- Communication relations between components should be specifically defined
- Components should be mockable. This is rather important for measurements and testing.
- Single responsibility:
- It is easier to isolate problems
- Minimal sharing when unavoidable
- Debuggeability
- Easy to track workflow
- Easy to test
- Easy to measure
- Asynchronous Communication