Operator Pattern
Паттерн Operator предназначен для создания инфраструктурных продуктов через декларативные описания.
К примеру, сам Kubernetes во многом является реализацией этого паттерна для своих объектов.
От контроллера отличается тем, что контроллер — это функциональный объект. Чаще всего Оператор строится при помощи контроллеров (по крайней мере в Kuberenetes).
От IaC отличается тем, что оператор не только описывает инфраструктуру декларативно, но и реализует жизненный цикл создания-управления-уничтожения этой инфраструктурой.
К примеру, Terraform описывает инфраструктуру как код, но применяет это изменение человек.
AWS CloudFormation как описывает инфраструктуру как код, так и применяет это изменение, откатывает и т.д. Тем не менее, в отличие от операторов Kubernetes он все еще не отслеживает весь жизненный цикл объектов и применяется только по необходимости.
Операторы Kubernetes отслеживают и реализуют полный жизненный цикл управляемых объектов, так например оператор, реализующий Open Application Model сам применяет, обновляет и т.д. ресурсы, которыми он управляет за пределами кубернетиса.