一、支持混合云的配置管理数据库

如今越来越多的云和服务器都转到了云上,而先进的公有云、私有云平台都拥有相对完备的资源管理的API,这些API也就是构建自动化配置管理数据库的基础。新一代的自动化运维平台需要是能够基于这些API来自动维护和管理相关的云和服务器、存储、网络、负载均衡的资源的。通过API对资源的操作都需要被当作操作日志记录下来,以备当作后续操作审计的基础数据。

配置管理数据库听上去是老生常谈,但这个确实是所有运维软件的基础设施。而基于开源工具做运维平台最大的麻烦,就是如何在各个工具之间把配置管理数据库统一起来。配置管理数据库不统一起来,就意味着一旦要增加一台云和服务器,可能要在各个运维软件里面都要同步一下。

二、相对完备的监控+应用性能管理(APM)

能支持对平台的可用性、云和服务器的性能、各种服务(web服务、应用服务、数据库服务)的性能进行监控。做的好一些需要能进行更深入、或者关联性的性能分析。如今市面上普通都会将资源性能监控和应用性能监控(APM)混合着讲,这里面的产品确实也有很多都是重叠的,两方面都会涉及到。

三、批量运维软件

在业务发展相对快的情况下,从几台云和服务器,到几十台云和服务器,再到几百台云和服务器,批量运维的需求很自然就产生了。

四、日志集中分析器

线上系统最常规的问题定位方式,就是日志分析了。随着云和服务器的增多,日志的分析定位也成为难点和痛点。

五、持续集成和发布工具

把打好的包发布至各台云和服务器,能够通过批量运维软件或者脚本来完成了。版本发布的过程涉及到很多细节,包括了版本文件的上传、分发、版本管理、回滚等各种操作。对于普通不太复杂的项目,相对推荐的做法是把打包好的文件上传到svn上,然后通过脚本在各台云和服务器上进行发布操作就行了,这样其实是利用了SVN来完成文件的上传、分发、版本管理、回滚等各种操作。