A technical report for omega
- Omega stored the state of the cluster in a centralized Paxos-based transaction-oriented store that was accessed by the different parts of the cluster control plane (such as schedulers), using optimistic concurrency control to handle the occasional conflicts.
- Expose the store directly to trusted control-plane components
- Encapsulate the application environment, abstracting away many details of machines and operating systems from the application developer and the deployment infrastructure.
- Because well-designed containers and container images are scoped to a single application, managing containers means managing applications rather than machines.
- Shared-state scheduling
Pros:
- The company can has only a small number of OS versions deployed across its entire fleet of machines at any one time,and needs only a small staff of people to maintain them and push out new versions.
- It relieves application developers and operations teams from worrying about specific details of machines and operating systems.
- It provides the infrastructure team flexibility to roll out new hardware and upgrade operating systems with minimal impact on running applications and their developers.
- It ties telemetry collected by the management system (e.g., metrics such as CPU and memory usage) to applications rather than machines, which dramatically improves application monitoring and introspection, especially when scale-up, machine failures, or maintenance cause application instances to move.
Cons:
- not open-source
- expose raw state
- dockers save us a lot of time to build and manage different environments
- the HPC is much different from what we use in school, building and managing HPC needs to combine lots of things together
- Omega shares the state within the clusters, this makes scheduling easier for scheduler, but also means it's difficult to avoid apps to get too much resources
- Google uses its experience to develop Kubernetes, so if possible, use Kubernetes instead.
- Burns, Brendan, et al. "Borg, omega, and kubernetes." Queue 14.1 (2016): 10.
- Schwarzkopf, Malte, et al. "Omega: flexible, scalable schedulers for large compute clusters." Proceedings of the 8th ACM European Conference on Computer Systems. ACM, 2013.