2020年3月下旬的几周时间里,COVID-19使全球业务停滞不前,因此每个人都在试图找出应对这种疫情的最佳方法。那时候,没有人知道会发生什么,因此会议被取消,合同被搁置,项目被推迟。一切都停止了。
但是,到2020年4月初,我们见证了IT社区的工作重新焕发活力。尽管其他行业还不能恢复正常,但很快我们就明白,仍然需要IT来进行经济和社会活动。你甚至可以得出这样的论点:在这几个月中,IT挽救了全球经济。
但是,在IT行业中,基于云原生技术的开发仍在继续,该领域出现了一些有趣的技术趋势,让我们一起看下它们在未来几年内对云原生的影响。
系统设计:单体架构的回归
在过去的几年中,TNS一直在吹捧新兴的微服务风格的应用程序构建,该应用程序将大型应用程序分解为较小的,相互连接的组件,从而使团队可以在应用程序的不同部分上独立工作,而不会互相干扰。但是,微服务有其自身的一系列挑战,其中最臭名昭著的挑战之一就是跨组件调试的难度。
Kubernetes宣传大使Kelsey Hightower说,“单体架构就是未来,因为人们试图用微服务解决的问题并没有真正符合现实。” 大约在那时,服务网格Istio背后的设计团队就承认他们正在迁移到单体架构,其中将更多服务集成到单个守护程序中。
在所有问题上,对于任何给定项目而言,正确的方法都可能介于这两个极端之间(要么微服务架构要么单体架构),但是今年,微服务在企业软件设计中取得了平衡。
云服务:统一控制平面
尽管Kubernetes主要面向系统运维人员,但它已在如何轻松扩展和管理分布式应用程序方面引发了一场革命。对于开发人员而言,它仍然呈现了一个艰巨的学习曲线,需要了解一些新概念,如“ingress”,“pods”,“services”。
因此,毫不奇怪,我们今年对通用控制平面的想法产生了浓厚的兴趣,这将为企业构建自己的基于Kubernetes的服务平台奠定基础。Kubernetes将位于底层,开发人员无需为此担心。
早期的关键工作是称为开放应用模型(OAM)的标准化模板,该模板正迅速成为Kubernetes社区中的事实上的标准。Crossplane是Upbound建立的基于开源OAM的控制平面,引起了很多关注:IBM现在正在测试Crossplane帮助用户统一其IBM Cloud上的操作。
基于OAM的另一个吸引人的项目是KubeVela,这是一种可扩展的“平台引擎”。正如该项目的开发人员所解释的:“对于开发人员而言,KubeVela是一种易于使用的工具,使你能够以最小的努力描述应用程序并将其交付给Kubernetes,但对于平台团队来讲,KubeVela 是一个强大并且高可扩展的云原生应用平台核心引擎。基于这样一个引擎,平台团队可以快速、高效地以 Kubernetes 原生的方式在 KubeVela 中植入任何来自云原生社区的应用管理能力,从而基于 KubeVela 打造出自己需要的云原生平台。”
运维:可编程的Linux内核
由于引入了可扩展的Berkeley数据包过滤器(Extended Berkeley Packet Filter,eBPF),Linux内核在使用方式上有了重大变化。
尽管最初是针对高级内核的,。实际上,eBPF充当微内核,提供了使用Linux内核的更快,更安全的方式。这样,eBPF为开发人员 提供了一种将自己的程序添加到内核本身的方法。最直接的好处它将用于应用程序和系统监视,以及加快网络路由的决策过程,从而使内核能够进行内联的工作。
目前,几个专注于Kubernetes的公司,如Isovalent 和Tigera正在使用这个技术,以提供更快方式替代Kube-Proxy 的流量路由。
对于软件工程师来说,管理API仍然是一个挑战(Lawrence Hecht)
安全性:重新考虑漏洞管理
在过去的一年中,用于处理新的安全漏洞的当前系统,可能越来越不适合云原生计算的步伐。
来自云安全公司Rezilion的Tal Klein指出,当前用于对新近发现的漏洞进行优先级排序的行业系统,即通用漏洞评分系统(CVSS),已经不能满足人们了解攻击者如何利用漏洞来破坏系统。究其原因,一些人认为,过于关注严重性本身,而对背景缺乏足够的了解。
Rezilion发现,CVSS中具有“高严重性” 的漏洞中有67-75%从未加载到内存中,因此不可能被攻击者利用。同时,很少有公司对漏洞进行修补,因此攻击者正在利用较低评级的漏洞进行攻击。
开发:Rust逐渐替代C++
数十年来,我们的操作系统和其他重要的基础架构软件一直使用C或C ++编写,但是,如今,越来越多的系统架构师得出的结论是,由于用不安全的方式来处理内存和其他因素,要完全安全地保护用这些语言编写的程序从根本上来说是困难的。
所以最近,越来越多的拥护者选择了新的语言Rust,它不仅具有C/C ++的速度,而且还具有编写安全的应用程序所必需的组件。在2020年的AllThingsOpen虚拟会议上,微软云开发倡导者Ryan Levick 解释了为什么Microsoft逐渐改用Rust来构建其基础结构软件,而不再使用C/C ++。并鼓励其他软件行业巨头也考虑相同的问题。
译文链接:https://thenewstack.io/the-new-stack-top-cloud-native-technology-trends-from-2020/
本文转自 https://www.kubernetes.org.cn/8832.html,如有侵权,请联系删除。