什么是工作量?

工作负载是指计算任务、流程或数据交易。工作负载包括执行和管理应用程序和数据所要求的计算能力、内存、存储和网络资源。在云框架内,工作负载是指使用云服务器托管的计算能力的服务、功能或应用程序。云工作负载依赖于虚拟机(VM)、容器、无服务器、 微服务、存储桶、软件即服务(Saas)、基础设施即服务(Iaas)等技术。

 

工作量解释

工作量包括计算机系统或软件正在处理的所有任务。这些任务可以是完成一个小的计算操作,也可以是管理复杂的数据分析或运行密集的关键业务应用程序。从本质上讲,工作负载定义了对 IT 资源(包括服务器、虚拟机(VM)和容器)的需求。

我们还可以根据数据处理、数据库管理和渲染任务等操作,在应用层面对工作负载进行分类。工作负载的级别和类型会影响系统的性能。在某些情况下,如果没有有效的管理,负载的强度会导致系统中断或运行缓慢。

 

工作量类型

对计算、存储和网络资源的独特要求决定了每种类型的工作负载。

  • 计算工作负载 是指需要处理能力和内存来执行其功能的应用程序或服务。这些功能包括虚拟机、容器和无服务器功能。
  • 存储工作负载 指的是需要大量数据存储的服务,如内容管理系统和数据库。
  • 视频流和在线游戏等网络工作负载要求高网络带宽和低延迟。
  • 大数据工作负载 要求处理和分析大型数据集,如机器学习(ML)和人工智能。
  • 网络工作负载 是指通过互联网访问的应用程序或服务。其中包括电子商务网站、社交媒体平台和网络应用程序。
  • 高性能计算工作负载 指的是需要高处理能力的服务。例如天气建模和金融建模。
  • 物联网(IoT)工作负载 要求处理和分析来自传感器和其他设备(如智能家居、工业自动化和联网车辆)的数据。

过去和现在的工作量

在共享使用大型计算机的早期,工作负载是由其用途决定的。事务性工作负载一次执行一个作业,以确保数据完整性,而批处理工作负载则代表一批命令或程序,无需用户干预即可运行。实时工作负载实时处理接收到的数据。

但随着云应用的兴起,工作负载的概念也发生了变化,从传统的本地部署数据中心转向了基于云的环境。这种转型涉及将工作负载迁移到基础设施即服务(IaaS)、平台即服务(PaaS)或软件即服务(SaaS)云环境。

如今,在云计算背景下,工作负载是指可以在云资源上运行的 云原生 或非云原生应用程序或能力。虚拟机、数据库、容器、Hadoop 节点和应用程序都被视为云工作负载。

与传统的本地部署数据中心相比,混合多云网络要复杂得多。现在,组织必须确保通常由多个云服务提供商(CSP)托管的私有云和公共云中容器的安全性和完整性。但是,云服务可以适应不断变化的工作负载,无需大量的前期资本,而且证明具有成本效益。

 

云工作负载特征

云工作负载通过常见的架构和云基础设施,具有明显的特征。其中包括

  • 可扩展性:云工作负载提供了按需增减资源的能力,从而提高了资源管理效率。
  • 弹性:云工作负载通过自主配置和调配资源来适应变化的能力对现代企业至关重要。
  • 资源共享:云工作负载共享一个可配置的计算资源池,促进了资源的高效利用。
  • 可测量服务:云系统通过应用适合服务类型(无论是 IaaS、PaaS 还是 SaaS)的计量功能,自动控制和优化资源使用。
  • 按需自助服务:云用户可以配置计算能力,如服务器时间和网络存储,而无需与服务提供商进行人工交互。
现代勒索软件攻击的演变

图 1:根据《 云原生安全状况报告》,今年转移到云的工作负载百分比

 

云还是本地部署?

决定在哪里运行工作负载取决于组织和工作负载的具体变量。各组织应评估各种选项,并考虑性能、安全性、合规性和成本,以确定最佳环境。

有些工作负载可能需要特定的硬件或网络配置,这就突出了确定操作系统、软件依赖性和其他基础设施要求的必要性。性能和可扩展性也是重要的考虑因素。您的工作负载可能要求高性能和低延迟,或者要求能够快速大规模增减。

在选择运行工作负载的位置时,要考虑到安全性和合规性。法规可能会将某些工作负载限制在本地部署或私有云环境中。成本是另一个考虑因素。公共云服务可以为运行工作负载,尤其是需求不稳定的工作负载,提供灵活、经济高效的方式。不过,其他工作负载在本地部署或私有云环境中运行可能会更具成本效益。

在云中部署工作负载

云为各种工作负载提供了理想的环境,有些工作负载尤其适合云。

  • 网络应用:云平台提供了处理网络应用程序大量请求所需的可扩展性和可用性。
  • 大数据与分析:云提供商提供大数据和分析工具,帮助管理和处理大量数据。
  • DevOps 和 CI/CD:云平台可以提供支持软件自动开发、测试和部署流程的基础设施。
  • 灾难恢复和备份:云平台可用于数据和系统的异地备份,以及提供故障转移支持。
  • 机器学习和人工智能:云提供商提供用于训练 ML 模型和在生产环境中大规模扩展模型的工具。
  • IoT 和边缘计算:云平台为 支持物联网 设备 和边缘计算应用(如数据处理、存储和分析)提供服务。

但云并不能补充所有的工作负载。组织应在分析每种工作负载的要求和特点的基础上选择平台。

本地部署工作负载

在决定本地部署哪些工作负载时,需要权衡的细节示例包括:

  • 安全要求:在高度监管的行业中,本地部署工作负载可能是确保 数据安全 和监管合规性的最佳选择。
  • 数据密集型工作负载:由于数据传输和云存储的成本较高,处理和存储大量数据的工作负载得益于本地部署。
  • 对延迟敏感的工作负载要求低延迟的应用,如实时数据处理或游戏,可能会受益于本地部署。
  • 定制工作量:本地部署可确保对底层基础设施的控制,从而更好地服务于需要定制硬件的应用。
  • 成本因素:由于资源使用、存储要求和使用模式的原因,在本地部署运行工作负载可能具有成本效益。

混合云部署

混合云是一种计算环境,它将本地部署的基础设施与一个或多个私有或公共云提供商提供的云服务结合在一起。这种云架构使组织能够从本地部署和云基础设施的产品中获益。

通过混合云,组织可以在多环境中部署工作负载,以适应应用程序或工作负载的要求。他们可以选择在本地部署敏感的工作负载,以满足监管要求,同时选择在公共云上部署其他需要可扩展性和灵活性的工作负载。

要启用混合云环境,组织必须具备必要的基础设施,如本地部署基础设施和云服务之间的网络和连接。他们还需要云管理平台、自动化工具和安全解决方案来管理跨多个环境的工作负载。

云诊断工作负载

许多组织优先考虑云无关策略,喜欢云无关基础设施和应用程序架构与开发的自由。设计用于在任何云平台上运行的工作负载都能带来兼容性优势,其中包括

  • 避免供应商锁定:通过设计与云无关的应用程序,组织可以切换云提供商,而无需对工作负载和技术堆栈进行代价高昂的大修。
  • 便携性与云无关的工作负载可以部署在任何云平台上,从而提供更大的灵活性和敏捷性。
  • 节约成本:选择在提供最具成本效益资源的平台上部署工作负载,使组织能够利用成本波动或使用现货实例。
  • 避免单点故障:组织可以避免关键应用程序依赖单一云提供商,从而降低停机或数据丢失的风险。

为了实现与云无关的工作负载,组织通常会使用多个云提供商支持的标准技术和接口,例如用于容器编排的 Kubernetes 和用于基础设施即代码的 Terraform。

视频安全工程师和应用程序开发人员如何创建有效的安全流程

 

工作量管理

工作量管理是指对工作量进行监测、控制和分配资源的无休止循环。该职责包括优化和平衡计算资源分布所需的无数流程,以确保工作负载在执行过程中尽可能减少中断或停机时间。

在云环境中,工作负载管理至关重要,因为多个用户和应用程序共享资源。工作负载管理器必须确保每个工作负载都能访问所需的资源,而且不会影响其他工作负载的性能。

在工作负载分布于多个云平台的多云环境中,工作负载管理会变得尤为复杂。有效的多云工作负载管理需要清楚地了解每个云平台的功能和每个工作负载的具体要求。

资源分配

工作负载管理涉及根据不同工作负载的需求和优先级为其分配 CPU、内存和存储等计算资源。有效的分配要求监测资源使用情况,预测未来需求,并根据需要调整资源分配。

负载平衡

工作负载管理还涉及负载均衡,即在多个计算资源之间分配工作负载,以优化资源利用率并防止出现瓶颈。组织通常依靠轮循、最少连接和 IP 哈希等技术来实现均衡负载。

确定工作量的优先次序

要管理好工作负载,DevOps 团队需要根据关键性、性能要求和服务级别协议来确定工作负载的优先级。适当的优先级排序可确保关键任务工作负载获得优化运行所需的资源,即使在需求高峰期也是如此。

监测和优化

监控工作负载的性能并调整资源分配以优化性能和降低成本,是工作负载管理的核心。这可能涉及自动大规模调整、自动调谐和其他优化技术。

 

工作量自动化

工作负载自动化通常用于拥有复杂 IT 基础设施的企业,它通过自动调度、执行和监控工作负载来简化 IT 流程。随着数字化转型的发展,工作负载自动化已成为功能性 IT 运营的必要条件。工作量自动化的优势包括

减少错误

通过将重复性任务和人工任务自动化,工作负载自动化消除了对人工干预的需求,从而降低了出错风险和潜在的不良事件,如数据丢失。

提高效率

将重复性的耗时任务自动化,可以让团队专注于关键任务。例如,工作负载自动化无需手动检查日志中的错误,它可以识别错误并向 IT 人员发出警报,使他们能够专注于解决问题,而不是监控日志。

优化资源利用率

工作负载自动化可确保在最佳时间安排和执行任务和流程,从而优化资源利用率。例如,通过安排资源密集型任务在非高峰时段运行,团队可以减少资源争用的可能性。

提高灵活性

通过自动配置和部署应用程序和服务,工作负载自动化可减少新服务上线所需的时间和精力。这使 IT 团队能够更快、更高效地响应业务需求。

增强合规性

通过工作负载自动化以一致和可审计的方式执行 IT 流程,组织可加强对监管标准的合规性,最终降低违反合规性的风险。

降低成本

通过消除重复性和人工任务,工作负载自动化不仅优化了资源利用率,还减少了对额外硬件和软件资源的需求。它还能降低 IT 运营成本,同时让 IT 人员专注于价值更高的任务。

市场上的工作负载自动化工具从开源解决方案(如 Jenkins 和 Ansible)到企业级平台(如 BMC Control-M 和 IBM Workload Automation)应有尽有。这些工具通常提供一系列特性和功能,包括作业调度、事件驱动自动化、工作量监控和报告,以及与其他 IT 系统和应用程序的集成。

 

云工作负载保护

工作负载的云迁移在为组织带来诸多好处的同时,也带来了安全方面的挑战。云中的攻击面不断扩大。即使采取了安全控制措施,零日漏洞或配置错误的服务器或存储桶也会给工作负载带来巨大风险。

云工作负载安全策略有助于确保组织安全。

  • 实施访问管理控制:实施 最低权限访问 策略可以限制安全漏洞的潜在危害。
  • 自动化安全控制:自动化可确保安全控制在各种工作负载中得到一致应用,并在发生安全事件时加快响应速度。
  • 监控和管理漏洞:定期扫描漏洞并及时应用补丁是保护云工作负载的关键。
  • 安全容器和无服务器工作负载:扫描容器映像以查找漏洞,并为无服务器功能实施适当的隔离策略。
  • 敏感数据加密即使其他安全控制失效,数据加密也能保护敏感数据。切记对静态和传输中的数据进行加密。

 

实施 CWPP

云工作负载保护平台(CWPP) 专为可扩展性而设计,能够适应保护越来越多的工作负载,无论云环境的规模如何,都能提供一致的安全性。CWPP 以工作负载为中心,这意味着无论工作负载部署在本地、云环境还是混合环境中,它们都能为其提供保护。鉴于工作负载会在平台和基础设施之间快速移动,这种类型的工作负载保护至关重要。

CWPP 为组织提供了一个亟需的平台,以替代杂乱无章的工具,在解决复杂性问题的同时,通过集中可视性和控制、漏洞管理、访问管理、反恶意软件保护等功能最大限度地提高安全性。

 

工作量常见问题

工作负载迁移是指将应用程序、数据和 IT 流程从一个云环境迁移到另一个云环境。迁移需要精心规划和执行,以尽量减少停机时间和避免数据丢失。
工作负载协调涉及协调和管理多个云环境中工作负载的执行。协调工具可以自动执行资源分配、工作负载均衡和大规模扩展等任务。
把横向大规模缩放看作是 "向外 "缩放。横向大规模扩展是指在系统中增加更多节点,并在这些节点之间分配工作量。例如,您可以在基础设施中增加更多服务器,而不是增加服务器的功率。横向大规模扩展可以提高产能,超越单台机器的极限。它还可以提高冗余性和可用性,因为单个节点的故障不一定会影响所有工作负载。纵向大规模扩展也称向上扩展,是指在系统中的单个节点上增加更多资源,以提高其容量。这可能涉及增加服务器的 CPU 能力、内存或存储空间。纵向大规模扩展可提高应用程序的性能,而无需更改应用程序的代码,从而使组织受益匪浅。在实践中,根据系统的需要和限制,横向和纵向的大规模扩展会起到平衡的作用。
零日漏洞是指应用程序或操作系统中以前未知的软件漏洞。由于软件供应商不知道漏洞的存在,因此可以在没有警告的情况下利用漏洞。开发人员有 "零天 "时间开发补丁。
云工作负载可分为静态工作负载和动态工作负载。静态工作负载始终处于开启状态,而动态工作负载则在需要时启动,例如用于自动内部应用或虚拟服务器实例的启动。
无服务器计算是一种允许开发人员将应用程序作为单独功能在云中运行,由云提供商自动管理资源分配的模式。无服务器工作负载是由事件驱动的,资源是按需动态分配的。
虚拟化是云计算中的一项关键技术,可实现工作负载的高效分配和隔离。它能让多个工作负载在一台物理机上运行,每个工作负载都有自己的隔离环境。
在云环境中,应用堆栈或以工作负载为中心的堆栈可包括运行应用或工作负载所采用的云服务,如云计算实例、云存储服务、托管数据库和基于云的 DevOps 工具。可以使用云工作负载保护平台(CWPP)来管理和保护这个堆栈,该平台提供从基础设施层到应用层的整个堆栈的安全控制。
基于容器或容器化的工作负载指的是打包到容器中的应用程序及其依赖项,可以在各种计算环境中一致运行。基于容器的工作负载是轻量级的,并使用共享操作系统,因此在某些工作负载上比虚拟机更有效率。
微服务架构 将应用程序分解为小型、松散耦合的服务,每个服务都作为独立的工作负载运行。这种方法提高了可扩展性和故障隔离能力,但会增加工作负载管理的复杂性。
低延迟是指从处理输入到产生相应输出之间的延迟时间很短。许多要求即时反馈的活动都依赖于低延迟。例如,同步游戏、高频股票交易、Skype 或 Zoom 等网络电话(VoIP)、现场直播,甚至自动驾驶汽车的某些操作。
边缘计算涉及在更靠近数据源的地方处理数据,从而减少延迟和带宽使用。这对通常要求实时处理的 IoT 工作负载大有裨益。
服务可用性指的是工作负载可供使用的时间百分比,其中 "可供使用 "指的是在要求时执行其功能。服务可用性是衡量可靠性的常用指标。
可靠性是指工作量在预期情况下正确、稳定地执行其预期功能的能力。这包括在整个生命周期内操作和测试工作负载的能力。
恢复能力是指工作负载从基础设施或服务中断中恢复的能力,动态获取计算资源以满足需求的能力,以及缓解配置错误或瞬时网络问题等中断的能力。
技术组合是业务运营所要求的工作负载的集合。
漂移保护是指确保系统的当前状态与其定义的或期望的状态保持一致,防止随着时间的推移出现意外偏差(即漂移)的过程。这对于配置变化迅速的云环境至关重要。漂移保护包括持续监控和自动补救策略,以检测和纠正偏差,确保系统的稳定性、一致性和安全性。它有助于保持合规性,减少配置错误导致的安全风险,并确保资源的高效利用。
工作负载蔓延指的是工作负载不受控制地激增,通常会导致资源利用效率低下和成本增加。组织可以通过实施工作负载治理、定期审核和优化工作负载以及使用自动化和协调工具来防止工作负载蔓延。