数据中心自动化利与弊分析
在it行业,尤其是在数据中心架构、建设和维护方面,我们可以通过构建新的东西并看着它们成功运行来获得满足感。在数据中心的所有领域都是如此,从网络到存储,我们喜欢构建东西。在我们建立了一些东西之后,我们将开始优化它。在这里做一些调整,在那里做一些更新,并监控一切以确保其正常运行。在大多数情况下,这最终会涉及到一定程度的自动化。
在it行业,尤其是在数据中心架构、建设和维护方面,我们可以通过构建新的东西并看着它们成功运行来获得满足感。在数据中心的所有领域都是如此,从网络到存储,我们喜欢构建东西。
在我们构建了一些东西之后,我们将开始优化它。在这里做一些调整,在那里做一些更新,并监控一切以确保其正常运行。在大多数情况下,这最终会涉及到一定程度的自动化,这也是工具箱脚本和开发发挥作用的地方。我们编写一些代码来自动执行手动任务,将它们投入生产,然后转移到下一个目标。
理想情况下,我们应该尽可能多地检查代码中的错误,但是大多数时候,开发人员并没有真正检查错误,这可能会带来巨大的灾难。
让我们看一个真实的例子。我们有一个虚拟服务器模板(用于自动服务扩展),当网络应用程序的负载增加时,它将被用来构建更多的网络服务器。这很简单——我们只需要能够按下一个按钮(或者自动执行)。
假设我们已经部署了程序来调整负载平衡器并添加新的web服务器。我们真正要注意的是确保这些服务器上应用程序堆栈的稳定性和正常运行。我们已经编写了一些代码,并将它们放入初始化脚本中,这样每个web服务器都可以下载一些必需的变量,这样它就可以正常运行了。这是另一个简单的问题。我们可以自动化anrsync或scp流程。我们可以非常快速方便地测试这段代码。
但是,如果我们在这段代码中没有检查足够的错误,我们可能会发现整个应用程序在半年内开始间歇性崩溃。可能是文件名改变了,或者服务器被替换了,或者有人更改了authorized_keys文件。这些都是无害的变化。当这些网络服务器启动时,它们将无法访问它们需要的内容,因此它们将无法正常运行。
在这种情况下,应该发生一些事情:服务器通过snmp或电子邮件显示错误,并且不打开web服务。这个问题将是显而易见的,也许一些调试可以解决它。但是,如果服务器继续打开所有服务并加入负载平衡组,它可能无法正常工作。
根据遇到的实际问题,这可能意味着新服务器上的所有服务都已经崩溃,这可能使服务、内容和应用程序监控框架无法检测到攻击。服务器可能看起来不错,但事实并非如此。
如果影响相对较小,可能会更加令人不安,这意味着当此模板生成的新服务器启动时,将再次出现错误报告,或者只有少数用户会受到影响,因为已经运行的服务器没有同样的问题。这些问题很难找到。我更喜欢看到这样一种情况,十几个服务器被启动,一个错误被发现,一个警报被发送,然后应用程序被破坏。与可能破坏数据库的损坏的快速应用程序相比,容量较低且运行较慢的应用程序更容易被接受。
这个问题的关键在于,看似微小的自动化工作可能会在很长一段时间内完美无缺,但最终会带来损害。自动驾驶仪是一项伟大的发明,但是我们仍然希望人们驾驶汽车来保证事物的正常运转。对于简单的自动化任务,我们应该检查尽可能多的错误,因为这和自动化本身一样重要。
作者的一些自动化脚本有25%的功能代码和75%的错误检查和故障处理。当自动化脚本有问题时,我们应该将调试信息输出到stdout。当在启动脚本中与cronjobs或mail-e结合使用时,调试到stdout可以带来简单的通知步骤。
自动化确实能带来极大的满足感。我们可以建立一个机智的框架来简化一些工作,然后看着它工作。但是就像乐高汽车一样,如果我们不注意它,它最终会撞到墙上。最好从一开始就计划好。
上一篇:富士康将与谷歌展开有关机器人合
下一篇:珠三角部分大型企业对机器人需求
标题:数据中心自动化利与弊分析 地址:http://www.zgshouguang.cn/article/2241.html