CoreOS is introducing a concept it’s calling Operators, an attempt at infusing containers with more automation and better support for stateful applications.
The idea, which CoreOS is introducing today, resembles the configuration work done by Puppet or Chef — but CoreOS says Operators go further, handling all aspects of an application’s lifecycle.
An Operator is a controller that runs Kubernetes, the container orchestration tool, for a particular application. That is, it uses the Kubernetes API to handle the creation and management of application instances.
The concept is targeted at distributed applications. As the need for more or fewer instances arises, the Operator would be able to react accordingly. This lets the (human) operator set policies in a declarative fashion — that is, telling the network what she wants and letting the Operators execute the specific actions to get to that state.
The hitch in all this is that the Operators are application-specific. In order to properly recover in the event of a failure or reboot, they need to know the ins and outs of the application they’re managing.
So, CoreOS Operators are available only for two applications to start with. One is etcd, CoreOS’ key-value store, a place to store data critical to a distributed system. (Etcd happens to be used by Kubernetes.) The other is Prometheus, the open source monitoring tool from the Cloud Native Computing Foundation.
Photo: freestocks.org, via Pexels