我喜欢设计系统,但不喜欢在设计时“孤立无援”——得不到相关系统的帮助。

如何架构并设计新系统呢?很可能要用到Excel和Visio。这对于整体架构、层级和组成部分来说很好,但对于真正的细节、配置和变更管理来说就没那么好了,更别说确认系统是否符合设计了。这对于搭建系统来说也没多大用处。

业界应当推出一个良好的大型基础设施与服务设计系统。

极少数“云”管理系统能够通过拟订云VPC、VM和其它云功能来进行“设计”,其中包括选择这些组件的各种参数。不过这些系统并没有考虑到在此之上运行的各种服务,比如网页服务器、应用服务器、数据库、缓存等。更别说管理它们的版本、变更和深度配置了。也没有所需的逆向工程、规则引擎、最佳实践等工具。

一个好的设计系统应当能够满足上述所有需求,从物理服务器和常见云端层级,到Nginx、MySQL、CouchDB等服务,再到它们的各种集群,涵盖各种常见的版本,其中MySQL/Percona/MariaDB约有十个版本,PHP约有六个版本,Java约有五个版本,支持它们各自的设计选项、规则和最佳实践。

当然了,设计系统还应当提供模板并进行交叉检查,避免出现在8GB AWS虚拟机上将MySQL的Innodb Buffer设置为16GB这种错误。此外,设计系统还应当强制执行安全和其它规则,以便将Redis作为root运行或向全世界开放防火墙。

一个好的设计系统应当能够对系统进行版本控制并拥有变更控制,从而在现有服务器上发布变更集,让工程师以管理的、可控的和审计的方式进行更新。这对于大多数系统和云来说都很难实现,因为变更、重启、重建方面的规则很多,每个方面都面临着具体到不同云的挑战,很容易便会把事情搞砸。

一个绝佳的设计系统应当能够对任何常见云或物理硬件上的任何现有系统进行逆向工程,创建一个虚拟模型,从而实现系统变更、克隆或重建。此外,还要能够实现真正的云端逻辑迁移。

最后,有用的设计系统应当能够将设计导出至或集成到Cloud Formation、Ansible、Terraform、Cloudify等搭建系统中,从而随着时间推移开通、创建、配置并变更这些复杂的系统。

应该到哪里去寻找这样的系统呢?

我们没有找到这种系统,因此我们自己创建了一个系统,目前已经更新到第五代。现在,我们将其作为OpsStack云运维平台的一部分对外发布。

OpsStack和设计系统能够满足上述要求,涵盖了云端、技术和服务各种常见版本的500多个设计点,提供了模板、规则、审计、集成等功能,未来还会推出更多功能。

这是一个面向未来的设计系统,能够让运维工程师随时随地应对各种规模和类型的真实系统。

如欲了解我们的设计系统和OpsStack运维平台的更多信息,请与我们取得联系。