作者 | 杨宙 整理 | 徐诗瑶
2月24日,前蚂蚁金服技术专家杨宙在CSDN主办的2022云原生超级英雄会上表示:未来的应用都将应该生在云上,长在云上,应用上云成为不可逆转的发展趋势。
杨宙,前蚂蚁金服技术专家
以下是前蚂蚁金服技术专家杨宙先生的分享。
云原生的发展对应用的影响
随着云原生技术的高速发展,从早期的以资源为中心也就是云原生1.0时代,逐步发展到现在以应用为中心云原生2.0时代,云原生的相关代表技术越来越清晰,也发生微小的变化。云原生代表技术包含五个方面:不可变的基础设施、容器化、微服务&Service Mesh、CI/CD和XOps,其中XOps延伸代表技术有DevOps、GitOps、AIOps等等。
我们持续不断地将这些代表技术不断下沉,演变成为云的基础设施,进而为应用赋能。所以云原生技术是一种构建和运行应用程序的办法,是一套技术体系和方法论。云原生为用户指明了在可实现低心智、低负担、敏捷的、可复制、可扩展、可观测的基础上,在最安全可靠的环境下构建和运行您的应用程序。这其中还包括快速开发(低代码),容易运维,平滑灰度,质量验证,安全可靠,持续部署等软件架构指导思想。
点击看完整版视频
传统应用对比云原生应用的痛点
我们一个应用的生命周期通常会分为三个阶段:构建时、运行时、迭代时。
在构建时,我们通常会遇到以下痛点:
单次构建
构建包不可运行
构建时无法发现缺陷
数据库缓存的依赖
在运行时,通常又会遇到以下痛点:
资源不足,无法弹性。
注册中心不一致,多语言的注册中心各有不同,甚至有些语言没有注册中心和服务发现体系。这也是为什么我们需要多云的服务,除了内部本语言的服务发现外,我们还需要可以发现外部的服务。
不可观测性,应用运行健康情况不可知,等出现故障时才发现。
链路长且排查困难。
在应用的迭代时,面临各种框架SDK升级,又会出现新老接口版本兼容并存的问题等等这些传统应用的常见的痛点。
那么,云原生应用给我们带来哪些优势呢?
构建阶段:
每次构建,从单次构建变成了每次构建。任何代码变更都能够触发一次构建,保证代码和实际测试环境或者开发环境保持一致。
镜像化,只要在有容器的环境下运行,就能够运行所有的构建包。
代码检测,我们在构建前期就进行代码规范等静态化检查,提前发现一些基础性缺陷的问题。
相关依赖打包。
运行阶段:面临资源不足的问题,我们的云原生应用具备如下特点:
弹性扩容。
DNS服务发现。
可观测。
全链路追踪回溯。
那么在应用迭代时,基础框架sdk的升级,可在云原生环境下是无感知的,不需要再升级任何的版本也不需要改造,针对新老服务进行流量转发,来保证兼容的过渡的阶段能够平滑的渡过。
云原生对应用的价值是很大的。以应用为中心,应用最关心的问题是:
可弹性,部署之后在面临资源诉求时可弹性伸缩。
可观测,部署上去能够看到应用的当前运行状态,以及健康度。
可灰度,多版本迭代时,能够平滑灰度能够循环渐进的上线。
可追踪,当出现问题时,能够及时发现并干预。
可自愈,应用系统需要具备一定自我修复,自我保护,自我恢复,在面对紧急突发问题能够自动容错,自愈。
云原生将这些技术能力,作为底层稳定通用能力提供出来,形成应用服务技术管理体系,为应用赋能或者为应用开发者赋能,让应用开发者只专注业务领域应用架构提供可能。
应用如何拥抱云原生
应用如何去拥抱云原生呢,也就是如何让您的应用向云而生:
第一步,镜像化改造,我们的应用代码+DockFile制作镜像。
第二步,进容器,让应用跑在容器里,并配置应用运行时需要的物理资源。
第三步,应用打包,通过Helm,将这些依赖打包进同一个package实现整个应用包管理,并可在容器化环境里快速部署。
第四步,编排和调度,通过kubernetes实现应用集群的统一编排和调度,如实例个数,资源占用等等。
第五步,流量接管,通过sidecar机制接管一切的流量。
第六步,应用赋能,应用接入后,可在云原生环境里享受更多云所带来的红利。如服务注册发现,滚动升级,限流、熔断、负载均衡,监控预警,全链路追踪等等能力。
第七步,应用标准化。在经过标准化构建和运行容器承载之后,应用与应用之间只有细微的差异跟资源不同,配置不同,规模化管理所有的应用服务和服务治理,依赖拓扑等等。
第八步,无感升级,技术底层能力可持续升级,并对应用无感。
第九步,配置调优,管理应用与应用之间,只有配置参数的微小差异。
第十步,多云部署,也就是云原生应用的终态。
应用原生之后的价值
应用上云原生之后,将为企业降低成本、提升效率、快速试错、促进创新等等业务增益价值。使得本身复杂多变的业务,可灵活多变、及时响应,快速迭代,持续创新成为可能。
2022云原生超级英雄会由CSDN主办,旨在与投身云原生的开发者们,共同探讨云原生领域的发展趋势与实践方法论。本次大会将邀请来自国内知名互联网公司、行业巨擘的一线云原生技术大咖, 全方位洞悉云原生技术挑战,分享企业云原生落地实践痛点及经验,讲述开发者在适应云原生的黄金时代的变化中,需要加持哪些知识与能力,为开发者们拨开迷雾。
《新程序员001-004》全面上市,对话世界级大师,报道中国IT行业创新创造