划向云计算迁移的很多IT组织目前也正在向SOA(面向服务架构)迁移,即便它们可能了解也可能不了解SOA。听我把话说完:私有云和公有云通常需要依靠API来发挥其功能,这正是典型的Web服务,而Web服务的基础,就是SOA。
问题是,很多制定并实施云计算的决策者们并没有很好地了解SOA。尽管他们在默认地构建一个SOA,但是却既没有采取适当的步骤,也不了解SOA的各部分之间是如何互操作的。如此一来,他们最后会搞出一个SOA怪物来。在这样的架构中,云计算解决方案的某些方面就必须要详加设置才能运行。
这个SOA怪物什么样?它就是一大堆的云服务,这些服务构成了各种核心应用或者核心进程。这些服务可提供一些核心功能,包括存储和计算,可用于复合应用或者复合进程。然而,由于没有一个很好的体系架构,所以这些服务既难以变更,也难以管理。
在SOA怪物中,不存在治理,不存在身份管理,不存在服务管理,也不存在服务发现。这就像是在驾驶一辆不带轮子的印地赛车一样,虽然性能十分强大,但却极有可能瞬间冲出赛道,酿成悲剧。
这样的悲剧对于云驱动的SOA怪物来说应该是可以避免的,比如说利用规划,比如说在架构方面未雨绸缪。然而这段时期以来大多数正在定义云计算应用的人更关心的似乎是云部署的速度而不是架构。事实上,很多人正在考虑用云计算来取代SOA。他们完全不了解SOA的价值,或者说,完全没有意识到架构和细致规划的重要性。
试猜想,很多这样的SOA怪物还会继续存在下去。真希望愤怒的用户们有一天会举着火把和刀叉把这些怪物们彻底赶走。