【原创】关于快速构建任务平台的思考
做了那么多年的运维,积累了很多的心得和经验,也有不少可以使用的脚本,但这些脚本即使能够一键使用,也会存在一些问题:
- 脱离了实际环境和上下文,其实很多人不看代码或看不懂的情况下使用都是恐惧的
- 培养新人的时间和成本是巨大的,而且未经磨砺,即使会用也是一知半解,甚至还会搞出故障
- 代码总是晦涩难懂的,没有良好的可视化界面,也没有文档说明,传授成本是很高的(如技术支持,运维小白)
针对以上不足,我在思考有没有一种可视化的任务执行平台,它有以下特点:
- 前后端分离,既有优良的web可视化体验,又可以有html/markdown的使用说明
- 任务提交到消息队列(分布式更佳),同步/异步处理返回结果,保证高效和健壮
- 任务的编写要支持异构语言(grpc, thrift, restful, celery-format)
花了一天的时间做了一些调研:
- Gearman是一个支持异构的任务分发框架,Instagram有大约200个Python workers使用Gearman来实现任务队列。
- Livebook 或者 Jupyter Notebooks to NBdev 或者 RPA框架