技术中台调研

PASS平台技术调研报告

文档名称:PASS平台技术调研报告
版本编号:** V1.0 **
**评审日期: **** **
编 制 人:** 邹庆虹 **
完成日期:** 2022/2/22 **
文件状态:[√]草稿
[ ]修改中
[ ]正式发布

目录
1 企业数字化转型步骤 3
1.1 技术中台 4
2 构建Pass平台 5
3 基于PaaS实现DevOps 6
3.1 DevOps工具的类别 6
3.2 Openshift可接入DevOps工具如下: 9
4 微服务治理 11
4.1 Spring Cloud 11
4.2 Istio 12
4.3 对比 13
5 业务中台 14
5.1 公共业务平台 15
5.2 基础业务平台 15
6 数据中台 15
参考 17

  1. 企业数字化转型步骤


图中的纵坐标为业务敏捷性,企业业务敏捷性方面的转型通常包含以下几步:

  • 第一步:构建PaaS平台。PaaS平台为开发人员提供了构建应用程序的环境,旨在加快应用开发的速度,实现平台即服务,使业务敏捷且具有弹性。近几年容器技术的崛起更是促进了PaaS的发展,红帽OpenShift就是首屈一指的企业级容器PaaS平台。
  • 第二步:基于PaaS实现DevOps。PaaS平台是通过提高基础设施的敏捷而加快业务的敏捷,而DevOps则是在流程交付上加快业务的敏捷。通过DevOps可以实现应用的持续集成、持续交付,加速价值流交付,实现业务的快速迭代。
  • 第三步:实现微服务治理。通过对业务进行微服务化改造,将复杂业务分解为小的单元,不同单元之间松耦合、支持独立部署更新,真正从业务层面提升敏捷性。在微服务的实现上,现选择采用Spring Cloud,但Istio是微服务治理架构的未来方向。
  • 第四步:实现微服务高级管理。在微服务之上实现API管理、微服务的分布式集成以及微服务的流程自动化。通过API管理帮助企业打造多渠道的生态,最终实现API经济。通过微服务的分布式集成和流程自动化,企业可实现统一的业务中台。

图中横坐标是业务健壮性的提升,通常建设步骤为:

  • 第一步:建设单数据中心。大多数企业级客户,如金融、电信和能源客户的业务系统运行在企业数据中心内部的私有云。在数据中心建设初期,通常是单数据中心。
  • 第二步:建设多数据中心。随着业务规模的扩张和重要性的提升,企业通常会建设灾备或者双活数据中心,这样可以保证当一个数据中心出现整体故障时,业务不会受到影响。
  • 第三步:构建混合云。随着公有云的普及,很多企业级客户,尤其是制造行业的客户,开始将一些前端业务系统向公有云迁移,这样客户的IT基础架构最终成为混合云的模式。
    1. 技术中台

技术中台是关注应用开发效率的管理平台。软件开发和系统建设是一项IT工程,设计项目管理、团队协作、流程、测试、部署、运营等方面。如何将企业在应用开发过程中的最佳实践沉淀为可复用的能力,从而能够快速迭代出创新型应用,也是诸多企业当前的关注点。

技术中台为应用开发者提供了流程和持续交付能力,包括敏捷开发管理、开发流水线、部署流水线、持续交付。敏捷管理一般是由问题、迭代、实施等组成,并管理研发人员日程工作和任务。
开发流水线是指对源代码管理、分支组建、合并和提交等,是将成熟产品系统部署到指定环境并上线运行的流水线职责。线上应用需要监控,包括基础设施监控、日志洞察、浏览监控链路分析等功能。由此可见,技术中台为应用的开发提供了流程、质量管控和持续交付等能力。


技术架构图

  1. 构建Pass平台

Openshift云平台已实现初步搭建,微服务应用手动打包部署已经实现。

  1. 基于PaaS实现DevOps

DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
DevOps的成功实施,往往依赖一组集成化的工具链。此类工具链能够在整个系统开发的生命周期中,自动化地执行设计、构建、测试、交付、部署、管理、以及控制软件应用等任务。它能够通过实现包括持续集成、持续交付、自动化协作与编排等关键性的DevOps原则,支持开发、运营、以及安全团队之间的异步协作,无缝地集成DevOps工作流,进而更快、更高效地交付出产品。

  1. DevOps工具的类别
  • 项目管理工具

项目管理工具能够帮助团队编制满足客户项目需求的代码库,将它们划分为更小的任务,并持续监控任务,直至完成。这些工具支持诸如Scrum、精益(Lean)和看板(Kanban)等敏捷项目管理的实践。该领域的流行开源工具包括:GitHub Issues和 Jira。

  • 源代码存储库

版本控制类工具可以方便多名开发人员,同时在同一个代码库上工作。此类代码存储工具往往通过与CI/CD、安全性和测试工具相集成,以便代码在提交到存储库时,能够自动被移至下一步。该领域的流行开源工具包括:GitHub和GitLab。

  • CI/CD管道

持续集成和部署工具能够自动化代码的构建、测试和部署。该领域的流行开源工具包括:市场上最富盛名的Jenkins和Kubernetes原生的CI/CD工具–Argo CD。

  • 自动化测试框架

自动化测试框架包含各种用于自动化全部测试过程的软件工具、库和程序。其中包括单元测试、功能测试、合约测试、可用性测试、性能测试、渗透测试和安全测试等。此类工具大多能够支持多种语言,有些甚至可以利用人工智能,来自动重新配置测试的流程,以响应代码的更改。当然,此类测试工具往往比较昂贵。该领域的流行开源工具包括:Selenium、Katalon、Appium、Serenity和Robot Framework。

  • 配置管理工具

配置管理工具有助于将基础设施作为代码进行管理,从而避免了因跨环境而带来的配置更改。通过执行脚本,此类工具允许DevOps团队配置和提供完全版本化和文档化的基础设施。该领域的流行工具包括:Chef、Puppet、Ansible和Terraform。

  • 监控工具

监控工具可以通过实时地收集和分析数据,深入了解代码更改是如何影响应用程序性能的,进而帮助DevOps工程师检测和纠正系统中的问题。该领域的流行开源工具包括:Data dog、Nagios、Prometheus和Splunk。

  • 持续反馈工具

此类工具通过热图(分析用户的活动)、自助式问题反馈单或调查等各种渠道,收集用户的反馈,进而协助DevOps工程师解决问题,并提高相应的产品质量。

  • 工件存储库

工件存储库存储着所有待更新或更改的“重(heavy)”二进制工件文件。它们是使用内、外部源代码存储库开发出的各种库、DLL和二进制文件的集合。该领域的流行工具包括:JFrog Artifactory和Nexus Repository。

  • 问题跟踪工具

在软件开发生命周期中,清晰的透明度可以为DevOps团队提供深入的见解。而问题跟踪工具可以协助他们对问题进行编录和跟踪,并以更高效的响应速度去快速解决问题。

  • 协作和沟通工具

DevOps文化的精髓在于不同团队之间的无缝协作和沟通。而协作和沟通工具就能够突破开发、测试、运营团队的位置与时区的障碍,开展流畅的协调和协同工作。该领域的流行工具包括:Slack、Campfire和Skype。

  • 规划工具

规划工具可以根据整个组织的业务目标,为利益相关者、客户和与不同团队提供所需的透明度,以协助各方制定冲刺计划。该领域的流行工具包括:Asana和Clarizen。

  • 编排工具

编排是确保自动化工作流实现构建、测试、交付和部署的软件应用。此类工具既可以由内部开发团队安装和管理,又可以让外包团队基于SaaS(软件即服务)来实现。该领域的流行工具包括:CircleCI、AzureDevOps和Jenkins。

  • 源代码管理

每个组织都需要通过一个集中化的存储位置,来存放包括数据、文档、代码、配置和文件在内的所有关键资产。源代码控制工具不但可以实现该需求,还能够将数据分类到不同的分支上,以供团队的使用。该领域的流行工具包括:SVN、Git和Subversion。

  • 数据库工具

数据库管理工具能够方便组织轻松地管理,由各个应用程序开发和处理所产生的大量有价值的数据。该领域的流行工具包括:Razor SQL和Team Desk。

  1. Openshift可接入DevOps工具如下:
工具功能引用
微服务平台OpenShift
身份统一认证OpenLDAP为各种应用统一账号管理。比如GitLab,Gogs, Nexus, Sonarqube等等,同时结合之前的Openshift使用OpenLDAP做账号管理。理想的世界是,一套Openshift,各种应用,它们的用户认证都在一套OpenLDAP上,同时这套OpenLDAP也是非常方便地部署在Openshift上。Openshift上部署OpenLDAP实战:为账号一统
项目管理Redmine/Jira项目管理和缺陷跟踪Jira Software
Gitlab + Redmine
持续集成工具JenkinsJenkins方式构建的定位是使用专门的CICD平台。既支持把JenKins作为一个Pod部署到Openshift内部,也支持部署在Openshift集群外部。
构建工具MavenOpenshift内置的Jenkins Slave镜像,默认就支持Maven
* 代码管理工具GitLab开源的代码管理仓库, Redmine 、Jira对接issue,对接JenkinsGet started with OpenShift Origin 3 and GitLab
代码质量管理SonarQube代码静态扫描工具,可自定义规则,可将代码规范融入到规则中,可以对接JenkinsSonarQube on OpenShift
* Maven私有仓库NexusNexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问,可以对接OpenshiftSetting Up a Nexus Mirror for Maven
Introduction
* Docker私有仓库Harbor使用Harbor搭建Docker私有镜像仓库
测试框架Junit/TestNGMaven在构建执行到特定生命周期阶段的时候,通过插件maven-surefire-plugin来执行Junit或者TestNG的测试用例
UI自动化测试zaleniumzalenium可以将脚本的执行录制成视频,供回放观看,可部署在Openshift上Openshift部署zalenium(容器化的selenium)及Python自动测试
压力测试JMeterJMeter-openshift-jenkins
安全动态扫描OWASP ZAP漏洞扫描集成到CI过程Owasp-zap-openshift
*代码ReviewGerrit开源的轻量级工具,它是基于“Git 版本控制系统”来进行构建的
自动化运维工具Ansible TowerGuide to starting to use AWX, the upstream of Red Hat Ansible Tower, on top of OpenShift
*应用性能管理Jaeger/ZipkinJaeger是一个优秀的基于OpenTracing的分布式服务跟踪系统,多服务依赖情况下获取完整的请求调用链。在OpenShift使用Jaeger对Spring Boot / Spring Cloud应用作分布式服务跟踪
*应用日志管理EFK/ELKELK(Elasticsearch - Logstash - Kibana)
EFK(ElasticSearch - Fluentd - Kibana)
日志搜集系统从ELK到EFK
*应用监控管理Prometheus/Istio在OpenShift 4上对Node节点的监控主要通过集群的Prometheus从节点收集数据并进行展现OpenShift 4 - 使用Prometheus监控Node节点
API管理平台3Scale API3Scale的两块组件:API网关和API Manager。OpenShift 4 - 安装3Scale API Management环境
  1. 微服务治理
    1. Spring Cloud

Spring家族产品,包含一系列组件,其实就是整个Spring生态组件框架的统称。也是基于SpringBoot框架的基础上与众多组件框架相结合从而形成一个整的微服务架构生态,SpringCloud提供配置管理,服务智能,断路器,智能路由,微代理,控制总线,全局锁,决策竞选分布式会话和集群状态管理一系列解决方案。

  1. Istio

Istio一个全新的服务网格框架,它是ServiceMesh目前最流行的实践。官方给出的介绍是:An open platform to connect, secure, control and observe services.翻译过来就是“连接、安全加固、控制和观察服务的开放平台”,与Spring Cloud框架不同的是它不是一个与语言绑定的应用系统框架,并且不需要通过接入代码实现某个功能,它处于服务应用之外,建立一个复杂的微服务网格,使得业务系统与基础设施系统实现解耦,另外Istio对Kubernetes(k8s)支持友好。

  1. 对比
对比项DubboSpringCloudIstio
学习难度(五星满)☆☆☆☆☆☆☆☆☆☆☆
互联网资料案例非常多,有实战案例
文档中英文文档英文文档中英文文档
支持语言Java等多种语言Java等多种语言基本都支持(不耦合)
集成Jar依赖,二方库Jar依赖多基于SpringBoot配置化集成,简单、稳定支持Kubernetes(k8s)
开源社区热度
网关Zuul,GatewayTraffic Cotrol、Egress
客户端负载均衡RibbonEnvoy
开源协议Apache2.0Apache2.0Apache2.0

现有系统采用Spring Cloud框架,发展趋势倾向于Istio,由于Istio非入侵式,对多语言更友好。

  1. 业务中台

业务能力全景

中台全景

  1. 公共业务平台

用户权限中心、任务调度中心、消息队列、流程管理中心、BI报表中心等等。

  1. 基础业务平台

项目中心、订单中心等,根据各项目提取基础业务进行抽象设计,为具体项目提供服务。

  1. 数据中台

… …

参考

  1. 中台技术简介(https://blog.csdn.net/iamlake/article/details/103888540
  2. 中台生态建设:业务中台、数据中台、AI中台、技术中台、移动中台(https://baijiahao.baidu.com/s?id=1687404117488904376&wfr=spider&for=pc
  3. PaaS、DevOps、OpenShift与业务中台的实现(https://blog.csdn.net/zw0Pi8G5C1x/article/details/103231431/
  4. Devops之运维平台构建(https://www.jianshu.com/p/6284f6588e5a
  5. 为新手准备的DevOps工具链(https://baijiahao.baidu.com/s?id=1717377015588692566&wfr=spider&for=pc
  6. OpenShift的DevOps工具链(http://www.chenshake.com/openshift-devops-tool-chain/
  7. Istio 是啥?一文带你彻底了解(https://blog.csdn.net/weixin_40274679/article/details/106232119
  8. Istio 可以代替 Spring Cloud 吗?(https://blog.csdn.net/zhangxin09/article/details/105342762/
  9. Spring Cloud分布式微服务云架构集成项目(https://www.cnblogs.com/gelixixi/p/7940647.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rainbow酱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值