边缘计算工作负载:虚拟机,容器还是裸机?

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

我们生活在一个连接和智能设备的时代。随着智能设备数量的增长,数据的增长迅速达到了新的高度。这些数据从终端用户到达云或数据中心后再进行处理、存储和其他分析操作,因此,当访问时必定会带来延迟和带宽问题。正如Nati Shalom在他的博客文章中写道“ 什么是边缘计算?“,边缘计算实质上是将处理能力转移到网络边缘,更接近数据源。这使组织能够在访问数据速度和消耗带宽的方面获得显著优势。

ff10a5ba7183e7667b81fd6cfaf510281fad8f17

由于边缘扮演着至关重要的角色,因此考虑边缘工作负载运行的基础架构技术同样重要。

为边缘工作负载提供技术

我们已经看到基础架构技术的整个范式转变,从物理服务器开始,一直到虚拟机(VM)的诞生,现在最新的是容器。尽管VM在过去十年左右的时间里做得很好,但与VM相比,容器提供了固有的优势。它们也是运行边缘工作负载的理想选择。

下图描述了与VM相比容器的工作方式。

6a8630a1698ec02bb23947ec1d7ee269d5152287

每个虚拟机在共享管理程序(软件或固件层)之上运行独特的操作系统,从而实现“硬件级虚拟化”。相反,容器运行在物理基础架构之上并共享相同的内核,从而导致“操作系统级虚拟化”。

这个共享操作系统以MB为单位保持容器的大小,使它们非常“轻”和灵活,将启动时间减少到几秒钟,相比之下,VM却需要几分钟。此外,由于容器共享相同的操作系统,操作系统管理员的管理任务(修补,升级等)也会减少。另一方面,在容器的情况下,如果内核漏洞会使整个主机关闭。但是如果攻击者在到达VM内核之前,只是通过主机内核和管理程序进行路由,则VM仍然是更好的选择。

今天,许多研究正在朝着实现将裸机功能带入边缘工作负载的目标而进行。Packet就是这样一个组织,致力于实现满足低延迟和本地处理需求的独特主张。

虚拟机或裸机上的容器?

CenturyLink对在裸机和虚拟机上运行Kubernetes集群进行了一项有趣的研究。对于此测试,使用名为netperf的开源实用程序来测量两个群集的网络延迟。

由于物理服务器没有管理程序作为开销,因此结果与预期一致。在裸机服务器上运行的Kubernetes和容器显着降低的延迟; 实际上,比在VM上运行Kubernetes时低三倍。此外,与裸机相比,当在VM上运行集群时,CPU消耗明显更高。

所有边缘工作负载都应该在裸机上运行吗?

虽然数据库,分析,机器学习算法和其他数据密集型企业应用程序是在裸机上运行容器的理想选择,但在VM上运行容器有一些优势。与裸机环境相比,在VM中可以轻松实现开箱即用的功能(例如从一个主机到另一个主机的工作负载运动,在出现任何问题时回滚到先前的配置,软件升级等)。

因此,如前所述,轻量级且快速启动/停止的容器非常适合边缘工作负载。在裸机或VM上运行时总会有一个权衡。

公共云和边缘工作负载

大多数公共云(包括Microsoft Azure和Amazon)都提供容器即服务(CaaS)。。两者都是建立在现有基础架构层之上的,基于虚拟机,从而提供边缘计算所需的可移植性和灵活性。

AWS还推出了“Greengrass”作为软件层,将类似云的功能扩展到边缘,从而实现本地信息的收集和执行。

让我们看看它是如何工作的。

Greengrass Group包含两个组件。第一个是Greengrass内核,用于在本地执行AWS Lambda,消息传递和安全性。第二个是IoT,支持SDK的设备,通过本地网络与Greengrass核心进行通信。如果Greengrass内核与云失去通信,它仍会保持与本地其他设备的通信。

9938ecf0daa6231024c72136b5a7758b7cf8a88f

企业采用和所涉及的挑战

由于容器提供的速度,密度和灵活性,它们是最热门技术之一。安全性可能会给企业在容器上采用边缘工作负载带来障碍。其中两个主要问题是:

• 拒绝服务:一个应用程序运行时可能会消耗大部分的操作系统资源,从而剥夺了其他应用程序继续运行所需的最低限度资源,最后迫使操作系统关闭。
• 利用内核:容器共享相同的内核,因此如果攻击者能够访问主机操作系统,他们就可以访问主机上运行的所有应用程序。

前进之路:最新动态

在基础设施技术的各种发展中,总部位于纽约的创业公司Hyper正在努力提供VM和容器领域的最佳产品。使用HyperContainers(如Hyper调用它),我们看到两者之间的融合。它提供了容器的速度和灵活性,即能够在不到一秒的时间内以最小的资源占用空间启动实例。同时,它提供VM的安全性和隔离性,即通过硬件强制隔离来防止容器的共享内核问题。


原文发布时间为:2018-08-15

本文来自云栖社区合作伙伴“SDNLAB”,了解相关信息可以关注“SDNLAB”。

相关文章
|
5月前
|
边缘计算 持续交付 数据中心
Docker在边缘计算中的崭露头角:探索容器技术如何驱动边缘计算的新浪潮
边缘计算是一项快速发展的技术,它旨在将计算能力更接近数据源和终端用户,以提供低延迟、高性能的计算体验。在这个充满活力的领域,Docker容器技术崭露头角,成为推动边缘计算革新的一股新力量。本文将深入探讨Docker在边缘计算中的应用,介绍其优势和挑战,并穿插一些示例代码,以帮助读者更好地理解这一新兴趋势。 第一部分:边缘计算和Docker容器 边缘计算的定义 边缘计算是一种计算范式,它将计算资源和数据处理能力推向网络边缘,靠近数据源和终端用户。这与传统的集中式云计算模型形成鲜明对比,后者将大部分计算任务集中在中央数据中心。边缘计算的关键目标是减少数据传输的延迟,提高响应速度,以满足对实时性要
189 0
|
1月前
|
存储 Kubernetes 云计算
云计算基础与实战:从虚拟机到容器化应用
云计算基础与实战:从虚拟机到容器化应用
32 0
|
3月前
|
数据中心 容器
容器与虚拟机的区别:以Web应用部署为例
容器与虚拟机的区别:以Web应用部署为例
39 0
|
4月前
|
NoSQL Java 应用服务中间件
跟着腾讯T4学架构:微服务+MySQL+Nginx+Redis+容器化+虚拟机
深入理解Java虚拟机》 但要想真的深入理解虚拟机一问肯定远远不够的,但是本文中分三部分对JVM有深入的解析。
|
5月前
|
边缘计算 Kubernetes 安全
实现边缘计算和容器应用
实现边缘计算和容器应用
|
8月前
|
存储 缓存 Ubuntu
【Docker】Docker比虚拟机快的原因、ubuntu容器、镜像的分层概念和私有库的详细讲解
【Docker】Docker比虚拟机快的原因、ubuntu容器、镜像的分层概念和私有库的详细讲解
269 0
|
8月前
|
存储 数据可视化 Linux
【Docker】Docker容器与虚拟机的对比、三要素、架构和镜像加速器的详细讲解
【Docker】Docker容器与虚拟机的对比、三要素、架构和镜像加速器的详细讲解
897 1
|
11月前
|
Kubernetes 固态存储 测试技术
【容器技术】在裸机与虚拟机上运行容器:性能和优点
【容器技术】在裸机与虚拟机上运行容器:性能和优点
|
5天前
|
存储 运维 监控
构建高效稳定的Docker容器监控体系
【4月更文挑战第18天】 在现代微服务架构中,Docker容器已成为部署和运行应用的标准环境。随之而来的挑战是如何有效监控这些容器的性能与健康状况,确保系统的稳定性和可靠性。本文将探讨构建一个高效稳定的Docker容器监控体系的关键技术和方法,包括日志管理、性能指标收集以及异常检测机制,旨在为运维人员提供实用的指导和建议。
10 0
|
14天前
|
Linux Docker 容器
docker 容器常用命令
docker 容器常用命令
13 0