在Azure中运行多个Python脚本(使用Docker?)

时间:2016-03-01 10:23:02

标签: python azure docker queue

我有一个使用Azure队列的Python脚本,我想在Azure基础架构中轻松扩展它。我正在寻找最简单的解决方案

  • 在尽可能管理的环境中运行Python脚本
  • 以集中方式查看正在运行的脚本及其输出,并轻松扩展通过GUI运行的脚本数量或非常易于使用的内容

我此刻正在看Docker,但这对于我想要实现的极其简单的任务来说似乎非常复杂。已知有哪些方法可以做到这一点?如果我可以扩展队列中的项目数量,那么额外的好处就是如果我们能够手动控制并行数量就可以了。

3 个答案:

答案 0 :(得分:0)

你应该看看Azure Web Apps,它也支持Python。 这将是一个可管理和可扩展的环境,并且还支持background tasks (WebJobs)中央日志记录。

Azure Web Apps还提供免费的开发和测试计划。

答案 1 :(得分:0)

根据我的经验,我认为Azure上的CoreOS可以满足您的需求。您可以尝试参考文档https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-coreos-how-to/以了解如何开始使用。

CoreOS是一个Linux发行版,用于将Docker作为Linux容器运行,您可以通过SSH客户端远程访问putty。对于使用Docker,您可以通过Bing搜索关键字Docker tutorial,以快速学习一些足以运行Python脚本的简单用法。

答案 2 :(得分:0)

听起来像是在描述像微服务架构这样的东西。从这个角度来看,Docker是一个很好的选择。我建议您考虑使用诸如Apache MesosDocker Swarm之类的业务流程框架,这将允许您在VM群集上运行容器,并能够轻松扩展,部署新版本,回滚并实现负载平衡。 Mesos支持的调度程序(Marathon和Chronos)也有Web UI。我相信你也可以像你描述的那样实现某种触发缩放,但这可能不是现成的。

这似乎有点像学习曲线,但我认为特别值得一提的是,一旦开始考虑部署新版本(可能的回滚),监控失败甚至整合Jenkins和持续交付等事情的复杂性。

对于Azure,部署和配置Mesos或Swarm集群的一种简单方法是使用Azure Container Service(ACS)来完成为您配置集群的所有艰苦工作。在此处查找其他信息:https://azure.microsoft.com/en-us/documentation/articles/container-service-intro/