• Choerodon 使用的开源组件

    Choerodon 完全基于开源产品打造。我们从两个方面来叙述Choerodon使用的开源产品或者工具。其一,Choerodon的本身是使用Spring Cloud作为微服务架构,运行在Docker上,同时使用Kubernetes作为容器管理和编排工具;其二,它以DevOps为理论指导,实现了敏捷的最佳实践。 以下我们从两个方面来阐述Choerodon使用了哪些开源产品和工具:

    微服务应用框架使用的开源工具集

    Choerodon 的微服务应用系统架构由五个不同的层组成,从应用程序代码到所需运行平台和连接服务。这些应用程序和服务通过一致的调度和编排和监督进行管理,所有这些应用程序和服务都运行在K8s提供的运行环境上。

    应用前端

    Choerodon前端使用react和mobx。

    核心组件有:

    微服务后端

    Choerodon的微服务后端采用Spring Cloud作为微服务框架,使用Spring Boot作为开发脚手架。

    核心组件有:

    消息中间件

    Choerodon使用Kafka作为消息中间件。

    核心组件有:

    数据服务层

    Choerodon采用MySQL作为关系型数据存储库,Redis作为缓存库。

    核心组件有:

    运行环境

    Choerodon运行在Docker上。

    核心组件有:

    容器编排

    Choerodon使用Kubernetes作为容器编排和管理工具。

    核心组件有:

    DevOps平台使用的开源工具集

    自动化是整个DevOps实现的核心,对应生命周期的每个阶段都可以选择开源工具框架。将DevOps工具集环境作为整体服务交付是一件非常有挑战的事情。Choerodon融合了多个DevOps的开源工具,并且结合自身的能力。DevOps不同阶段的工具使用不同的编程语言开发,需要不同的运行环境(OS、数据库、中间件服务器等)。我们选取了如下的工具集的组合来落地实施DevOps,并且通过Choerodon平台融合能力,将不同的工具融合到Choerodon的DevOps流程中,用户仅需简单的配置即可使用,开始敏捷迭代之旅。

    计划

    Choerodon使用自主开发的敏捷管理开完成DevOps的计划步骤的工作。Choerodon敏捷管理的核心是需求,计划和执行。即通过用户故事地图来管理用户故事和发布计划,通过迭代来管理冲刺,最后通过看板来可视化冲刺的执行。

    核心组件有:

    关于敏捷管理的详情,请参考敏捷管理

    编码

    Choerodon采用主流的Git和Gitlab作为代码的管理和托管工具,同时使用Maven作为项目代码的组织和管理工具。

    核心组件有:

    构建

    Choerodon在构建阶段,采用Gitlab CI作为持续集成工具,Harbor作为镜像的存放库,同时Choerodon融合了Gitlab CI和Harbor这两个工具,以实现自动化和版本的控制。

    测试

    Choerodon采用多个代码检查和测试工具,其中,SonarQube作为自动化代码检查工具;JUnit作为后端Java代码的测试工具; Selenium作为前端测试的工具。

    核心组件有:

    部署和运营

    Choerodon融合使用Docker、Kubernetes和Harbor作为部署工具。

    核心组件有:

    监控

    Choerodon的监控包括了从用户故事开始到服务的运营全生命周期的状态、反馈、监控等,帮助开发和运营管理更好的提升效能。

    核心组件有: