文章图片
最早出现的是容器 , 解决了应用打包标准化和应用发布标准化的问题 。 在此之前 , 虚拟机等方式的标准化程度是不够的 , Docker 终结了这一问题 。 随着 Docker 的不断演进和推广 , 在应用编排、资源调度等又出现了新的问题 , 当时的 Docker Swarm 、Mesos 和 Kubernetes 互相竞争 , 最后 Kubernetes 胜出 , 并带来了新的资源编排方面的事实标准 。 现在 Kubernetes 已经成为一个事实标准 。 而应用层之前也是百家争鸣的情况 , 每个企业都在做自己的云原生应用 , 现在有越来越多的开源标准出现 , 如 OAM ( Open Application Model ) 和 SMI( Service Mesh Interface ) 等 , 大家都在尝试定义应用层的标准, OAM 和 SMI 尚未形成事实标准 , 他们有成为事实标准的潜力 。
2022年就是非常关键的一年 , 在云原生项目落地的过程中以 OAM 标准的代表项目 Dapr 目前在多运行时框架领域是一个非常耀眼的项目 , 落地的案例也非常多了 。 云原生的多语言是必然趋势 。 国内后端开发最火的语言是 Java, 已经有很多公司(腾讯、字节)在用 Go 作为主要开发语言 , PHP 的使用也非常广泛 。 每种语言的特点不太一样 , 很多企业会根据业务需要选择一种合适的语言 。 这时可能会出现多种语言 , 业务部门觉得用 Java/C# 比较好 , 偏前端的想要 PHP 或者 Node.js , 多语言在企业内部越来越普遍 。 开发人员想用什么语言就用什么语言 , 但是运维人员就会面临很大的挑战 , 如多语言环境下的服务治理怎么能统一做等 。 Java 之前在阿里基本处于统治地位 , 但现在阿里内部也多语言了 。 阿里收购了非常多的企业 , 如饿了么、飞猪、高德等 , 但不可能让所有并购进来的公司都改变编程语言 , 这是很难的 。 由于公司并购 , 阿里内的编程语言已经变得多元化了 。 企业足够大的话 , 就一定是多语言的 。 如果是初创公司或者体量还不够大 , 语言统一确实能带来便捷 。 所以阿里和微软主导了开源项目 Dapr , 详细内容可以参看 Dapr 在阿里云原生的实践[3], 高德 Serverless 平台建设及实践[4] 。
文章图片
国内有很多企业已经在虚拟机、物理机环境使用 Spring Cloud , 这些企业转向云原生时 , 如果还是简单把 spring cloud 部署到 kubernetes 环境 , spring cloud 的很多基础架构能力是和 kubernetes 相重叠的 , 想充分享受 kubernetes 带来的自动化方面的能力 , 最好的选择是卸下Spring Cloud , 通过 Dapr 提供的分布式能力让解决方案在各种环境中自由适配 , 而且 Spring Boot 版本可自主升级 , 不再与 Spring Cloud 存在兼容性问题 。
文章图片
我看到有些企业是为了技术而去做云原生 , 这样最后不一定有好的结果 , 更多时候还是先从业务价值角度出发考虑要做什么事情 , 再选择相应的技术 。 一方面 , 企业有业务驱动 , 便会有足够多的资源投入 。 另一方面 , 企业在做技术选型和落地的时候会有足够多的实践 。 从领域来讲 , 我给大家的建议就是先把基础打好 , 之后再完善一些生产必备的技能 。 容器技术是所有的基石 , 在这之后是一些比较关键的像可观测性、CICD、微服务等企业内部落地真正需要的一些关键技术 。
- [1] 牛年 dotnet 云原生技术趋势:
- [2] CNCF的毕业和孵化项目: https://www.cncf.io/projects/
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
