天穹:一站式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

相关文章

Java中 instanceof 的用法详细介绍

《Java中instanceof的用法详细介绍》在Java中,instanceof是一个二元运算符(类型比较操作符),用于检查一个对象是否是某个特定类、接口的实例,或者是否是其子类的实例,这篇文章... 目录引言基本语法基本作用1. 检查对象是否是指定类的实例2. 检查对象是否是子类的实例3. 检查对象是否

什么是ReFS 文件系统? ntfs和refs的优缺点区别介绍

《什么是ReFS文件系统?ntfs和refs的优缺点区别介绍》最近有用户在Win11Insider的安装界面中发现,可以使用ReFS来格式化硬盘,这是不是意味着,ReFS有望在未来成为W... 数十年以来,Windows 系统一直将 NTFS 作为「内置硬盘」的默认文件系统。不过近些年来,微软还在研发一款名

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

redis过期key的删除策略介绍

《redis过期key的删除策略介绍》:本文主要介绍redis过期key的删除策略,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录第一种策略:被动删除第二种策略:定期删除第三种策略:强制删除关于big key的清理UNLINK命令FLUSHALL/FLUSHDB命

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程