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

    核心组件有: