深入解读基础软件云原生面临的挑战 | 龙蜥技术

这篇具有很好参考价值的文章主要介绍了深入解读基础软件云原生面临的挑战 | 龙蜥技术。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

2022 长沙 · 中国 1024 程序员节已于 10 月 23 - 25 日在长沙、北京等多地圆满举行。本次程序员节以“算力新时代,开源创未来”为活动主题,开设十余场专业主题论坛,覆盖多个技术领域。龙蜥社区云原生 SIG Owner 王强在1024程序员节北京峰会分享《基础软件云原生挑战》演讲,以下是本次演讲内容:

云原生挑战,龙蜥技术,龙蜥社区动态,云原生,java,云计算

云原生的定义比较多,有 CNCF 的,也有各大云厂商的一些定义,广义的云原生是应运而生的系统架构,生在云上,长在云上,能够充分地利用云计算的基础设施。cncf 里面的定义更多是关注在技术和架构层面,通过容器、微服务、 不可变基础设施、声明式 API,基于云,实现现代应用架构的构建。

云原生挑战,龙蜥技术,龙蜥社区动态,云原生,java,云计算

经过这些年的发展,可以看到准备或者已经在生产环境使用容器技术的用户数已经达到受访者的 93%,这是一个相当高的比例。同时 2021 年 CNCF 也发布年度调查报告,宣布跨越鸿沟,成为容器编排的事实标准。可以看到云原生的趋势已经势不可挡。

云原生挑战,龙蜥技术,龙蜥社区动态,云原生,java,云计算

那么云原生给我们带来了哪些变化,对于底层开发同学,这些变化里面蕴含着哪些机会?结合下面的图我们来看看。

传统形态里面,用户是需要完整负责软硬件技术栈,不单需要懂你的程序,你的程序执行的软件环境,还需要懂你机器的硬件环境。这种时候真要做一个应用挑战是比较大的,需要找 OS,还需要管运行应用的物理机器部署到哪里,网络怎么办等等。

到了虚拟化或者 IAAS 场景里面,我们只需要负责程序和软件原型环境,硬件相关的就交给 IAAS 提供方负责。这里面之前物理环境、物理网络这些就不需要再关心,只需要关注好自己的应用和基础 OS 环境。但是 OS 相关人才是很稀缺的,真正需要解决底层问题,或者想充分发挥底层硬件的性能,这块对用户来说门槛很高。IAAS 相关技术已经发展了十多年,整体上也还有不少挑战,不过对上层已经相对比较成熟。

到云原生场景,通过标准化应用运行环境和应用编排系统,用户就只需要关注业务逻辑,这样能够大大节省底层相关开销,提升创新速度。但是用户的简单,意味着平台层的挑战就更大,需要将应用或者函数执行的 runtime、OS、kernel都进行覆盖,当然挑战和机遇并存,也正因为这些挑战,同时也给了基础软件同学更多的机会。

云原生挑战,龙蜥技术,龙蜥社区动态,云原生,java,云计算

用户界面上移,带给我们哪些挑战和机会?我们可以先整体看看云原生系统的架构。最上层是云原生应用,其中容器场景我们有一层是应用运行环境——容器镜像,函数场景也还好包含语言 runtime。第二层左边是云原生管控,负责应用定义、业务编排、服务框架。右边是我们核心关注的云原生节点系统。里面可以分为云原生节点管控、节点安全、节点运维、云原生运行时,云原生存储,云原生网络,以及底层支撑容器运行的容器优化 OS。最下面的是支撑整体云原生的基础设施服务。接下来我们来看下各个子模块里面的一些具体挑战。

首先来看下最底层的云原生容器 OS。传统的 OS,由于需要考虑复杂的应用运行环境,需要内置大量的服务和驱动,整体 OS 存在体积臃肿的问题。同时由于 OS 用户可以直接修改,没有合适的管理,很容易出现节点 OS 版本零散,进而集群的 OS 环境状态不一致,问题定位和升级困难。另外传统操作系统里面包含有大量容器场景不需要的包和系统服务,容易给云原生带来更大的攻击面。另外云原生场景,根据业务流量,动态的对节点进行扩缩容是常态,可以有效降低业务成本。但是动态扩缩容场景,传统 OS 并没有包含云原生相关组件,导致 OS 扩容后需要逐个下载包,并启动服务,高并发情况下载和启动服务都可能带来稳定性风险,同时也因为这些耗时操作,也会导致节点扩容耗时高,进而影响用户使用。

针对这样系列挑战,社区和云厂商纷纷推出了容器优化 OS,比如阿里云的LifseaOS、AWS 的 BottlerocketOS;红帽的 CoreOS,也足见相关挑战在云原生场景下的共识。

云原生挑战,龙蜥技术,龙蜥社区动态,云原生,java,云计算

接下来我们再来看看云原生运行时的挑战。

传统 Linux 原生容器直接跑在节点上面,不同业务和租户的容器通过节点进行隔离,由于共享内核且无有效安全隔离,存在较多的安全风险挑战。同时这种隔离存在资源碎片问题,也无法有效的利用不同容器的特征实现整体利用率的提升。针对这些问题,云原生里面又涌现出了运行时。安全容器是比较早出现的,通过结合虚拟化技术和容器技术,有效的避免了容器逃逸带来的风险,保障了节点的安全。但是引入的虚拟化层,又同时带来了比较大的开销,这也是很多人不敢使用安全容器的一个担心。不过有问题其实也就意味着机遇,这些年连续出现了gvisor、firecracker、rund 等相关技术,核心是用来解决安全容器的资源开销挑战问题,可以说通过虚拟化技术和容器结合,开辟了一个新的方向,带来了诸多的机会,通过这些年的发展也取得了不错的成果。

针对不同业务和租户混合部署的问题,同时也出现了另一个虚拟机容器,通过 k8s 来管理虚拟机,让用户既能够支持原来 IAAS 层的虚拟机相关资源,同时也能够支持容器。

随着机密计算 TEE 相关硬件技术的发展,机密容器也应运而生,通过机密容器,能够让基础设施无法访问到容器内部的数据,进一步保障了用户的隐私安全。在越来越重视隐私的未来,这块也必将得到更多的应用。但是机密容器当前始终面临的大挑战是性能,加密的内存、加密的存储、加密的网络,都给当前的软件栈带来了比较重的负担,需要软硬件结合发展,才能够最终实现机密容器的普惠发展。

云原生存储是一个比较宽泛的概念,这里我们简单看下里面容器镜像和数据加速方面的。

容器带来了应用打包分发的标准化,但同时也让应用需要额外包含一个运行应用的环境,让应用体积成倍增大。在并发场景,由于不同节点的 pod 启动都需要下载镜像,镜像仓库的带宽往往会成为瓶颈。另外容器镜像单独存储,也使得容器启动依赖于镜像下载,对应一些 serverless 场景镜像下载会严重拖慢容器启动速度。此外,对于存放大量镜像的镜像仓库,里面每个容器都包含有一个运行环境的基础镜像,这部分是有大量的重复数据,如何能够有效的提升存储效率也是一个比较有挑战的工作。

随着学术界研究表明一般容器镜像只有 6% 内容会被实际使用,直接牵动了整个容器镜像的大量优化工作,比如容器镜像的按需加载,比如 P2P。各大云厂商为了解决容器镜像加载问题,也是各显神通,有将镜像集成到云盘的,有为镜像构建索引文件的,有构建新的镜像存储格式的。但是目前还没有形成一个统一的方案,也没有形成标准,这块后面还有不少路需要走。

存储里面另外一块是数据加速挑战,大数据和 AI 场景云原生应用依赖的数据量往往比较大,但是这些数据里面真实访问的往往只是里面很小一部分,而且会有比较多的热点。是否能够通过小的缓存,实现大存储数据访问的加速,是一个比较有挑战的。另外 AI 场景,由于 GPU 很多数据依赖于存储,由于存储访问速度慢进而拖慢整个 GPU 资源使用效率问题比较常见,如何有效地提升这些数据访问带宽。

这块这几年开源的比较多,比如 Nydus、Dragonfly、fluid、stargz 等,给大家带来了比较多的选择。

看完存储,再来看下云原生网络。

云原生场景,同时随着微服务化和函数化,实例规格也越来越小,同时便捷的扩缩容也对网络弹性提出了较大的挑战。为了避免故障影响面,通常需要将服务分散到不同的物理节点部署,在规模大的情况,路由更新会是一个比较慢的过程,需要数秒甚至到分钟级,对云原生应用快速弹性带来了比较大的制约。同时随着规格的减小,单节点部署的实例规模也会越来越高,这种情况如何支撑单节点的高密网络,也是存在比较大的挑战。另外,随着内核 eBPF 技术的发展,给云原生网络优化也带来了诸多机会,基于eBPF 的 kube-proxy 优化,基于 eBPF 优化ovs,也是有不少的机会点。

最后再来看看云原生安全。中国开源界这几年在快速的发展,而且是越来越正规的发展,安全在开源里面挑战确实很大,因为开源软件本身供应链上面没有很好的保障,大家都可以往里面贡献代码,所以安全这个地方确实是真的很需要大家下功夫的一个点。云原生作为整体底层架构的创新,也同样面临诸多安全挑战。

在供应链安全上,我们可以看到容器镜像安全是个大的挑战,大量公用的容器镜像,并没有直接为其来源进行有效审核和跟踪。配置文件安全也是云原生一大关注点,用户证书的安全保障,节点被攻击后如何有效避免对整个集群的攻击。再就是云原生软件栈安全,软件栈的 cve 维护和更新,软件栈供应链的安全。同时运行时也面临不少安全挑战,之前已经介绍过,这里不再展开。

另外一个就是安全的检测和风险阻断。基于 eBPF 能够实现轻量的安全检查,同时也构建了越来越完善的安全阻断能力,这给传统的安全检测和风险阻断带来了不少机遇。

云原生挑战,龙蜥技术,龙蜥社区动态,云原生,java,云计算

基于过去的一些经验给大家分享了一些在云原生技术上的挑战,阿里云过去几年在云原生领域成立了袋鼠云原生底层系统相关的组,我们是整个专注在底层系统核心技术上突破。同时,在这个过程中我们也积极的参与上游开源社区,在内部构建自己系统的时候也希望这些技术开源出来让大家共同使用,整体推动国内基础软件在云原生领域得到蓬勃的发展。

当然,我们也成立了龙蜥云原生 SIG,专注在云原生底层系统上的构架,我们希望秉承着开放协作、共迎挑战、共创云原生未来这样一个方式和社区伙伴携手共进。希望大家能够体验我们容器云原生这块的技术,真正把这些技术应用到生产环境,帮助业务获得更低的成本、更高性能、更可靠的安全性。

2022年云栖大会,龙蜥社区特设云原生专场分享,点击这里一键查看详情,本次专场只对外开放 30 个报名名额,报名且现场参会的同学人人一份龙蜥伴手礼!记得文末点击报名~

(点击图片查看详情)

云原生 SIG 地址链接

https://openanolis.cn/sig/cloud-native

—— 完 ——文章来源地址https://www.toymoban.com/news/detail-668794.html

到了这里,关于深入解读基础软件云原生面临的挑战 | 龙蜥技术的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 区块链面临的挑战(一)

    id:BSN_2021 公众号:BSN研习社 分布式存储、加密算法、共识机制,具有这些典型技术特征的区块链技术自一诞生,就被诸多行业看好,蕴含巨大的潜力。从实践进展来看,区块链技术在商业银行的应用大部分仍在构想和测试之中,距离在生活、生产中的运用还有很长的路,而要

    2024年02月16日
    浏览(50)
  • 云时代,运维面临的挑战与机遇

    上云, 已经成为了企业势不可挡的选择。云计算所拥有的“软件定义一切”的特性,推动了敏捷弹性、DevOps、智能运维和基础设施即代码等自动化运维趋势,给企业研发运维体系的进一步升级带来机会,也给企业架构师与运维工程师带来了新的挑战。 企业上云带来哪些好处

    2024年02月07日
    浏览(71)
  • 大数据安全目前面临得主要挑战有哪些

    大数据安全挑战 大数据安全风险伴随大数据应用而生。随着互联网、大数据应用的爆发,数据丢失和个人信息泄漏事件频发,地下数据交易黑灰产造成数据滥用和网络诈骗,并引发恶性社会事件,甚至危害国家安全。如 2015 年 5月,美国国税局宣布其系统遭受攻击,约 71 万人

    2024年02月06日
    浏览(37)
  • 洛谷密钥被破解:加密安全面临新挑战

    密钥管理是加密系统中非常重要的一环,它涉及到密钥的生成、存储、分发、管理和销毁等多个方面。在密码学中,密钥是保护数据隐私和安全性的核心因素之一,因此,确保密钥的安全和保密性显得尤为重要。在2016年举办的 CQOI 数论竞赛中,洛谷 4358 密钥被成功破解,这一

    2024年02月10日
    浏览(37)
  • ChatGPT: 深入解读OpenAI的语言模型技术

    引言部分旨在介绍ChatGPT是什么,为什么它是近年来最受欢迎的语言模型之一,并概述本文的主要内容。 1.1 简介 ChatGPT是由OpenAI开发的一种基于深度学习技术的对话生成模型。它采用了最先进的自然语言处理技术,可以生成高质量、流畅的对话内容。作为一种人工智能对话模

    2023年04月22日
    浏览(39)
  • 深入解读命令执行:基本概念、攻击技术和防范应对

    数据来源 部分数据来源: ChatGPT          命令执行漏洞的产生原因主要是输入验证不严格、代码逻辑错误、应用程序或系统中缺少安全机制等。攻击者可以通过构造特定的输入向应用程序或系统注入恶意代码,从而在受攻击的主机上执行任意命令。 具体来说,以下是一

    2024年02月03日
    浏览(37)
  • 企业电子招标采购系统源码之传统采购模式面临的挑战

    采购类型多 采购制度:采购金额、部门、品类的差异导致管理标准不同。 采购流程:从供应商管理、寻源操作到合同签订、订单执行,业务流程长,审批节点多,传统管理透明度低,联动性差。 供应商管理难 寻源:源头少,途径缺乏。 核验:身份、资质审查核验难。 管理

    2024年02月07日
    浏览(43)
  • Iceberg-Trino 如何解决链上数据面临的挑战

    区块链数据公司,在索引以及处理链上数据时,可能会面临一些挑战,包括: 海量数据。随着区块链上数据量的增加,数据索引将需要扩大规模以处理增加的负载并提供对数据的有效访问。因此,它导致了更高的存储成本;缓慢的指标计算和增加数据库服务器的负载。 复杂

    2024年02月02日
    浏览(45)
  • Java版本的工程项目管理系统源代码之工程项目管理系统面临的挑战

    ​ ​工程项目管理系统是指从事工程项目管理的企业(以下简称工程项目管理企业)受业主委托,按照合同约定,代表业主对工程项目的组织实施进行全过程或若干阶段的管理和服务。 ​系统定义 工程项目管理企业不直接与该工程项目的总承包企业或勘察、设计、供货、施

    2024年02月03日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包