写点什么

企业如何制定有效的多云策略来满足业务需求?

  • 2023-07-26
    北京
  • 本文字数:4711 字

    阅读完需:约 15 分钟

企业如何制定有效的多云策略来满足业务需求?

随着用户对边缘计算、安全合规、区域定制、用云模式等方面的需求不断增加,单一一朵云已经满足不了企业用户的现实诉求。在刚刚结束的 ArchSummit 全球架构师峰会 2023(深圳站)“多云和分布式业务架构实践”解决方案专场上,火山引擎云原生平台负责人沈健就围绕“海量算力下字节跳动的多云实践之路”为主题进行了分享,沈健基于字节跳动大规模云原生落地实践,分析了当前企业云管理难点、痛点,介绍企业从资源多云走向应用多云,获得更敏捷、更弹性、更灵活的全局应用治理能力的过程。


00:00 / 00:00
    1.0x
    • 3.0x
    • 2.5x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.75x
    • 0.5x
    网页全屏
    全屏
    00:00


    采访记者:InfoQ 资深编辑鲁冬雪

    采访嘉宾:火山引擎云原生平台负责人沈健

    嘉宾简介:2019 年加入字节跳动,曾先后就职于爱立信、EMC 、蚂蚁金服,主要从事泛基础设施软件相关的开发工作,在网络接入、多媒体子系统、大规模服务器应用公共组件、海量主机管理、云存储系统以及离在线混合部署等领域积累了丰富的实战经验。加入字节跳动后,先后领导了服务网格、智能运维、边缘计算、离在线主要存储以及泛 PaaS 等领域的产品研发工作,支撑了如头条、抖音等几十款应用的快速发展。


    InfoQ:您觉得当前企业云架构的新发展趋势是怎么样的?关于“多云、混合云、私有云”都可以分享。


    沈健:首先,企业的云架构必须紧密结合企业的业务需求和现有架构,不能仅仅从技术角度考虑。目前,企业云架构的核心重点在于长期的可演进性,为了满足企业的安全性、容灾性、合规性以及资产管理等需求,混合云架构已成为主流选择。


    其次,混合云本身是一种多云架构的体现。在多云环境下,企业可以选择使用公有云或私有云的组合方式。从长远来看,混合云和多云仍将是未来的主流趋势。


    InfoQ:您认为在新趋势的推动下,企业的云战略,包括底层逻辑发生了哪些变化?


    沈健:企业的云战略需要和企业的业务发展需求和整体目标对齐。过去,企业上云主要解决资源问题,随着上云,企业开始使用云上的自动化工具和 PaaS 工具,以提高研发效率。然而,随着深度上云,企业逐渐采用云上经过验证的成熟模式,包括生产、管理和营销等。因此,企业云战略的底层逻辑从追求资源转变为追求效率,最终实现对企业整体生产经营数字化的能力提升。


    随着越来越多企业上云,先行者已经走得更远,后来者更多是追随者。如果不追随,随着社会生态的变化,企业将脱离社会生态。因此,后来者的选择大多是追赶先行者的能力。由此看出,不同阶段对不同企业上云的底层逻辑也有所不同。


    InfoQ:在企业的云架构中,在实现多云策略的落地过程中,企业主要面临着哪些挑战?大家是怎么应对这些挑战的?


    沈健:企业多云面临着众多挑战,我在演讲中也提到了字节跳动在实施企业多云过程中遇到的一些技术挑战。从技术层面来看,企业多云实施过程中将面临许多基础设施兼容性方面的挑战。兼容性的挑战对于大多数企业来说并不容易克服。此外,还面临着业务架构方面的挑战,例如业务架构的容灾性和业务规划,这将对企业的多云战略产生一定影响。


    从整体来看,许多企业自行解决这些问题存在一定困难,或者说在专业水平上有一定难度。因此,一般建议企业与 IT 服务商和云供应商合作解决这些挑战。在这个过程中,更多地要考虑云供应商的意愿度、服务能力、资质以及实践经验等综合因素。


    InfoQ:在云战略的制定和执行过程中,企业应该如何平衡成本、效率、安全和灵活性这些因素?


    沈健:首先,这个问题并不能一概而论。对于每家企业来说,上云的动机主要是出于其业务需求。如果企业的业务正处于较为盈利的阶段,那么企业的首要目标应该是追求效率,进一步扩大业务规模才是最有价值的。在这个过程中,需要同时考虑安全问题,因为一旦安全出现问题,可能会对企业的整个经营和生产造成较大的影响。


    此外,如果企业的业务效果并不明显,或者面临各种挑战,那么企业可能需要更加关注成本,在考虑未来灵活性的同时兼顾成本问题。


    InfoQ:在多云的环境下,云原生应用的部署与管理存在什么样的问题?企业的业务架构又因为这些问题的存在发生了怎样的改变?


    沈健:在多云架构下,首要考虑的是业务规划问题,即确定是否需要实施跨多云业务或在不同云平台上部署不同业务的模式。这种决策模式将对业务架构,尤其是数据架构产生重大冲击和影响,尤其是涉及到多云容灾或业务跨云的情况。


    对于单一业务跨多云的模式,我们需要更加关注业务子系统之间的相互依赖关系,以及多云层面上可能出现的延迟、容灾和爆炸半径等相关影响。这些因素将对整个生产经营活动的安全性产生重大影响,因此对于这部分架构,我们需要特别注意。


    InfoQ:在大规模的生产环境下,企业应该如何确保云架构的稳定性、可靠性以及可扩展性?


    沈健:稳定性一直是一个永恒的话题,只有将各个方面的工作都做好,才能确保整体的稳定性。从架构的角度来看,云原生架构是一种非常出色的架构,特别是微服务。因为它将复杂的问题逐步分解为一系列小问题,从而简化了问题,降低了出错的概率。


    此外,由于云原生架构可以将问题解耦成一系列小问题进行破解,所以业务在单点层面遇到的扩展性问题,可以通过弹性的方式轻松解决。因此,云原生架构在可扩展性方面非常出色。


    关于稳定性和可靠性,其最关键的是快速发现和解决问题的能力。目前基于 Kubernetes 的容器服务具有很强的自我恢复能力,并且具备快速更新的能力。从字节跳动内部的实践来看,我们每天进行 3 万多次的更新。一方面支持产品的快速迭代,另一方面在遇到问题时能够快速规避甚至回滚以解决问题。因此,即使在局部出现一些小问题,从整体角度来看,如果从外部感受,我们遇到的大规模稳定性问题非常少。


    InfoQ:可以分享一些字节跳动在实施多云策略过程中的一些经验或者教训吗?字节又是如何应对这些挑战的?


    沈健:一开始,字节采用了业务多云的方式,即将不同的业务部署在不同的云平台上。然而,这种方式带来了很多管理上的浪费和资源上的浪费。特别是对于一些重型服务,它们最初是基于物理机和主机的,这种基于主机的模式对主机具有很高的依赖性。因此,一旦进行迁移,由于底层基础设施的变化,换一种云的成本非常高,因此业务并没有强烈的动力去进行迁移。此外,在遇到资源紧张或容灾需求时,改造成本也非常高。因此,后来我们采用了全面的云原生化方法来解决这个问题,这是第一个方面的问题。


    第二个方面是,在使用多云的过程中,最初对于一些核心服务或存储服务,它们对于容灾域的感知并不强。为了统一所有服务,我们在分布式云平台和联邦层面上实现了对容灾域的感知。这样,在部署和运维过程中,这些业务能够自然地感知底层可用区带来的变化,并且可以减少对应的影响范围。


    InfoQ:在今天演讲中,您提到了字节跳动在云管理方面的挑战和解决方案,您能否跟大家进一步分享这些解决方案是如何帮助字节提高云管理效率的?


    沈健:我刚才提到,推广所有基于物理机的业务时,规划变得非常困难。有时候业务也无法准确回答后续需要多少资源容量的问题。在整个技术链的过程中,涉及到多个方面,需要逐层推导。只要有一层出现错误,最终得到的结果可能就不准确。这是在资源规划方面存在的问题。对于推进日常运营活动也会带来很大的挑战。


    此外,从运维者的角度来看,为了应对资源短缺或提高资源效率,他们需要进行各种平衡。例如,在一个集群中添加更多的机器,或将机器迁移至另一个集群。这种来回调整本身会导致运维工作量的浪费。同时,由于频繁的迁移和调整,还可能引发更多不必要的故障。字节跳动选择发展分布式云平台,实际上也是因为内部存在一些痛点的积累。


    InfoQ:在多云环境中,关于云原生应用的部署和管理您是怎么看的?当前火山引擎有哪些新技术和工具可以帮助企业实现云原生应用的部署和管理?


    沈健:从云原生应用的部署管理角度来看,不同业务可以采用独立的管理模式,火山引擎也提供相应的容器服务能力供客户使用。此外,企业想要进行多云对等部署时,通常会使用一些 DevOps 平台。火山引擎还提供类似于持续集成的能力,并且具有相对较高的开放性,可供客户选择。


    对于我们内部的实践而言,考虑到多云的灵活性和业务部署前期的不可预测性,我们更倾向于推荐客户使用我们的云原生多云应用平台。该平台有很多的灵活性,能够轻松进行调整。对客户而言,它具有出色的灵活性、操作便捷性和后期运维的可靠性。


    InfoQ:在分布式云的环境下,企业是如何优化自己的云原生应用的性能和资源利用率的?


    沈健:性能和资源利用率是两个不同的问题。性能主要指应用的运行效率,包括应用本身的延迟和其所能承载的容量。较高的性能通常意味着更少的资源使用。对于云原生应用的性能,由于应用链路较长,我们通常建议用户使用全链路的追踪能力,例如应用性能监控(APM),以便更方便地定位瓶颈所在。对于单个应用,也可以使用一些性能分析工具来确定应用的瓶颈,并通过逐层治理的方式提高性能。


    资源利用率则不仅仅依赖于单个应用的提升。一方面,它需要更高的部署密度。在我们内部的实践中,字节跳动的联邦集群模式(即开源的 KubeAdmiral 模式)可以提高约 10%的部署密度,减少碎片化,从而在一定程度上提高资源利用率。


    此外,单个应用的在线服务器很难实现高资源利用率。因此,字节跳动采用了混合部署模式,即将 CPU 利用率高的应用与 CPU 利用率低的应用相结合,以实现资源自然分配的提升,这就是所说的混合部署模式。


    InfoQ:您觉得在快速变化的业务需求和技术趋势之下,企业如何适应这些变化?为了持续保持竞争力,您觉得他们需要做哪些事情?


    沈健:这个问题涉及到企业采用云原生架构的核心问题。首先,企业的竞争力来自于其对外部快速变化的响应能力。云原生架构能够快速响应外部快速变化的需求,因为它能够快速支持架构的更新和变化。


    另外,对于复杂架构而言,企业需要拥有专业化的人才。特别是传统的单体应用,需要拥有非常专业化的人才。然而,招聘这样的人才对企业来说可能存在一定的难度。而一旦招聘到这些专业人才,如何快速将他们投入到相应的应用中,以支持企业快速的 IT 变化,也是一个启动成本的考量。


    在字节跳动的发展过程中,我们积累了一些经验,即云原生化和服务网格化。通过使用各种开放的中间件技术,我们能够满足具备不同语言技能的员工的需求,使他们能够专注于企业的核心逻辑。这种方法既降低了企业的启动成本,又能够快速应对新的变化。这是字节跳动采用的一些方法。


    InfoQ:展望未来,在多云分布式云发展的下一阶段,企业应该如何规划和设计自己的云架构,从而实现更高效、更灵活以及更安全的云服务?


    沈健:对于企业而言,有两种选择。一种是采用可演进的架构,逐步将当前的架构调整为符合云的主流架构。另一种是在业务模式或应用系统发生重大变化时,直接使用新的架构来解决问题,采用一次性的迁移方式。这种方式可以降低企业的成本。大型企业通常会选择可演进的架构,因为他们可能有很多历史遗留问题需要解决。在这种情况下,他们对于 IT 咨询和服务提供商的专业水平要求较高。相关实践经验在这方面将起到指导作用。


    InfoQ:火山引擎云原生下一步的主攻方向是什么?主要会解决用户的哪些问题?会有哪些创新?


    沈健:有几个关键方向需要注意。首先,AI 智能化的发展越来越迅猛,成为未来的主流趋势。因此,在云原生化中,特别是在线 AI 应用的云原生化上,是一个重要的发展方向。其次,分布式云的资源变得越来越零散。如何让用户能够更好地、无感知地使用这种分布式云,并具备智能的调度能力,使其应用能够灵活地适应这一体系,对用户而言也具有很大吸引力。


    此外,从云本身的发展角度来看,已经从虚拟机模式逐渐向云原生发展,而下一个阶段则是向更上层的 Serverless 化发展。对于一个可演进的架构来说,这也是我们目前关注的重点。在字节跳动内部,我们已经经历了这样一个可演进的架构,并在不断将其标准化,逐步向外部提供这样的能力。

    2023-07-26 14:304553
    用户头像
    鲁冬雪 GMI Cloud China Marketing Manager

    发布了 363 篇内容, 共 278.6 次阅读, 收获喜欢 298 次。

    关注

    评论

    发布
    暂无评论
    发现更多内容

    从“汽车制造”生活案例到软件的建造者模式

    宇宙之一粟

    设计模式 建造者模式 Go 语言 10月月更

    2022最新CSS高频面试题指南

    CoderBin

    CSS 前端 面试题 秋招 10月月更

    订单中心架构设计与实践

    小小怪下士

    Java 程序员 系统架构 架构设计

    “程”风破浪的开发者|学习中的境界

    林冲

    学习方法 “程”风破浪的开发者

    对话创始人:团队研发效能应该如何管理和度量?

    LigaAI

    团队管理 敏捷开发 研发管理 研发效能 企业号十月PK榜

    如何提升研发效能?我们先从指标谈起

    Kyligence

    数据分析 指标管理

    报名倒计时1天!平头哥、中科院软件所PLCT实验室等技术专家解读最新RISC-V技术

    OpenAnolis小助手

    报名 risc-v 云栖大会 Workshop 龙蜥峰会

    String源码分析(二)

    知识浅谈

    String类 10月月更

    36氪|元年科技发布新版数字化PaaS平台,更新多个组件

    元年技术洞察

    方舟 PaaS 中台战略 企业数字化

    JUC 浅析(三)

    Andy

    如何在C#或VB.NET程序中为幻灯片添加或删除批注

    Geek_249eec

    C# PPT VB.NET

    推广TrustAI可信分析:通过提升数据质量来增强在ERNIE模型下性能

    汀丶人工智能

    nlp

    阿里云云边一体容器架构创新论文被云计算顶会 ACM SoCC 录用

    阿里巴巴云原生

    阿里云 云原生 容器服务

    JUC 浅析(四)

    Andy

    27位技术实战派负责人齐聚 深聊降本增效 你一定不想错过!

    阿里技术

    云计算 云原生 云栖大会 降本增效

    京东云开发者|京东云RDS数据迁移常见场景攻略

    京东科技开发者

    MySQL 数据同步 数据迁移 云迁移 数据订阅

    要努力,但也别焦虑

    源字节1号

    程序人生

    专访韩向东|元年科技:专业与技术并重,赋能财务数字化转型

    元年技术洞察

    数字化转型 财务数字化

    数字化时代,企业如何创新自己的客户服务

    Baklib

    从清华大学到苏州经贸,双一流和普通高校都在使用的数据科学教学实训平台

    ModelWhale

    大数据 人才培养 数据竞赛 实训 教学

    手把手教你从安装CentOS7.4镜像开始,搭建IoT视频监控系统

    华为云开发者联盟

    后端 开发 华为云 企业号十月 PK 榜

    vue3 name 属性的使用技巧

    new_cheng

    Vue 前端 Vue3 VUE 3.0 源码

    华为数通HCIA小型拓扑综合实验,运用OSPF动态路由协议、ACL访问控制列表,交换机生成树协议,修改交换机根桥、交换机划分vlan、链路聚合等相关数通技术、NAT地址转换以及NAT网络地址转换的配置

    Python-派大星

    10月月更

    NAT基础:NAT技术原理,静态NAT、动态NAT、NAPT、Easy IP、NAT Server的原理,以及各NAT的配置方法和转换示例。

    Python-派大星

    10月月更

    软件测试丨接口测试该怎么做?持证上岗的Charles,可以帮你做什么?

    测试人

    软件测试 接口测试 charles 测试开发

    软件要想做的好,测试必定少不了

    华为云开发者联盟

    测试 开发 华为云 企业号十月 PK 榜

    AR人体姿态识别,实现无边界的人机交互

    HarmonyOS SDK

    AR

    FlyFish一周年,社区大咖邀你共话开源!

    云智慧AIOps社区

    低代码 可视化 数据可视化 大屏可视化 无代码

    ACL访问控制列表 基础、创建ACL访问控制列表的两种方式、配置ACL访问控制列表规则、修改ACL规则的默认步长。子网掩码、反掩码、通配符掩码的区别和作用。

    Python-派大星

    10月月更

    教你处理数仓慢SQL常见定位问题

    华为云开发者联盟

    数据库 后端 华为云 企业号十月 PK 榜

    Spark on k8s在阿里云EMR的优化实践

    阿里云大数据AI技术

    大数据 spark 企业号十月PK榜

    企业如何制定有效的多云策略来满足业务需求?_云原生_鲁冬雪_InfoQ精选文章