企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
![](https://img.kancloud.cn/d9/2e/d92e821270ba082bcf65f4ecc54afce0_1871x629.png)# 什么是云原生 **云原生 = 微服务 + DevOps + 持续交付 + 容器化** ![云原生](http://assets.processon.com/chart_image/5f7fe0681e085307a07e0d39.png?_=1602216476041) # 为什么选择云原生 ![](http://assets.processon.com/chart_image/6015153563768925f1516066.png?_=1614397537889) * 生产环境测试环境服务器资产利用如何提升,IT系统容量如何规划? * 新核心项目成立,研发组申请32U64G 服务器三台? * 生产业务系统如何快速分析定位? * 系统BUG订单串号,研发登录生产服务器排查问题,三小时后BUG修复。 * 为什么系统故障最先发现的是我们的客户,而不是我们的研发团队? ## 云原生IT四化建设 ## 金融科技应用架构变迁 ![](https://img.kancloud.cn/b1/db/b1dbd591ac1e4170fe8a073de41359f3_1369x584.png) ## 微服务时代已经来临 ![](https://img.kancloud.cn/51/80/5180bd78f061374e6b25cc7f26bbc4a0_1368x628.png) ## **云原生核心优势** ### **解耦软件开发,提高灵活性和可维护性** - 基于容器镜像的软件分层,清晰的依赖管理 - 玻璃程序、配置和微服务,让开发者聚焦业务发展 - 通过拆分应用程序为微服务和明确的依赖描述 ### **多云支持,避免厂商锁定** - 厂商基于标准接口提供服务,互操作性强 - 开源为主,丰富的标准软件生态,用户多样选择 - 支持在混合云、私有云或混合云部署 ### **避免侵入式定制** - 基于k8s松耦合平台架构,易扩展 - k8s已经是被公认 platform for platform ### **提高工作效率和资源利用率** - 通过中心编排过程动态管理和调度应用微服务 # 云原生应用与传统应用区别 ## **牛”和“宠物”的管理方法** ![](https://img.kancloud.cn/77/b7/77b74572a880e90f2953f20bb48d5a26_1024x683.webp) * **牛:** 容器及其基础设施都是不可变的,我们一般在部署容器或服务器后就再也不会对其进行修改。**如果需要任何的更新、修复或修改某些内容,我们可以使用有适当更改的通用镜像去构建新的容器或服务器,然后替换旧的容器和服务器。**这种方法就相当于在牛场管理牛。 * **宠物:** 另一方面,传统的服务器以及虚拟机我们都认为是可更改的,它们更像是宠物,因此**不是一次性使用的**,我们需要一直关注它们,所以它们的维护成本很高。 | | 传统 |云原生| | --- | --- |---| | 重点关注| 使用寿命和稳定性| 上市速度| |开发方法|瀑布式半敏捷型开发|敏捷开发、DevOps| |团队|相互独立的开发、运维、质量保证和安全团队|协作式 DevOps 团队| |交付周期|长|短且持续| 应用架构|紧密耦合 <br> 单体式|松散耦合 <br>基于服务 <br> 基于应用编程接口(API)的通信| |基础架构 | 以服务器为中心 <br> 适用于企业内部 <br> 依赖于基础架构 <br> 纵向扩展 <br>  针对峰值容量预先进行置备|以容器为中适用于企业内部和云环境 <br>可跨基础架构进行移植 <br>横向扩展 <br>按需提供容量| # DevOps简述 顾名思义,DevOps就是开发(Development)与运维(Operations)的结合体,其目的就是打通开发与运维之间的壁垒,促进开发、运营和质量保障(QA)等部门之间的沟通协作,以便对产品进行小规模、快速迭代式地开发和部署,快速响应客户的需求变化。它强调的是开发运维一体化,加强团队间的沟通和快速反馈,达到快速交付产品和提高交付质量的目的。 DevOps并不是一种新的工具集,而是一种思想,一种文化,用以改变传统开发运维模式的一组最佳实践。一般做法是通过一些CI/CD(持续集成、持续部署)自动化的工具和流程来实现DevOps的思想,以流水线(pipeline)的形式改变传统开发人员和测试人员发布软件的方式。随着Docker和Kubernetes(以下简称k8s)等技术的普及,容器云平台基础设施越来越完善,加速了开发和运维角色的融合,使云原生的DevOps实践成为以后的趋势。下面我们基于混合容器云平台详细讲解下云平台下DevOps的落地方案。 ### 云原生DevOps特点 DevOps是PaaS平台里很关键的功能模块,包含以下重要能力:支持代码克隆、编译代码、运行脚本、构建发布镜像、部署yaml文件以及部署Helm应用等环节;支持丰富的流水线设置,比如资源限额、流水线运行条数、推送代码以及推送镜像触发流水线运行等,提供了用户在不同环境下的端到端高效流水线能力;提供开箱即用的镜像仓库中心;提供流水线缓存功能,可以自由配置整个流水线或每个步骤的运行缓存,在代码克隆、编译代码、构建镜像等步骤时均可利用缓存大大缩短运行时间,提升执行效率。具体功能清单如下: - 缓存加速:自研容器化流水线的缓存技术,通过代码编译和镜像构建的缓存复用,平均加速流水线3~5倍; - 细粒度缓存配置:任一阶段、步骤可以控制是否开启缓存及缓存路径; - 支持临时配置:用户无需提交即可运行临时配置,避免频繁提交配置文件污染代码仓库; - 开箱即用的镜像仓库; - 提供完整的日志功能; - 可视化编辑界面,灵活配置流水线; - 支持多种代码仓库授权:GitHub、GitLab、Bitbucket等; - 多种流水线触发方式:代码仓库触发,镜像推送触发等; - 网络优化,加快镜像或依赖包的下载速度; ### 云原生DevOps实践 - 容器基础平台 - 微服务应用发布平台 - Istio微服务治理 - APM 应用性能检测 ## 容器基础平台 ![](https://img.kancloud.cn/32/a8/32a86b6b548ecee9d0b7175313f02650_1386x663.png) ## 微服务应用发布平台 ![](https://img.kancloud.cn/5a/8d/5a8db875201b7b1103cd2ab4a6d54918_765x501.png)