Watchtower-Course-Project

ADR-0002: Use Node.js for WatchTower Backend

Context

WatchTower is a centralized observability system that captures:

The system requires:


Decision

Use Node.js as the backend runtime for WatchTower.


Rationale


Alternatives Considered

Go

Rejected due to skill overhead needed to proficiently write in Go and increased backend complexity.

Python

Rejected because of potential compilation overhead and less natural live event handling.

Java/Spring

Rejected due to architectural and technical overhead.


Consequences

Positive

Negative


Conclusion

Node.js was selected due to it being able to efficiently handle asynchronous telemetry ingestion and live operational updates, key specifications for a Watchtower.