尽管在部署应用时有自动化部署工具会很好,但并不认为是必不可少的。然而,随着组织目睹了自动化的好处,这种观念正在发生改变。实际上,专家说自动化应用部署工具是云中托管应用的必需工具。因为用于本地部署的工具不一定适用于云部署,组织领导在做出在本地还是云中托管的决策时应当考虑需要什么样的工具。
除非准备要做这件事情了,否则组织往往考虑不到怎样把应用弄到云上面去。“云中部署从属于云中运行应用,这整个想法。人们不会说‘我该在云上面进行自动部署吗?’,而只会说‘我该在云上运行它吗?’然后才是‘如何把它弄到云上面去?’”Neovise 的总裁兼分析师Paul Burns说。
部署不仅是事后之想,而且还是令人吃惊的后见之明。组织会发现他们不得不这样做——要么改进现有的脚本和工具适应云端工作,要么采用自动化工具完成工作。***方法是:使用自动化工具。“我认为使用部署工具的确是一项***实践,无论部署在什么地方都是,”voke有限公司的创始人兼分析师Theresa Lanowitz说:“如果你随处都在使用部署工具的话,最终的质量会好很多。”
云中自动化应用部署有两种类型的工具:针对未被设计为云端运行的原有应用的部署工具,以及专门为云开发的新应用部署工具。针对原有应用设计的工具,Burns解释道,会在应用的外围添加一个“封装器”,使其与云隔离。然后该工具再把应用推到云端,不过应用本身并不一定要知道自己在哪里运行,无论是在本地还是在云端都可以,Burns说。
专门针对云建立的新应用部署工具可以“适用于整个栈,”Burns说:“从硬件到应用之间的所有东西都行。”比方说,该工具可以预留必要的服务器,从头开始建设,横跨多台服务器部署应用,然后调整其余的IT环境,包括交换机、路由器、防火墙、存储区域网等。
采用自动化部署工具的好处
部署过程的每一个步骤都自动化,可以带来包括效能在内的显著的好处。“你可以手工做这些事情,但是很耗时。”Burns说:“二者的生产率差异真的很大。”
对于习惯于开发和部署本地应用的组织来说,设置自动部署工具的确给软件开发引进了一个新的步骤,需要一个学习的过程,还要有相关的投入。“但是见效很快,因为每进行一轮开发,你都可以快速地部署到云上然后进行测试过程,”Burns说:“***次把东西设好是个挑战,但这完全是值得的。”
自动应用部署也改进了软件的总体质量。“在整个生命周期(包括部署在内)都使用好的工具,能够把人的干预最小化;能够节省必须等待某人做某事的时间。一旦把人的干预去掉,质量就更加可预测,会变得更好,” Lanowitz说。
选择工具的注意事项
在选择云端自动化应用部署工具时需要考虑几个因素,这很大程度上取决于内部开发流程和策略。Burns说,其中一个需要考虑的因素是变更和配置管理能力。
“该工具能否无需换掉整个应用而仅部分替换呢?有了工具以后可能会遇到的一个陷阱,就是不允许你处理不断发生的变化,”Burns说——如果这就是你选择的方法的话。应用的任何部分发生变化之后,部分工具需要你重新部署整个应用。“如果你能够只改一部分就好了,”Burns:“不过有人会说,‘嘿,忘掉这堆乱七八糟的东西吧……这些工具够快了。整个重新部署一遍又何妨。’”
Burns说,最终还是要取决于你,不过你需要选择支持你内部变更和配置管理策略的工具。
评估工具时另一个需要考虑的因素是,它是否支持多个公共云。“你可以弄到又花俏又好的工具,快速地把应用部署到Aamzon上,但它是不是同样能部署到Racksapce上呢?”Burns说。再一次的,这需要有一些事先考虑,并理解应用部署的未来计划。
Burns建议组织在做出购买决定之前先试一下免费版。不过最终你还是需要购买的。就此而言,他说:“你不需要事先买完所有的东西,而是用到什么就买什么。”