A technical map of the software.
This document describes (only) the technical aspects of the OSM Ops architecture through a set of interlocked architectural viewpoints. The document is mainly aimed at developers who need to understand the big picture before modifying the architecture or extending the code with new functionality.
Work in progress. Even though this document is a first draft and many sections need to be written, the included material should be enough to gain a basic understanding of the OSM Ops architecture.
We assume the reader is well versed in distributed systems and cloud computing. Moreover, the reader should be familiar with the following technologies: HTTP/REST, Docker, Kubernetes (in particular the Operator architecture), Go, Kubebuilder, IaC/DevOps/GitOps, FluxCD, Open Source MANO.
- Introduction. The basic ideas are summarised here and then further developed in later sections.
- System requirements. An account of functional requirements and system quality attributes.
- Information model. What information the system handles and how it is represented and processed.
- System decomposition. Components, interfaces and modularity.
- Interaction mechanics. Distributed communication protocols and synchronisation, caching.
- Implementation. Codebase essentials.
- Deployment and scalability.
- Quality assurance.