天穹:一站式BizDevOps平台介绍

2023-10-09 08:10

本文主要是介绍天穹:一站式BizDevOps平台介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先打个广告,天穹已开源:https://github.com/XiaoMi/mone,欢迎对云原生技术/研发效能感兴趣的小伙伴加入(Fork、Star)我们。也可以关注我们微信公众号:天穹云原生

天穹是什么?

天穹是小米-中国区-研发效能团队开源的一站式BizDevOps平台。历时5年迭代,在小米内部久经考验(有品、小米网等),提升业务研发效率30%+,同时帮业务完成微服务架构的大升级:单体应用 -> 微服务化 -> 容器化 -> mesh/serverless。天穹核心能力有:应用管理、CI/CD、MSF中间件、API接口管理、域名治理、服务治理、网关、应用可观测系统、调度系统、压测平台、FaaS平台等。

天穹如何为业务提效?

天穹研发效能有两条核心主线 1.持续推动微服务架构技术演进:单体应用 -> 微服务化 -> 容器化 -> 应用可观测 -> mesh/serverless化 -> ai化;2.以流动效率为核心,提升团队的持续交付能力:需求 -> 应用创建 -> 开发 -> 部署 -> 服务治理 -> L4/L7接入 -> 应用观察。这两条主线的每个节点,我们都提供了丰富的解决方案,让业务开发丝般顺滑,同时也让业务的微服务架构不断向前升级演进。

  • 天穹全流程研发提效

  • 天穹一站式BizDevOps实践

  • 天穹产品架构

天穹核心能力介绍

应用管理

应用是天穹平台的一等公民,我们提供应用的创建、权限、应用脚手架(Spring、DDD、Serverless等应用模板)、代码生成等相关功能。

MiLine流水线

「流水线」,又名「Flow」,是「天穹」产品矩阵中一款企业级、自动化的研发交付流水线, 提供灵活易用的持续集成、持续验证、 持续发布功能,帮助企业高质量、高效率的交付业务。MiLine默认为用户屏蔽了底层容器化的差异,底层已支持Docker、K8s、以及云厂商提供的容器化方案ACK等。

Hera应用可观测平台

Hera是一款自研的云原生应用可观测平台,为应用服务提供极致的1-5(1分钟发现,5分钟定位)体验,是市面上极具商业竞争力的开源产品:

  • 高效:极致的tracing、logging、metrcis联动体验(指标联动trace、trace关联日志,日志关联trace)

  • 低成本:10%的存储,满足99%trace需求

  • 无侵入

  • 简单:一键接入自动提供100+指标(物理机、容器、JVM、基于tracing提取的request scope指标等)

  • 遵循云原生标准(opentelemetry、grafana等)

MiApi接口平台

MiApi是市面上第一款集成了多类型RPC(HTTP、Dubbo、gRPC)接口自动化管理、自动化文档生成、接口测试、Mock、团队文档等功能模块的接口平台。

Tesla网关

Tesla是由小米效能团队自研的一款高性能、易扩展的网关平台,是小米效能团队结合小米多年大促经验沉淀而成,目前已经经历过十余次小米大促的考验,并在其中承担了流量治理的核心角色,是小米业务链中不可或缺的一环。

说到基于Java的API网关,可能很多人第一反应就是SpringCloud Gateway或者Zuul,但是Tesla网关无论在易用性、扩展性和性能方面都有非常明显的优势:

  • 易用性:Tesla拥有可视化操作界面,同时支持配置实时更新,实时生效,极大简化学习使用成本,优化操作体验。

  • 扩展性:支持自定义Filter和Plugin两种扩展(热加载,实时生效)模式;同时网关本身也支持Mesh化,Sidecar模式为Tesla提供了强大的扩展性及隔离支持。

  • 高性能:自身基于Netty进行开发,在性能上已经拥有非常亮眼的表现。同时全面支持JDK19 的 Virtual Thread,使Tesla网关的性能和资源分配上都得到了较大的提升。

  • 多协议:支持HTTP、Dubbo、gRPC等协议的转发

MiFaaS函数平台

MiFaaS是天穹平台MSF(Mione Service Framework)框架的延伸,是云原生微服务架构发展中的mesh和serverless阶段,是当前最先进的微服务架构。MiFaaS融合了天穹多年业务研发效能的经验,目标是为用户带来极致的开发效率和体验。核心产品能力有:

  • 中间件与业务逻辑解耦

  • mysql、redis、mq、nacos、zk、dubbo、http等都已抽象为资源,只需在mifaas平台进行资源绑定即可使用,业务代码中没有任务中间件的依赖。

  • 秒级生效、弹性扩缩

  • 拖拽方式1秒内生效,编码方式目前10秒左右(未来会优化到秒级)。

  • 基于指标的弹性扩缩配置,资源极致利用。

  • 热更新

  • 编码方式,支持热更新,实时生效

  • 事件协议与业务逻辑解耦

  • 业务只需聚焦逻辑实现,无需关心逻辑触发协议,MiFaas默认支持Http、Dubbo、Grpc等

  • 协议触发。

  • 自动化研发流程

  • 自动创建函数脚手架、idea插件一键打开项目、一键部署生效、自动扩缩容、自动集成微服务治理平台及可观测性平台。

为什么做天穹平台

研发效能的价值

研发效能面临的痛点及新挑战

关于开源

天穹平台整体陆续开源中,限于时间和精力的原因,2023年重点开源的项目是Hera应用可观测平台、Tesla网关、Api管理平台。如果有对天穹平台其它组件感兴趣的同学,可以留言或私信。我们期待和社区一起共建一套云原生下最好用的研发效能平台。

天穹系列文章汇总

  • 天穹:一站式BizDevOps平台介绍

  • 天穹-Api接口自动化管理系列1:MiApi- 整体介绍

  • 天穹-Api接口自动化管理系列2:MiApi- 多协议接口扫描器详解

  • 天穹-gateway网关系列1:Tesla网关整体介绍

  • 天穹-gateway网关系列2:如何设计filter链

  • 天穹-Hera可观测性系列1:Hera整体介绍

这篇关于天穹:一站式BizDevOps平台介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/171491

相关文章

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

Spring Security介绍及配置实现代码

《SpringSecurity介绍及配置实现代码》SpringSecurity是一个功能强大的Java安全框架,它提供了全面的安全认证(Authentication)和授权(Authorizatio... 目录简介Spring Security配置配置实现代码简介Spring Security是一个功能强