随着 Kubernetes 和容器技术的日益成熟,越来越多企业正开始将他们的业务应用迁移到云端。通过采用云原生架构,这些企业可以更好地支持业务的高速发展和稳定运行。
而随着云计算向开发流程纵深发展,Serverless 架构的成熟让云原生技术进入全新阶段——Serverless 把公有云弹性伸缩、免运维、快速接入等特性发挥到了极致,极大降低了用户的使用成本,让用户和企业只需要专注于其业务逻辑,实现真正意义上的敏捷开发。
为了更好地支持企业在业务应用中实现 Serverless 化的新型云原生理念,火山引擎云原生团队正在全面升级和创新产品,涵盖了理念、系统设计和架构设计等多个方面。他们致力于充分发挥 Serverless 技术的优势和价值,以帮助企业更高效地运行业务应用。
从节点中心到 Serverless 化架构
传统的 Kubernetes 架构通常以节点为核心,意味着团队需要在云服务器等资源节点上构建集群,并围绕这些节点进行运维管理。传统的 Kubernetes 集群架构需要在不同节点上管理容器应用的部署、监控和维护,这种方式需要更多的人力和时间投入来维护整个集群的稳定性和可靠性。然而,随着技术的发展,出现了一种新型的 Kubernetes 架构,即基于服务网格的架构。在基于服务网格的架构中,网络功能被抽象出来,并且通过专门的服务网格组件进行统
随着业务规模的扩大和节点数的增加,这种架构在容器应用的部署和运行方面通常会面临一些挑战,主要包括以下几个方面:
火山引擎弹性容器实例(Volcengine Container Instance,简称 VCI)是针对上述情况推出的新型云原生方案,它抽象自字节跳动内部多年云原生技术积累,是一种 Serverless 和容器化的计算服务——
通过Virtual Kubelet技术与火山引擎容器服务VKE紧密结合,弹性容器实例VCI可以为用户提供灵活的计算和Kubernetes编排功能,支持快速启动、高并发创建以及安全的沙箱容器隔离。
通过融合 Serverless 和容器的优势,弹性容器实例 VCI 能为企业提供一个高效、可靠和安全的运行环境,使用户能够专注于开发和运行云原生架构的应用程序,而无需关心底层基础设施的管理和维护,并且仅为业务实际运行所需要的资源付费,帮助企业更加合理地控制用云成本。
基础设施免运维、计算资源免规划
在传统自建 Kubernetes 集群的架构中,无论是控制平面还是数据平面,作为容器组 Pod 运行的载体,节点都位于 Kubernetes 架构的核心位置,当节点计算资源不足时,需要先通过增加节点来补充计算资源,才能支持业务工作负载的部署或者扩容。
在云上,以火山引擎容器服务 VKE 为代表的各类托管 Kubernetes 服务会代替用户管理和运维 Kubernetes 控制平面,提供具有 SLA 保障的托管服务。而对于运行用户实际业务工作负载的数据平面而言,则通常需要用户自行运维工作节点,并需要根据业务特征对节点所提供的计算资源进行提前规划,如在业务高峰需要进行提前扩容,在业务低谷则需要缩容。
因此,在传统以节点为核心的 Kubernetes 架构中,节点运维往往需要耗费技术团队大量精力;同时,如何平衡资源超前规划与资源成本问题,也成为企业进入“精细化用云”时代后不得不思考的问题。
弹性容器实例 VCI 提供了 Serverless 和容器化的计算服务,每个 VCI 只会为单个 Pod 提供运行环境和计算资源,用户无需关心底层节点的运维和容量规划,只需要按需部署容器应用即可。而在使用 VCI 部署容器应用时,可以使用原生的 Kubernetes 语义,与节点中心的架构并无区别。
在资源层面,弹性容器实例 VCI 以火山引擎计算基础设施作为资源池,提供多种资源类型的容器计算资源,方便用户根据业务需要灵活选择。同时,用户也无需关注资源容量规划问题,VCI 提供海量计算资源,不会出现传统节点中心架构下常见的 Pod 漂移(Drift)和重调度(Rescheduling)等现象,而进一步造成服务中断、性能波动、数据不一致、调度延迟等问题。
最后,容器服务 VKE 与弹性容器实例 VCI 的无缝集成,不仅实现了 Kubernetes 集群控制平面全托管,同时也为用户提供了数据平面(即弹性容器实例 VCI)的 Serverless 化全托管、免运维、安全隔离,极大地降低用户在 Kubernetes 基础设施上的运维成本,并且省去了容量规划的复杂性,从而使用户可以将更多精力聚焦于自身业务应用。
极致弹性,所需即所得
弹得省
根据 Flexera 在《2022 年云状态报告》披露的调查数据,受访企业自评估云成本浪费达 32%,“成本”已连续三年成为企业最关注的用云挑战之一——“精细化用云”开始得到越来越多企业的重视,如何在满足业务发展需求的同时节省云上成本开销,成为企业用云所需要解决的一项重要挑战。
弹性容器实例 VCI 在产品设计之初就围绕企业“云成本控制”的需求,强调按照实际使用资源量精细化计费,支持多种计费模式,助力企业真正用好云。
精细化计费:弹性容器实例 VCI 按照用户容器组(Pod)实际使用的资源计费,计费资源包括 vCPU、内存、GPU 等。同时 VCI 实例的计费时长为其运行时长,即用户 Pod 从下载容器镜像开始到停止运行为止所使用的时间,精确到秒级,真正实现了按实际用量计费。
提升装箱率:在云原生架构下,相较于传统计算资源,弹性容器实例的另一优势是减少闲置资源、提升装箱率,从而降低用户的计算资源使用成本。具体而言,Kubernetes 集群使用云服务器 ECS 作为工作节点时,需要在节点上运行 Kubernetes 所需的系统组件,因此需要预留部分计算资源,存在一定额外成本;而若使用弹性容器实例 VCI 作为计算资源,则只需要为业务 Pod 实际使用资源付费:
丰富计费方式:当前弹性容器实例 VCI 已正式支持按量计费,并将上线抢占式实例(Spot)付费模式的邀测活动,同时预留实例、弹性预约实例等预付费模式也有计划支持。通过提供多种付费模式,我们希望能帮助用户进一步优化对计算资源的成本管理和预算编制,针对不同业务场景选用不同付费模式,从而更好地协调业务资源需求与用云成本规划。
弹得出
弹性容器实例 VCI 充分整合了火山引擎的计算资源基础设施进行算力供给,并且根据不同的底层硬件能力提供了多种实例规格族供用户选择,提供差异化的计算、存储、网络性能,支持覆盖多种业务应用和服务场景。
CPU 通用型规格族:如通用算力型 u1、通用型 n3i 等,提供了均衡的 vCPU、内存、网络能力,可以满足大多数场景下的服务需求。
GPU 计算型规格族:如 GPU 计算型 gni2(搭载 NVIDIA A10 GPU 显卡)、GPU 计算型 g1v(搭载 NVIDIA V100 GPU 显卡)等,可在大模型训练、文本与图像生成、任务推理等各类 AI 计算类场景下提供高性价比使用体验。
最新推出的通用算力型 u1 实例规格族依托火山引擎资源池化技术和智能调度算法进行动态资源管理,能够为企业提供稳定的算力供应,并且支持多种处理器以及处理器内存的灵活配比,从 0.25C-0.5Gi、0.5C-1Gi、1C-2Gi 等细粒度小规格到 24C-48Gi、32C-256Gi 等大规格可供任意选择,具有极高的性价比!
背靠庞大的算力资源供给,弹性容器实例 VCI 也为用户提供了业界领先的弹性资源优先级调度策略:结合容器服务 VKE,我们支持用户通过自定义资源策略(ResourcePolicy)将弹性调度到云服务器 ECS、弹性容器实例 VCI 等不同类型算力资源池,并根据实际业务场景按照百分比阈值、优先级控制等策略进行调度分配。
这意味着用户可以将云服务器 ECS 算力资源池和弹性容器实例 VCI 算力资源池结合使用,享用海量火山引擎计算资源;同时,结合容器集群中的 Cluster Autoscaler 能力和 VCI,即便容器集群中未提前申请计算资源,用户也能够及时获得弹性资源高效支撑业务应用。
弹得快
面对在线业务不可预测的业务流量洪峰,确保业务运行稳定与用户体验至关重要;在业务发展的关键时刻,快速弹出计算资源与快速启用业务应用也非常关键。弹性容器实例同样天然适配这些场景。
一方面,火山引擎弹性容器实例(VCI)的弹性能力可满足分钟级数万核 vCPU 计算资源的需求,保证在业务需要时,快速弹出充足计算资源。当流量洪峰结束,业务工作负载降低时亦可迅速释放弹性计算资源,让用云成本更加节约。
另一方面,容器镜像拉取的耗时往往较长,这一点在大规模 Pod 并发启动的情况下更加严重。弹性容器实例 VCI 不仅具备 VKE 提供的多种容器镜像加速能力,如容器镜像延迟加载(镜像懒加载)、P2P 容器镜像分发等,也拥有容器镜像缓存能力这样的特有加速能力,根据实际测试数据,容器镜像缓存可以使容器镜像(数据量在百 G 以内)的 Pod 的整体启动耗时控制在十秒级别,帮助用户大幅提升效率、降低云成本。
结语
自 2022 年正式上线以来,弹性容器实例 VCI 服务了诸多大中型企业客户,在字节跳动内外部业务场景中得到了充分的实践检验。火山引擎云原生团队也基于客户服务经验,不断打磨产品能力,持续提升产品服务的质量和稳定性:
火山引擎云原生团队主要负责火山引擎公有云及私有化场景中 PaaS 类产品体系的构建,结合字节跳动多年的云原生技术栈经验和最佳实践沉淀,帮助企业加速数字化转型和创新。产品包括容器服务、镜像仓库、分布式云原生平台、函数服务、服务网格、持续交付、可观测服务等。
面向 2024 年,弹性容器实例 VCI 将持续在 Serverless Kubernetes 产品架构与形态下持续精进与探索,为内外部更多客户提供基础设施免运维、计算资源免规划、极致弹性的 Serverless 容器化产品与服务,能够更好地支持客户在 AIGC、生信科学计算、社交电商等业务场景的多种 GPU 和 CPU 的算力需求。
以上是火山引擎弹性容器实例:从节点中心转型 Serverless 化架构的利器的详细内容。更多信息请关注PHP中文网其他相关文章!