purpose: Determine what are the tradeoffs for running CoreOS as a hosted platform for Zetta.
- Tools in the stack
- CoreOS - Stripped down linux.
- systemd - Linux Service System
- etcd - Distributed key value store. Things like service discovery, and distributed configuration would be stored here.
- docker - Containerization software.
- zetta - IoT Platform.
- Logging - journalctl logging in systemd
- Benefits
- Updates use Omaha protocol for full OS updates instead of package by package updates
- All applications are containerized
- Systemd for service management
- etcd for distributed key value store
- fleet integration allows deployment across a cluster
- Downsides
- Docker support ending? Low probability of this happening.
- Stability? CoreOS uses three branches for distributing their OS. Stable, Beta, Alpha. Stable branch has seen minimal issues from my research.
- Documentation? CoreOS has had thorough docs, and I have been able to answer nearly all my questions on CoreOS using them.
- Deployment Workflow
- CloudFormation
- published docker container
- Service description file for docker
- Cluster Discovery
- discovery.ectd.io used as public endpoint for clusters
- Service needed to establish leader of a fleet cluster
- Used in cloud-config file
- Cloud Config
- File given to each CoreOS box
- Machine Meta Data
- Sidekick processes
- Processes that monitor containers on fleet. Update on the status of the process and any other relevant information.