46

微服务架构-企业全新构建模式(4.3)

 5 years ago
source link: http://blog.sina.com.cn/s/blog_493a84550102yq7v.html?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

aEf6fqR.jpg!web

前面谈了很多微服务架构的文章,实际上更多谈的都是传统企业IT架构转型以及在已有信息化建设模式下如何进行微服务架构逐渐迁移,而比较少谈如何一个企业全新构建IT系统和应用,没有遗留系统负担的情况下,如何基于微服务架构思想进行规划和建设。

谈微服务架构思想实际上是包含了平台+应用思想,业务组件化服务化思想,SOA和云思想,包括当前主流的DevOps思想的一个融合,而不仅仅是简单的微服务架构。 因此对于一个新创建的企业要基于微服务架构思想来整体规划内部IT并不是一件容易的事情。

首先我们对整体规划建设进行拆分,主要应该包括以下关键的建设任务和内容。

底层私有云平台建设 ,这个即考虑全部基于IaaS资源池进行并尽量去IOE架构,当前实际上对于涉及到数据库仍然或涉及到部分的Oracle数据库和集中存储,企业在选型和规划的时候要考虑本身去掉这部分潜在风险。服务器资源可以考虑全部采用X86服务器并进行虚拟化,提供虚机资源作为计算能力。

容器化PaaS平台建设 ,对于PaaS平台建设当前可以基于轻量的Docker容器进行,并通过Kubernates进行资源管理和动态调度。而如果规划建设 DevOps支撑平台 ,即在DevOps平台建设过程中统一建设容器化PaaS平台,当然在DevOps平台中会进一步实现了持续集成和流水线作业能力,实现开发,运行和后期运维监控的一体化管理。通过实施DevOps平台可以进一步对当前的开发团队规划,岗位角色分工,软件过程改进等进一步优化。

在微服务架构实施中,还有一个重点就是制定 微服务架构开发框架,标准和规范体系 。以指导后续开发厂商按照统一的标准方法,工具和流程进行微服务组件模块和接口服务的开发,确保开发标准和规范一致性,也进一步确保了后续多个微服务模块在集成的时候不会出现问题。

把这些都谈后,再转回谈需要统一建设的技术平台部分。

4A平台 ,这个是必须建设的内容,不仅仅是实现统一用户,统一认证和鉴权,统一组织,统一审计等内容。在微服务架构下,4A平台进一步扩展传统业务系统中系统管理模块的内容,即能够实现到微服务模块内部的功能菜单和按钮级的操作授权,同时能够实现灵活定义的数据级授权和配置。

公共流程平台 ,这个公共流程平台也是必须,实现统一的类似内部多租户的流程引擎,实现流程的设计建模,运行,监控的全部统一化。各个业务组件模块仅仅是使用流程平台提供的能力。

技术服务平台 ,这个实际涉及到消息,缓存,文件,任务,日志,通知,分布式存储等诸多技术服务能力,可以根据企业需要来确定哪些要单独实现为独立的技术服务能力开放提供。这个没有明确的要求,但是根据实际项目实践来看,类似发送短信邮件的通知类服务,文件存储类服务往往都是必须要规划建设的。

监控运维平台 ,这个平台实际上包括了传统的IT网管监控,同时还包括了当前的APM业务性能监控两个方面的内容。同时两者内容本身又相互集成和融合。由于采用了容器化PaaS,实际上微服务开发商对底层资源的情况并不清楚,因此更加需要这样一个监控运维平台能够同时监控到业务性能和资源层性能,并实时预警。

除了技术平台外,再来看下业务中台部分可以规划建设哪些内容。

主数据平台建设 ,基于当前企业信息化规划建设实施,对于业务中台部分能够统一考虑的只有基础主数据部分内容,因为这部分是共性基础数据服务提供能力。当然基于微服务架构模式下,实际上也没有独立的主数据平台概念,实际上应该只有类似供应商,产品,客户等微服务模块。

中间即是满足各个业务能力实现的微服务模块应用,相互独立自治,松耦合。微服务模块间通过轻量的Http API即可进行交互和协同。当然在这个过程中涉及到微服务网关的使用等。

对于最上层,需要统一规划建设即是 统一门户平台 ,门户平台重点就是实现业务功能在应用层的简单组装和配置,类似App Store商店一样,最终的业务用户可以根据自己的需求安装相关的业务系统应用。即门户具备足够的灵活定制能力。同时对于DevOps平台最好和前端门户结合,即通过DevOps平台发布和部署的微服务可以直接发布到最终的门户应用上面。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK