什么是云原生应用

本文由资深架构师成富分享,介绍了云原生应用的概念,强调其为针对云平台设计,充分利用云特性。云原生应用有15个特征,如单一代码库、API优先、依赖管理等,这些特征确保应用高效、稳定且易于管理。文中还探讨了设计、构建、发布和运行流程,以及如何管理代码、配置和凭据,强调环境等同和无状态进程的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

作者:成富,资深架构师,拥有多年一线开发经验,曾就职于IBM,后移居海外创业,现任公司首席软件工程师,负责基于微服务架构的云原生产品研发。资深技术作家,著有多部中英文技术书籍:《深入理解 Java7 》《Exploring Java9》等。

*本文经作者授权整理发布,内容选自《云原生微服务架构实战精讲》

 

云原生应用的概念

 

顾名思义,云原生应用的概念由云和原生两个部分组成,云在这里指的是云平台,也就是平台即服务(Platform as a Service,PaaS);原生应用指的是专门针对云平台而设计和实现的,充分利用了云平台的特性。应用的微服务可以专注于实现业务逻辑,而把微服务架构的复杂度交给云平台来解决。

 

原生这个词在软件开发中有它独特的含义。原生通常意味着高效和难以移植,也意味着针对特定的平台而设计,可以充分利用平台的特性,因此运行起来非常高效;同样意味着与特定平台的深度绑定,很难移植到其他平台。云原生应用同样具有这两个特征,对于云原生应用来说,难移植并不是一个问题,毕竟迁移到云平台之后,不会再想迁移回去。

 

云原生应用的特征

与其他应用相比,总结起来,云原生应用有如下 15 个特征:

 

1、单一代码库

云原生应用必须有单一的代码库,并在版本管理系统中进行追踪。单一代码库可以是一个版本库,也可以是共享同一根目录的多个版本库,其重要性在于每一个代码提交(Commit)都会对应一个不可变的构建版本。在每次代码提交之后,持续集成流程会被触发,最终产生一系列的应用容器镜像,这就在代码提交和构建版本之间建立了一对一的对应关系,这种一对一的关系保证了每个构建版本都是可追踪的,可以比较不同版本之间的代码变化。

 

对于微服务架构的应用来说,每个应用由多个服务组成,这些服务应该由单一的代码库进行管理,这保证了构建版本的稳定性。如果一个改动涉及到多个服务,则这个改动应该在一次代码提交中完成对所有相关服务的修改;如果服务的代码分散在多个代码库中,则一个改动会被分成多个代码提交,每个代码提交都会触发一次持续集成流程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值