KubeOrbit产品开源
TeamCode设计和研发的云原生集成测试工具KubeOrbit正式开放源代码啦!(GitHub地址: https://github.com/teamcode-inc/kubeorbit)欢迎各位开发者朋友、技术小伙伴加入项目,分享你们的智慧、注入开发力量!我们希望能利用这种公开透明的分布式协作模式,推动产品快速迭代,不断探索、共同创造更加便捷高效的协作开发和测试工具。

KubeOrbit的开发背景
最近几年,在开发者群体中开始涌现出云原生浪潮,体现了组织对于更加高效的处理分布式系统开发体验的追求。然而在企业上云的过程中,常常遇到一些问题和挑战,比如:云技术的使用存在一定门槛,如何赋能更多开发人员运用、提升研发效能?如何将复杂度解耦抽象、减少跨组织沟通,提高团队自治能力?如何利用平台统一能力,清晰组织边界,优化组织架构?

以研发日常工作中占较大比重的微服务联调为例,它是个多方协作的过程,但在团队开发和测试中经常会遇到各种各样的协作难题。最常见的就是开发团队每天都要面对微服务联调及测试,当出现多feature并行联调时,单一的测试环境会引发测试排队,资源受限等问题。比如在新版本上线期间,不同功能的开发团队都需要赶在发版前进行测试,造成测试环境的拥堵,团队测试效率较低。此外,如果微服务链路中某一服务引入未稳定的特性,其它服务又依赖于这个服务,就会导致全链路报错的情况。又或者测试环境上有大量不同团队负责的微服务,某团队往测试环境推了功能导致测试环境出现问题和不稳定的情况,阻碍QA团队的工作进展。

基于这些现有问题和挑战,TeamCode设计和研发了云原生集成测试工具KubeOrbit,可以帮助团队高效地进行微服务联调。

在传统团队测试流程中,如果我要同时测试多个feature,需要依赖多套测试环境来实现。如果我要测试服务A、B、C,需要为每一个服务单独分配测试时间和相关测试人员,无法同时进行。如何实现基于一套环境的多feature测试,节省时间和研发成本呢?

KubeOrbit给出了解决方案:通过在微服务测试环境内创建测试通道,在发起微服务请求的时候指定测试通道,KubeOrbit也会把你需要测试的微服务添加至指定通道中,并与其他不同版本的微服务隔离开来。这样就可以在一个通道内测试依赖于服务B的服务A,另一个通道测试服务C,实现并行测试,省时高效又安全稳定。

从产品功能上来说,KubeOrbit

  • 支持用户按feature建立联调通道用于测试,不同通道内的微服务流量之间互不影响,不再受单个测试环境的限制无需排队使用测试环境;
  • 支持任意 Layer-7 协议和微服务框架、支持任意语言:无论你是用Java、Python还是Golang开发微服务,架构中使用HTTP还是gRPC通讯,都可以使用本产品。
  • 更重要的是,它对现有业务和架构没有任何侵入性,可以与调用链无缝结合,资源随用随取,无需关心底层细节。

KubeOrbit的未来规划
KubeOrbit产品拥有隔离性、使用便捷等特性:用户无需调整已有的技术栈和架构,KubeOrbit会自动识别并适配现有的微服务体系,还能够隔离不同测试通道之间的流量,轻松实现多feature联调测试。通过KubeOrbit测试环境中创建与删除测试通道的过程十分简单,几秒内即可完成操作。在未来的产品设计中,我们会支持更多框架及协议,提供更多样的工具优化使用流程,不断提升产品使用体验。同时大家也可以加入 Discord ,获取最新版本信息,提出产品建议和反馈。

微信号:TeamCode | 微博:TeamCode官博 | 知乎:TeamCode
KubeOrbit官网:
TeamCode官网:
简历投递:[email protected]

03-05 22:02