阿里巴巴中台架构的建设原则——走进《企业IT架构转型之道》系列2

简介:

如何选择共享服务中心的框架

上一篇提到,阿里巴巴以共享服务体系来作为其“中台”战略的核心支撑,那么应该选择什么样的框架构建这个共享服务体系?

我们先来简单回顾一下淘宝平台“服务化”历程。发展到2007年,淘宝成为了一个由超过500人的技术团队共同维护的WAR包(几百兆字节),大小功能模块超过200个,飞速发展的业务(当时的淘宝基本上几个月业务就会翻倍)与传统的应用架构碰撞带来了下面几大问题:

1)团队间协同成本高,业务响应越来越慢。超过200个功能模块的包,必然分项目进行开发以及维护,这样每次系统功能升级后新版本上线会出现各种冲突以及不一致的情况,需要耗费大量的成本来沟通协作。

2)错误难隔离,应用复杂程度已超出人的认知负载。200多个功能模块中核心模块如用户、商品、交易等比较稳定,一些前端页面交互、广告展示等非核心模块则可能每天都有新的发布。错综负责的模块杂糅在一起导致每一次的发布都蕴藏着巨大的风险,淘宝历史上发生过几起因为非核心功能设计不合理而导致整个业务受到影响的事件,整个平台给人一种“牵一发而动全身”的感觉。

3)拓展成本高。当系统出现业务瓶颈时,由于所有的功能模块都打包在一起,无法单独对负载较高的功能模块进行拓展,只能将整个完整的应用拓展而带来额外配置的消耗。

以上问题驱使淘宝团队于07年开始进行架构的改造,最终选择了“去中心化”服务框架(共享服务体系)来搭建整个中台,关于为什么没有选择当时盛行的“中心化”服务架构(ESB模式下的SOA架构)除了在系列一中提到几点外,还有下面两点考虑:

第一,由于服务调用方式不同,ESB模式下的SOA架构所需的网络带宽要求非常高,对于具有一定量级用户的应用来说,采用ESB方式将会导致在网络设备上的超大额投入;

第二:企业服务总线承载了越来越多的服务路由压力,这是必然会采取集群部署的方式进行负载均衡以提供可用性,却因此也埋下了巨大的隐患,当业务访问峰值时,假设每个总线的负载达到80%,日常运行中不会产生问题,但是如果一台服务器出现了故障将会施压给其他即将满载的服务器,这就要求所有的服务器状态都非常“健壮”,否则在业务高峰时就会被各个击破从而导致企业服务总线全军覆没,给整个平台带来灾难性的后果。

阿里巴巴集团目前的分布式服务框架HSF(Hign Speed Framework,也有人戏称“好舒服”)支撑着2000多个应用的运行,以服务化的方式构建整个应用体系的同时也保证了在高并发的情况下,服务依然保持高稳定、高效交互以及强大的拓展能力。

共享服务中心的建设原则

按照ESB模式下的SOA模式,很多人认为服务中心是一个固化的概念,每个服务中心提供某项服务后便一劳永逸,实际上大部分企业的SOA都是作为一个项目,项目结束后服务中心基本也就固化了,当有新的需求产生时,服务中心如果不能满足,就不得不产生新的“烟囱”。实际上服务中心应该是一个充满生命力的个体,是一个承载业务逻辑、沉淀业务数据、产生业务价值的平台,随着公司的业务不断发展进化。

下面介绍在阿里巴巴中台架构建设的实践中总结出来的一些原则:

1.高内聚、低耦合原则——高内聚是指同一个服务中心内的服务模块应该相关性、依赖性很高,而服务中心之间应该隔离性较大,尽可能追求低耦合。

2.数据完整性原则——与上一条原则一脉相承,让业务相关的数据统一起来,尽可能让数据模型统一,为以后的大数据建设做好基础。

3.可运营性——这里的可运营性包含2层含义,一是指能快速满足上层业务的需求,同时利用业务不断滋养平台,二是指共享服务中心这个平台的可运营性,数据模型统一之后可以较低成本的引入大数据技术,让数据来源、数据分析、数据业务价值自然行程闭环,所以通过服务中心引入大数据来产生业务价值也是服务中心建设原则之一。

4.渐进性原则——该原则是从降低风险和实施难度的角度出发,有些人可能会觉得服务中心是基础建设,所以从一开始设计了太多的原则从而导致项目周期延长,数据过于分散也会产生数据库性能以及分布式事务的问题,其实服务化架构就是一种敏捷实践,我们推荐小步快跑而不是推倒重来,通过真实的业务需求锻炼出高价值高可靠的共享服务。

共享服务最基本的目的就是要把普通的服务能力升级为组件化服务并对服务本身加以管理,我们可以依次按照下面来实践共享服务平台的搭建:

第一、找到合适的服务化对象。这个对象要能够涵盖各种各样的业务流程、业务数据又要便于封装。为了保持对现有系统的兼容性,目前阿里巴巴集团的共享服务中心的功能支持粒度都是API,但是并不意味着只能把API作为服务对象,也还可以有其他粒度的服务。

第二、建设对象服务化的基础设施。有了服务话对象之后,需要制定制定相关的服务组件规范以及对应的服务治理平台与工具,以便对服务进行封装。一个完整的服务应该包括的基本功能有服务的描述元数据、服务注册与发现机制、服务访问控制与安全策略、应用服务portal、服务依赖与运维管理、服务SLA协议、服务消费者的管理与支持工具、服务化辅助工具支持、服务调用分析与报表、服务成本核算与服务能力变现、文档与开发工具支持。

第三、服务化实施。阿里巴巴中台把推进服务化实施过程化分为三个阶段:API as Service, Product as Service, Solution as Service。API as Service 解决了存量API的服务化问题,Product as Service是基于API初级服务的深加工,服务更面向场景,更专业化。这两个阶段实现了阿里巴巴从基础能力到业务能力的共享开放,Solution as Service的目标是让各种业务场景和解决方案在共享服务平台上达到最大程度的复用,让业务的拓展是基于服务的方式而不是基于代码的方式。

当然业务中台是前端应用所需服务的提供者,中台的需求需要前端应用来提供,两者需要在对接过程中相辅相成,共同发展。在阿里巴巴业务中台过去的几年发展中出现了多种与前端应用协作的模式:建立业务中台对前端核心业务的紧密沟通机制,及时、准确地了解核心业务需求;建立分歧升级机制;岗位轮转推动真正换位思考;业务持续沉淀及业务共建等。

内容摘录于《企业IT架构转型之道》
作者:钟华(古谦)
阿里巴巴中间件首席架构师,15年中间件领域行业经验。对传统企业IT建设和互联网架构都有较为深入的理解,有着扎实的理论基础和丰富的实战经验,多次作为总架构师协助大型传统企业打造业务中台项目,为企业实现“互联网+”转型提供了科学的发展方向和强有力的技术支持,项目涉及政府、制造业、金融、交通、媒体等多个领域。

image

本章主要介绍了共享服务体系建设的原则,接下来将分篇介绍共享服务体系搭建的过程、技术选择、组织架构以及金融行业的应用实践等。敬请期待!

来源:阿里金融云
原文链接

相关文章
|
2天前
|
运维 Cloud Native 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【5月更文挑战第9天】 随着数字化转型的浪潮席卷全球,企业正迅速采纳云原生技术以实现敏捷性、可扩展性和弹性。本文深入探讨了云原生架构的关键组件,包括容器化、微服务、持续集成/持续部署(CI/CD)和DevOps文化,并分析了这些技术如何帮助企业加速产品上市时间,提高运营效率,并最终实现业务目标。同时,文章也识别了企业在采纳云原生实践中可能面临的挑战,如安全性考量、团队技能提升和复杂的网络管理,并提出了相应的解决方案和最佳实践。
|
3天前
|
敏捷开发 监控 测试技术
软件架构的艺术:探索演化之路上的18大黄金原则
实际工作表明,一步到位的设计往往不切实际,而演化原则指导我们逐步优化架构,以灵活响应业务和技术的变化。这不仅降低了技术债务和重构风险,还确保了软件的稳定性和可扩展性。同时,架构的持续演进促进了团队协作,激发了成员间的知识共享与技能提升。
软件架构的艺术:探索演化之路上的18大黄金原则
|
4天前
|
弹性计算 Cloud Native 安全
云原生架构的未来展望:如何引领企业转型与创新
【5月更文挑战第7天】随着云计算技术的不断发展,云原生架构已经成为企业数字化转型的关键驱动力。本文将深入探讨云原生架构的优势、挑战以及未来发展趋势,为企业提供一种全新的技术视角,以实现更高效、灵活和可扩展的业务运营。
|
5天前
|
监控 负载均衡 API
微服务架构在现代企业中的应用与挑战
微服务架构已成为现代企业构建灵活且可扩展软件系统的首选。然而,随着其应用的普及,企业也面临着一系列新的挑战。本篇文章将探讨微服务架构的优势、实施时遇到的问题以及解决这些问题的策略。
|
10天前
|
Cloud Native 安全 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【5月更文挑战第1天】 随着数字化转型的深入,云原生技术以其灵活性、可扩展性和敏捷性成为现代企业IT架构的核心。本文将探讨云原生架构的关键组件,包括容器化、微服务、持续集成/持续部署(CI/CD)以及DevOps实践,并分析它们如何共同塑造企业的运营模式。同时,文章还将讨论在采纳云原生过程中企业可能遇到的挑战,如安全性问题、技术复杂性以及组织文化的转变,并提出应对策略。
27 8
|
11天前
|
Cloud Native Devops 持续交付
构建未来应用:云原生架构在现代企业中的实践与挑战
【4月更文挑战第29天】 随着数字化转型的加速,企业正迅速转向云计算以支撑其业务敏捷性和创新。云原生技术,作为推动这一转型的关键因素,正在重新定义软件开发和运维模式。本文将深入探讨云原生架构的核心组件,包括容器化、微服务、持续集成/持续部署(CI/CD)以及DevOps文化,并分析这些技术如何帮助企业实现弹性、可扩展和高效的应用部署。同时,我们将讨论在采纳云原生实践中所面临的挑战,包括安全性、治理和人才缺口等问题。
|
11天前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【4月更文挑战第29天】 随着数字化转型的不断深入,企业的IT架构正经历着根本性的变革。云原生技术以其独特的弹性、可扩展性和敏捷性成为这一转型的关键驱动力。本文将探讨云原生架构的核心组件,包括容器化、微服务、持续集成/持续部署(CI/CD)以及DevOps实践,并分析这些技术如何帮助企业实现快速迭代和高效运营。同时,我们也将识别在采纳云原生技术过程中可能遇到的挑战,并提出相应的解决策略。通过实际案例分析,本文旨在为决策者提供实施云原生架构的洞见,以加速其业务创新和市场响应速度。
|
11天前
|
Cloud Native 安全 Devops
构建未来:云原生架构在现代企业中的应用与挑战
【4月更文挑战第29天】 随着数字化转型的不断深入,云原生架构已成为支撑企业敏捷性、可扩展性和创新能力的关键。本文将深入探讨云原生技术的核心组件,包括容器化、微服务、持续集成/持续部署(CI/CD)和DevOps文化,并分析其在不断变化的商业环境中实现快速迭代和资源优化的能力。同时,文章还将讨论企业在采纳云原生架构时面临的挑战,如技术选型、团队技能培养、安全性考虑及成本管理,并提出相应的解决策略。
|
11天前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【4月更文挑战第29天】 随着数字化转型的加速,云原生技术正成为推动企业IT架构现代化的关键力量。本文深入探讨了云原生架构的核心组件、实施策略以及面临的主要挑战。通过分析容器化、微服务、DevOps和持续集成/持续部署(CI/CD)等关键技术,揭示了云原生架构如何助力企业提高敏捷性、优化资源利用和加强安全性。文中还将提供针对企业在采用云原生实践中遇到的难题,如服务治理、复杂性和技能缺口等,提出切实可行的解决方案。
|
11天前
|
Kubernetes Cloud Native 持续交付
构建未来:云原生架构在现代企业中的应用与实践
【4月更文挑战第29天】 随着数字化转型的浪潮席卷各行各业,企业对于信息技术基础设施的要求日益提高。传统的IT架构已难以满足快速迭代、灵活扩展和持续创新的需求。本文聚焦于云原生架构,一种为云计算环境量身打造的设计理念和技术集合,旨在帮助企业构建更加灵活、可靠和高效的系统。通过对云原生核心组件的解析、实施策略的探讨以及成功案例的分析,我们揭示了云原生架构如何助力企业在竞争激烈的市场中保持领先地位。