onyx

FYI: alternative Onyx :onyx: chat is at <https://gitter.im/onyx-platform/onyx> ; log can be found at <https://clojurians-log.clojureverse.org/onyx/index.html>
2018-10-10T21:37:41.000100Z

I'm thinking through deployment options for a long running streaming app -- I understand onyx is agnostic in general about deployment, but I would like some help thinking it through. The lack of a master makes this a bit hard for me to get my head around. Due mainly to existing infrastructure, my plan is to uberjar my project, package it into a docker. Upon deployment, the docker(s) will call my main function that will launch some peers. This seems straightforward and simple. The part I'm trying to think through is how to deploy the actual job. For instance, if I update the code of a streaming job so that the catalog now calls a new function -- how should I make sure that all my peers have been redeployed with the new code before submitting the new job. Do people end up usually creating some kind of orchestration layer for starting / stopping / monitoring / healing and upgrading jobs? I see the resume points system provides primitives that could be used to do this type or orchestration. Thanks and I'm really enjoying onxy BTW