首先来看下系统层次的维度划分,如图1-5所示。
图1-5 基于系统层次的维度划分
给出如图1-5所示的分层体系图,其实就是为了让大家更好地识别系统的职责和范围,下层干上层的活,或者上层干下层的活都是越界,越界将带来耦合的问题。举个例子,系统服务层由Puppet(或者Chef)配置管理,但网上的很多资料都说Puppet可以用来做发布,也就是说可以做应用服务层的事情。后来我看过几家用Puppet来做应用服务层发布的公司,最后都走不下去,因为应用包的需求变化太大,只靠Puppet编写factor的模式来适应所有的场景,基本上是不可能的,所以说Puppet适合的是系统服务层配置管理。以上所举的例子就是一种越界!