由于自动化的出现,管理员不再专注于单个应用程序和服务器。对于不同程度的自动化,管理员应该做些了解。
自动化不仅仅是数据中心以及虚拟环境的未来,同样是社会的未来。与能够大幅度降低劳动力成本的国家竞争,意味着自动化是各行业、各阶层主要的业务创新。IT并非与众不同,数据中心自动化的大幕才刚刚拉开。
软件定义的网络、API驱动的基础设施以及新协议比如Redfish正在改变我们管理数据中心的方式。管理员在单台服务器上承载单个应用的日子越来越少了。
在IT行业这并非一个新话题。回顾一下VMware在过去几年的收购以及创新足以让我们乃至对软件定义一切运动最坚定的怀疑论者相信——基础设施即代码这一最终目标是非常真实的。
VMware一直在构建混合云产品、自服务计算产品,甚至自己创建了OpenStack。为了得到NSX,VMware收购Niciria并构建了VSAN、VVOL,依靠基于角色的管理部署基于策略的虚拟存储。
软件定义一切是当今虚拟化浪潮中非常真实的一部分。如此频繁讨论的标准化术语已经出现在数据中心,描述不同级别的自动化。
传统数据中心,每台服务器被单独照顾,几乎没有使用到自动化。每台服务器就是一个“宠物”,被关心、爱护。
采用了高度虚拟化、操作系统以及应用自动化的数据中心通常被称为“宠物”数据中心。服务器不再有名字而被单独关爱。这些服务器采用自动化方式创建、删除。
数据中心自动化的下一个阶段是“蚂蚁”数据中心。应用更多地位于容器而不是虚拟机。应用数据与应用本身分离,基础设施的所有方面,从网络或存储脚本化、监控、自动化、编排。很少有公司的数据中心从“宠物”进化成“蚂蚁”。
然而,除“蚂蚁”之外,是更高级别的数据中心自动化。目前还没有一个名字,但我将其称之为“细菌”。这一级别的自动化考虑到了外部环境。使用传感器监测环境变化,为解决温度剧增问题,可能会导致工作负载从数据中心的一端迁移到另一端。
和细菌通过创造富氧环境改变了地球面貌类似,细菌级数据中心能够改变它占据的环境。例如HVAC系统被未雨绸缪触发用于处理预定的工作负载。用于应对系统失败的组件被自动订阅,这样当算法预言节点故障时组件已经就绪了。工作负载在世界各地移动以更好地获取数据、靠近使用它的用户。
细菌级数据中心不仅仅是基础设施的自动化,还包括不断制造麻烦的系统,迫使开发人员不断适应。这将包括自动化A/B测试甚至更多。工厂不仅交付应用而且还生产优秀的应用并持续改进最佳实践。
谷歌可能是唯一一家运营达到细菌级的数据中心。Netflix以及Facebook是与之接近的竞争对手,而且Netflix甚至没有用完它自己的物理基础设施。
真实世界中的SDN
当你考虑如何彻底地自动化一个像Google这样的细菌级数据中心时,你也许会被要求像谷歌那样运营,这个任务可能相当艰巨,因为谷歌必须投入很多技术。但能够达到该级别的数据中心自动化的工具正在越来越多地为人所用。
考虑一下SDN。SDN的核心是实现控制与数据的分离。这是一种奇特的方式,交换机配置是集中控制的而不是必须登录到每台交换机告诉它需要做什么。
在全通径SDN设置中,制器软件进行很多计算,使用交换机以及可用的线路以确保数据顺利到达目的地。全SDN网络具备很多智能,但这并不意味着SDN是一个“全有或者全无”的提议。
我的实验室中有两台现代Supermicro交换机。第一个是SSE-X3648S (48x SFP+ 10GbE/6x QSFP 40GbE) Cumulus Linux Ready交换机,是一台很棒的SDN交换机。第二台是SSE-X3348T (48x 10 Gbase-T 10GbE/4x QSFP 40GbE)。
有很多方式可以与SSE-X3648S交互,而且能够快速响应变化。由于有一个丰富的API,所以与各种应用集成非常方便。实际上,Cumulus提供了与很多从Dropbox到SAP的预集成应用。
SSE-X3348T并非一台Cumulus交换机,对它自动化要采取更原始的方式。可以通过Web接口或者与Cisco IOS非常类似的命令行接口。数据中心自动化可以使用命令行接口。这需要写脚本与交换机通信并命令其执行任务。
最终,脚本成为了访问这些交换机的一个中间件。你在一端构建应用API,在另一端构建一个程序连接交换机并发出命令。SSE-X3348T要比SSE-X3348S笨重,而且针对变化的响应时间也更慢。
这并没有使SSE-X3348T变成一台糟糕的交换机。它能出色地完成工作。在几秒钟内实现交换机的自动化以查看你需要做出的改变完全有可能。对传统基于“宠物”的数据中心乃至大多数基于“牲畜”的数据中心来说,SSE-X3348T完全是可以接受的交换机。
但使用SSE-X3348T无法实现“蚂蚁”数据中心,你需要的是像SSE-X3348S这样的交换机。你需要能够在一秒内做出改变,而且要立刻做出多个改变。你需要一台操作系统完全用于高速、动态环境的交换机。
交换机以外
交换机是一个实际的例子,但并非唯一的一个。存储是另一个能够以自动化方式快速做出改变的组件。企业不会花钱调整LUN大小。这正是VMware开发VVOL的原因所在。同时也是过去几年中存储技术以及标准涌现出来挑战传统模式的原因所在。传统模式下需要向存储管理员提出变更请求并等他们为应用手动分配存储。
现在应用需要能够以自动化方式获取存储以及网络资源,并将这些资源分配给虚拟基础设施,创建虚拟机或容器并配置相关操作系统、应用、配置以及数据。
Docker及其生态系统有助于实现容器自动化。OpenStack正在促进虚拟机自动化并提供一个将存储自动化、网络自动化以及其他基础设施的自动化整合到一起的平台。VMware、微软都在开发它们自己的Docker版本。
为管理物理环境,分布式管理任务小组已经开发了Redfish标准。目前Redfish是一个更快、更好的管理物理服务器智能平台管理接口(IPMI)的替代者。最终的目标是数据中心内的一切——从电源插座到网络化的温度传感器——都可以通过Redfish进行访问。甚至HVAC系统最终也可以通过Redfish进行控制。
有一个适用于所有设备的API。基础设施即代码很简练,但切中要害。并不是可以使用脚本安装,应用本身就是自动化的。只有在创建应用时可以召集所有资源,删除应用时可以释放所有资源,而且在操作过程中能够进行监控才可以称得上自动化。
为解决运营数据中心遇到的问题才开启了自动化进程,存储、网络、虚拟基础设施都是开放的。不要尝试一下子搞定所有问题,先从熟悉的一个方面开始。从小事做起,但尽一切办法坚持下去。
当所有竞争对手的数据中心正在以“蚂蚁”式高效运转时,你肯定不希望公司还处于照顾“宠物”级数据中心的阶段。