如何使用容器化来扩展智慧城市应用
智慧城市呈现出有趣的扩展问题。 应用列表实际上是无限的(照明、应急服务、水处理等),每个应用都涉及数千个端点。
为这些大规模系统设计一个可扩展的架构是一个巨大的挑战。 跨系统协调运行也不是件小事。
这就是为什么像 Iotium 这样的公司正在推出容器化解决方案和虚拟化网络的原因。 这些技术可能对简化 IoT 服务和应用的部署和编排大有助益。
解决 IoT 部署问题
为了使 IoT 应用切实可行,城市需要尽可能简单地进行部署。 IoTium 的创始人兼 CEO Ron Victor 很好地阐述这一问题:“没有人关心技术。 只要连接机器使一切正常运转就行。 我不在乎你用什么来做”。
这同样适用于更新。 新功能和应用必须是单击按钮即可部署。 “请确保每次想要进行更改时都不必上门服务:这是业务要求”。
安全也应该得到保证。 在源头处、在多个网络间传输过程中以及在静态时,必须保护数据。 Victor 说“请向我保证 99.999% 的安全性,并且没有人可以窃取和重新路由我的数据”。
容器化和便携性的乐趣
IoTium 意识到需要简便性和安全性,并以容器化作为其软件定义的 IoT 基础设施解决方案的基础。 IoTium 解决方案有三个关键要素︰
- 容器化 IoT 端点
- 网络无关传输
- 一个支持安全零接触部署的集中式编排程序
这些要素一起提供了进行大规模安全 IoT 部署、配置和边缘分析所需的可见性和控制(图 1)。
容器是此产品的关键部分,因为它们会提供一个已知良好的环境,以确保应用按预期方式运行。 最著名的容器技术是开源 Docker 项目。 Docker 用于跨不同类型的硬件进行自动部署 – 这是由 Docker 引擎中的抽象层实现的一个功能。
IoTium 首席技术官 Dhawal Tyagi 指出硬件抽象化对包含许多类型的传统基础设施的城市有很大好处。 Tyagi 说:“它使得在可能存在于您的网络中的这些系统之间进行协调变得更加轻松”。 “您不必担心系统之间的细微差别”。
在许多方面,容器可能与虚拟机不差上下。 如图 2 中所示,关键区别是容器共享单个操作系统。 因此,容器可能比虚拟机小得多。
Docker 使用房子(虚拟机)和公寓(容器)进行类比。 每间房子都有其自己的基础设施(管道、电、暖气、安全设施等)。 相反,公寓共享基础设施。 每个租户只租用他们需要的资源。
这会导致构建过程差异巨大。 对于虚拟机,您可以先构建完整的操作系统,然后删除不需要的组件。 对于容器,正好相反:先构建基础,然后只添加必需的资源即可。 这有助于使容器保持轻便。
容器内部的安全性
多租户方法也可以提高安全性。 每个容器都可以彼此完全隔离地采用定制的逻辑和策略。
IoTium 也在其传输层优先考虑安全性,将每个租户应用的数据经隧道直接传输到专用目标。 这样,就会减小 DDoS 攻击或数据重新路由的可能性。 如果数据流已损坏,那么黑客将无法影响网络的任何其他部分 – 即使他们可能共享相同的后端 IP 数据管道。
Victor 说“首先前提假设是您将被黑客攻击,然后努力最大限度减小黑客的影响”。 他解释说,这就是“我们在网络层中进行更改以确保安全性比标准网络层有所增强”的原因。
传输旨在无缝连接设备、服务器和云平台。 为此,传输应与硬件、网络和协议无关,以便传输可以遍历城市内的各种有线和无线网络。
从单个窗格编排网络
在容器内将 IoT 应用打包也可以简化编排。 由于容器会虚拟化边缘设备,所以用户在 IoTium 编排程序中只需单击一次即可部署 IoT 服务和分析。
IoTium 编排程序是 IoT 网络的一个集中管理的单窗格视图。 编排程序像是一个应用商店,因为它包含并管理可以随意部署的应用和服务。 这些内容包括机器学习、加密、压缩等。
据 Victor 介绍,IoTium 技术基于许多核心原则:
- 确保易于部署并且具有军事级安全性
- 简化部署
- 避免需要由技术人员亲临资产现场以获取数据或安装更新的上门服务和命令行界面
- 避免需要更改 IT 策略设置或打开端口,这可能需要几个月才能获得批准
- 消除用户名或密码,这是一个基本的安全漏洞
选择硬件
IoTium 的解决方案与硬件无关,可在所有基于英特尔的服务器和网关上运行。 网关的最低要求是拥有英特尔凌动® 处理器、256 MB RAM、1 GB 存储和用于上行 IP 通信的以太网/Wi-Fi/蜂窝网络。
网关形成了从各种网络和资产获取 IoT 数据的主要接点。 然而,IoTium 强调处理和分析可以向外一直扩展到边缘。 在边缘,诸如英特尔凌动® 处理器 E3900 系列等处理器可以执行复杂的分析,并且仅报告异常情况,以有效利用网络资源并最大限度地减少延迟。
至于要选择哪个硬件供应商,IoTium 会与 Dell、Lanner、Eurotech 和 Logic Supply 等进行合作。 选择平台时,IoTium 的 Victor 建议工程师:
- 确保足够的内存来存储一个月的数据,以应对互联网中断
- 在边缘运行分析以最大程度减少数据流和 WAN 成本
- 具有足够的边缘处理能力来运行加密、深层数据包检测和机器学习
- 确保足以能够维持 2 至 5 年的软件升级
- 确保具有硬件可信根:IoTium 可以利用诸如可信平台模块 (TPM) 等功能
使用 Docker 扩展智慧城市
部署城市规模级别的 IoT 应用需要进行仔细规划。 为了取得成功,您的设计应该易于部署和管理并且应该安全。 尽管在三个方面肯定都有很大的创新空间,但是使用像 Docker 这样的现有技术以及像 IoTium 这样的专用平台是一个良好的开端。