2023 对云技术发展的一些思考

| 2023年1月18日

前言

新的一年到来,总是要总结过去一年,展望新的一年。

关于总结过去一年,现在不想写什么,或许以后会,太魔幻。

新的一年开始,就开始推动项目各个小组开始制定 H1 的目标和规划。所以这段时间也在想那技术上23年会有哪些重点发展可以做的。因为目前主要做云原生技术下微服务开发平台的建设和业务支持,所以想在这里稍微张望和展望一下。

关于23年云技术的一些思考

1. 多云管理

1. 出海是大的一个方向
2. 数据合规和地域保护

22 年大家都在积极主动的出海,尤其目前在做的游戏业务这方面,但是出海也有很多的问题,一方面国内很多公司都是自建idc或者租用idc,云的应用、云原生的应用至少在22年还没有成为一个普遍的方式。

23 年的出海我目前看各个公司会更看重。一方面国内市场趋于饱和,另外一方面海外各国在 gdpr 的基础上都在不断完善海外互联网服务法律制度,经过这几年的打磨支队在趋于稳定(或许还有部分在变化,但是大的方向是明确的)。

但是出海,在海外要想底成本的出海,云和云原生是目前最佳的方式,一方面你不用去海外自建机房或者租用idc构建,这个管理运营成本一笔不小的开支。另外应对海外尝试和全球化的支持,必然会有多个云服务商的接入,很难一朵云吃遍全世界。

所以多云管理是一个有一定规模服务的公司必须要有的能力。通过高效的多云管理,降低内部开发同学对各种云的使用成本。就目前看各种云的使用还是有比较大的差异,好在云原生技术在不断延伸和落地在各个云上。

2. serverless

1. 带来的便利
2. serverlses 2个方向
	1. 以高隔离docker为基础+HPA调度
	2. 以高性能的ebpf+wasm的运行时

首先从应用的角度来看,开发者不是为了申请资源来的,开发者是为了开发应用功能,实现应用目标,至于底层的资源问题最好是能平台托管解决。让应用开发者更聚焦关注于应用。所以我认为这才是 serverless 的核心价值。

serverless 提出来也有很多年了,从最初在个别场景下的使用,到现在很多场景下在落地了。当然我认为这是 serverless 思路和观念也在不断发展变化。

最初我们接触的到 serverless 是一种非常理想的方式,方向很好,但是落地上有限,所以最初在云函数这种场景下尽心落地,包括最初的 openfaas,lambda,腾讯云的 cfs 等。包括说 knative 发展了这么多年还是有点影响力不足。

但是随着发展目前发展思路有些变化结合 k8s的 CA,HPA 大部分场景都可以做到 serverless。但是今年我看到2中趋势的发展:

1. 以高隔离docker为基础+HPA调度

这种目前很多类似腾讯云的 EKS,aws 的spots等,各个云厂商都有,目前我们也在大规模使用,大部分的前后台服务都可以低成本的迁移上去。未来是一种大趋势,在运维人力的节省上不止一点半点。

2. 以高性能的ebpf+wasm的运行时

wasm 最近有人在不断吹风说未来可以替代 docker,替代 k8s 等等。很多标题不管什么风就先来吹一波,很讨厌。

但是从 serverless 发展的趋势来说以 ebpf+wasm 很有可能做起来的,之前的 serverless 都是基于 docker 的方式或者其他运行环境来做的,优化点也是如何优化 docker 的镜像大小,启动速度等等。但这方面 wasm 确实很有优势,wasm 技术这两年我也在持续关注,但是这几年的发展相对比较缓慢,一方面有技术的问题,另一方面有应用场景的问题。

另外 serverless 中还有一个时间驱动服务,之前往往都是在应用层做事件捕获和驱动。效率和性能相对还是有问题的。但是 ebpf 的出现在这块应该可以做到一个很好的增强。

所以对这块技术来说,向这两个方向发展的可能性会很大,第一种很可能在 23 年有很大规模的落地,但是这种 serverless 在实效性上还是不够,基本上都是1~2分钟内,但是好在迁移成本低,应用面比较广,应用程序基本不需要做太多修改。

第二种还在技术研究上,可能有突破。 这种实现可做到秒级,甚至更低延时的扩缩容。但是应用程序要修改适配 wasm。

3. 应用可观测服务

1. 核心是服务数据产品化,

可观测性技术 22 年在技术理念上非常火爆,各种大会、各种技术、各种产品都在讲什么是可观测性,自己的可观测做的有多好。但是实际上市面上好的可观测产品并不多,做的也并不够多好。

但是我认为 23 年这块的技术产品会越来越成熟,并且真正能够基于这些产品来解决问题。一方面,22 在技术理念的发展给这些产品的发展做了很好的布道铺垫。

另一方面,我认为也是主要原因,云原生技术全面落地目前在一些大厂已经是事实,只有一些中小公司还在挣扎,但是我认为用不了多长时间也会全面接受云原生技术的。云原生技术的的落地,在应用的规范上起到很好的约束作用,让规模化、模式化的数据采集和分析成为可行。这样才能做出来一个产品大家基本都可以使用,而不是要重新修改适配各种场景。

云的使用,使得可观测性变的更为重要,开发不直接接触底层,那整个底层和应用的各种分析就需要一个系统化的服务来支撑。可观测性平台产品就尤为重要了。

4. finops

目标是把云用的更好,更能体现服务和云的价值。解决应用开发者对成本的感知,并驱动其持续不断的优化。
1. 成本可观测
2. 成本可运营
3. 成本可分摊

在国内外降本增效的大风之下,对成本的要求越来越精细。这方面云做的很好,目前很多云产品已经开始以分钟来计费。

而对于应用开发者来说这种细粒度的计费非常有价值,让大家在做服务的时候可以看到自己的服务才买成本是多少,开发成本是多少,结合收益预计就可以判多做这个服务的必要性。尤其对于大多数的短期营销类活动,基本上上线几天,几周就下线了。

这对于平台来说就更要有更高的要求,结合上面提到的多云管理,serverless,可观测。怎么能做到多云管理模式下的成本可观测,可运营。作为内部平台在多个业务在使用的时候还能清晰的做到成本计算和分摊。

finops 的理念 22 年也是不少人在提出,并且各个产品也在不断的出现,但是 22 年的很多产品都集中在成本的可观测,可运营上,甚至可运营 22 也只能说实在探索实现,

但是 23 年我认为这块的落地会更快,毕竟在管理成本可控的情况下,都希望好钢用在刀刃上。