目录

DORY的功能与特点

Summary
  • DORY的功能: 把应用从源代码 编译打包发布 到云原生环境
  • DORY的特点: 简单 轻量快速 弹性 开箱即用 低成本 动态多模块 GitOps 灵活 能力全 开放 易扩展 多租户隔离

DORY的功能

  • DORY的核心能力: 把应用从源代码 编译打包发布 到云原生环境

/docs/images/what-is-dory.png

  1. DORY可以通过docker容器,支持各种编程语言的编译构建打包,应用开发者只需要选择编译构建环境即可。
  2. DORY的核心上云流程为: 编译打包发布,应用开发者可以通过自定义步骤扩展自己的上云流程,例如在编译前进行代码扫描,在发布后进行自动化接口测试
  3. DORY会自动开通配置好整个上云工具链(代码仓库、依赖与制品仓库、容器镜像仓库),自动开通好应用发布的kubernetes名字空间,应用开发者仅需关注应用的开发与交付即可。
  4. DORY(社区版)内置支持把应用发布到kubernetes云原生环境,用户也可以通过自定义步骤,把应用发布到主机环境。
  5. DORY(企业版)内置支持把应用发布到kubernetes云原生环境、OpenStack、VmWare、主机环境,内置支持通过GitOps的方式管理数据库脚本,并对应用的数据库进行脚本注入或者脚本回滚。
  6. DORY(企业版)内置集成istio服务网格能力,通过几项非常简单的配置,即可实现跨多个微服务的蓝绿发布、金丝雀发布、AB测试等产品级服务编排能力。

演示视频

DORY的特点

简单

  • 应用开发者无需配置DevOps工具链,无需编写各种持续交付脚本。
  • 应用开发者无需编写让人崩溃的kubernetes应用部署文件。
  • 应用开发者只需要通过几项所见即所得的配置,即可把应用从源代码 编译打包发布 到云原生环境。

轻量快速

  • DORY使用Go语言开发
  • 极小的运行程序: 不到70M的执行程序
  • 极低的资源消耗: 运行流水线低至只需要0.05核CPU和50M内存
  • 毫秒级执行效率
  • 快速部署能力: 通过doryctl命令行工具,可以快速部署一个完整的DORY集群,支持docker-compose方式部署,也支持把DORY部署在kubernetes中

弹性

  • DORY核心服务和DORY的执行器支持弹性伸缩、水平扩缩容

/docs/images/dory-resiliency.png

  1. DORY核心服务dory-core作为调度器,各个步骤在远程的DORY步骤执行器executor中执行,轻松实现负载分担
  2. DORY核心服务dory-core使用无状态设计架构,支持弹性伸缩、水平扩缩容
  3. DORY步骤执行器executor使用远程docker模式,轻松实现负载分担,支持弹性伸缩、水平扩缩容

开箱即用

  • 项目流水线即开即通,开通后演示项目的所有微服务可以直接发布到云原生环境,应用上云从未如此简单

/docs/images/dory-out-of-box.png

  1. 应用开发者在DORY中开通项目之后就可以通过DORY把应用从源代码 编译打包发布 到云原生环境
  2. 项目开通后,DORY会自动开通配置好整个上云工具链(代码仓库、依赖与制品仓库、容器镜像仓库),自动开通好应用发布的kubernetes名字空间
  3. 开通的项目中包含多个不同开发语言编写的微服务,微服务间有对应的服务调用链关系,开通项目后可以直接把演示的微服务发布到kubernetes云原生环境
  4. 为降低应用上云门槛,应用开发者只需要把自己的服务代码放到代码仓库,复制并修改演示项目的配置,即可把自己的应用极速上云
  5. DORY支持管理GitlabGitea两种代码仓库,支持Nexus依赖与制品仓库,以及Harbor容器镜像仓库

低成本

  • 应用开发者对云原生技能要求低
  • 容器云运维团队数量要求少技能要求低

动态多模块

  • 一条流水线可发布应用的多个微服务,动态识别微服务代码变更每次应用上云流程都可以不一样

/docs/images/multiple-modules-pipeline.png

  1. 一个项目对应一个代码仓库,一个代码仓库中可以包含多个微服务,例如微服务的前端或者后端
  2. 应用开发者通过在流水线中设置模块开关,可以设置本次要把哪些微服务发布上云
  3. 应用开发者也可以设置模块自动检测功能,DORY自动识别哪些微服务模块代码发生了变更,自动设置发生变更的微服务进行发布上云

/docs/images/multiple-modules-flow.png

  1. 各个微服务模块在执行过程中会以显性化方式呈现在实时上云流程图中,执行过程一目了然

GitOps

  • 所有上云流程配置代码化版本化,实现上云流程即代码,配置有问题,随时回滚

/docs/images/gitops-config.png

灵活

  • 应用开发者可以灵活编排应用上云流程

/docs/images/pipeline-switch.png

  1. 应用开发者也可以设置各个步骤的开关,决定只构建、打包,还是同时需要发布上云
  2. 应用开发者可以设置各个步骤执行特性,例如是否执行、重试次数、失败如何处理等
  3. 应用开发者可以在步骤中插入自定义步骤,灵活编排上云流程

能力全

  • 覆盖应用上云全生命周期各个环节,编译打包发布,也可以自行编排上云流程
  • DORY(社区版)内置支持把应用发布到kubernetes云原生环境,用户也可以通过自定义步骤,把应用发布到主机环境。
  • DORY(企业版)内置支持把应用发布到kubernetes云原生环境、OpenStack、VmWare、主机环境,内置支持通过GitOps的方式管理数据库脚本,并对应用的数据库进行脚本注入或者脚本回滚。
  • DORY(企业版)内置集成istio服务网格能力,通过几项非常简单的配置,即可实现跨多个微服务的蓝绿发布、金丝雀发布、AB测试等产品级服务编排能力。

开放

  • 提供数百个API和WebHook让应用上云流程与企业内部系统灵活集成

易扩展

  • 应用上云步骤可以通过自定义步骤快速扩展

/docs/images/dory-out-of-box.png

  1. 所有应用上云步骤在docker容器中执行,上云步骤的执行环境可以通过容器轻松扩展
  2. DORY(企业版)内置集成代码质量扫描、镜像安全扫描、接口自动化测试、性能自动化测试、界面自动化测试等能力,企业上云更安全更合规

多租户隔离

  • 解决让人头痛的多租户云存储隔离问题,真正实现一套容器云与云存储多租户共用

/docs/images/multi-tenant-isolation.png

  1. 应用开发者无需编写kubernetes应用部署文件,由DORY统一分配应用的存储资源
  2. DORY屏蔽kubernetes云原生基础设施的各种资源类别,应用开发者无需再接触底层的计算、网络、存储资源
  3. 解决了一套云存储,被不同项目开发者越权访问的难题