前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Cloud-Native 微服务开发元素卡: 高效搞定 Cloud-Native 微服务的持续交付

Cloud-Native 微服务开发元素卡: 高效搞定 Cloud-Native 微服务的持续交付

原创
作者头像
Ken Fang 方俊贤
修改2018-04-24 17:48:14
9450
修改2018-04-24 17:48:14
举报

前言:

Docker, Vagrant 帮助我们能打造出如上图的持续交付的 “价值流”:

  • Docker, Vagrant 使得开发人员在开发的阶段, 就能在 Production-like 的环境上进行更可信、更有效的契约测试 (Contract Test)。 也就是说, 开发人员在开发的阶段, 就能藉由在 Production-like 环境上契约测试的结果, 确定自身所新增、修改的代码是否会对既有的系统、其他的开发人员的代码造成影响?
  • Docker, Vagrant 使得测试人员能在 Production-like 的蓝线环境上, 进行更贴近实际运维环境下的集成测试、失败测试 (Monkey Test)、A/B Test; 使得 Release Management Team 能更加的确定所发布的版本的质量与对用户的价值。

所以, 我们是不是只要拥有了如上图的持续交付的 “价值流”, 就能保证我们能按照外部用户的诉求, 快速的交付, 甚至是能做到按需的交付?

当然不是。

我们还有其他的 “功课” 必需要去做; 就像不是将高速公路给建好了, 就能保证不会堵车。

本文:

我们要能按照外部用户的诉求, 快速的交付, 甚至是能做到按需的交付, 拥有能持续交付的 “价值流” 是很关键且重要的第一步。

在这很关键且重要的第一步的基础之上, 我们还必需要能做到:

1. 分析出能独立发布、独立部署的业务流 (业务场景)。

2. 由每个独立发布、独立部署的业务流 (业务场景) 所形成的 “微服务” , 其内部代码的实践要能遵循 “Clean Architecture” 的原则; 以 “洋葱式” 的架构做好 “代码的隔离”。

3. 团队成员间可高效的协作。

上述的这三件事, 我们都早已清楚是必需要去做的。

但, 问题是: 我们是需要花费大量的时间先去学习些方法论; 如: 领域驱动设计, Use Case…等等; 才能做得到? 还是我们能有一轻量级、可视化的 “工具”, 就可以帮助我们省时、高效的完成?

事实上, 我们只要藉由 “卡片”; 轻量级、可视化的 “Cloud-Native 开发元素卡” ; 就能省时、高效的做得到。

Cloud-Native 微服务开发元素卡总共区分为:

  • Cloud-Native 微服务设计元素卡: 轻量级、可视化的 “卡片”, 协助我们能高效、有趣的完成微服务粒度 (边界) 的界定、Restful API 设计、Event 架构的设计。

  • Cloud-Native 微服务实现元素卡: 可视化、轻量级的 “卡片”, 承载著 Persistence Layer ( 使得微服务在读、写不同的数据库时; 如: MySQL, MongoDB, SqlLite, PostgreSQL; 都有一统一的接口)、 gRPC、Restful API 的样例实践代码。所以, 不仅可以协助我们能更快、更轻松的开发微服务, 更能在团队里建立起 “洋葱式架构” 的开发规范。

结论:

Cloud-Native 微服务开发元素卡使得我们:

  • 能省去学习难懂又费时的方法论。但是, 依旧是有 “规范” 的:
    • 从外部的视角, 界定可独立发布、可独立部署的微服务粒度。
    • 遵循著 “Clean Architecture” 的原则, 做好微服务内部开发代码的隔离。
  • 可根据团队、产品的现况, 加入适合团队、适合产品的元素卡。使得团队可永续的积累著可使团队高效开发微服务的优秀实践、架构方案、开发模式。
  • 轻量级、可视化的 "卡片" 使得团队的产品经理、架构师、开发人员、测试人员都可更易于互相的沟通、交流、协作。而可更高效、更准确的打造出能快速响应外部变化的 Cloud-Native 微服务。

后续我将会从 Cloud-Native 元素卡出发, 持续的探讨 Cloud-Native 微服务开发。我也会再加入其他的 Cloud-Native 元素卡; 如: Event Sourcing, CQRS, Security, Contract Test, DevOps…等等。

期待著你的持续的关注。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档