边缘计算是云计算的一种变体,在边缘计算的设计中是将用于计算、存储和联网的基础架构服务在物理上更靠近生成数据的现场设备。可以说,这消除了数据到数据中心之间的“往返路程”,提高了服务的可用性。自推出以来,边缘计算已经成为一种行之有效的运行时平台,可以帮助解决电信、媒体、运输、物流、农业、零售和其他领域中的独特挑战。
与此同时,Kubernetes也迅速成为边缘计算的关键要素。通过使用Kubernetes,企业可以在边缘运行容器并最大化利用资源、简化测试,而且由于许多组织能够在现场使用和分析更多数据进而让DevOps团队能够更快、更有效地进行迁移。
在当今信息大爆炸时代,数据正在以前所未有的速度不断更新,企业必须考虑如何经济地将数据从边缘传输到数据中心,以及在本地过滤和预处理数据是否性价比更高。如果工作负载没有低延迟的约束,那么应该继续由云解决方案提供服务。但是,新用例浪潮的到来要求运营商重新思考网络架构,而这就是边缘计算的用武之地。
边缘计算提供了3种好处。首先,低延迟,通过提高现场设备的性能,使其不仅能够更快地响应,而且能够响应更多事件。其次,低流量,这有助于降低成本并提高总体吞吐量,从而使核心数据中心能够支持更多的现场设备。最后,对于单机应用程序,在边缘和数据中心之间存在网络中断的情况下,则更具备高可用性。
物联网中智能设备的数量呈指数级增长,5G网络的到来对边缘计算也产生了重大影响,以及在边缘执行人工智能任务的重要性日益增长,从而驱动了企业对边缘计算的关注——因为所有这些都需要具备处理弹性需求和转移工作负载的能力。因此,国际著名咨询机构Gartner表示,到2025年,在传统集中式数据中心或云外部创建和处理企业生成的数据量将从如今(2019年)的10%猛增至75%。
边缘云至少有两层——尽管每一层的构造都不同,但这两者都将最大限度地提高运维效率和开发人员的生产力。
第一层是基础设施即服务(IaaS)层。除了提供计算和存储资源外,IaaS层还能满足超低延迟和高带宽的网络性能需求。
第二层包含了Kubernetes,它已经成为在数据中心和公有云中协调容器化工作负载的事实标准。Kubernetes已经成为边缘计算的极其重要的基础。虽然在这一层使用Kubernetes并不是必须的,但事实证明,对于那些从事边缘计算的组织来说,它是一个有效的平台。由于Kubernetes在物理资源(计算、存储和网络)上提供了通用的抽象层,因此开发人员或DevOps工程师可以在任何地方(包括边缘)以标准方式部署应用程序和服务。
Kubernetes还能使开发人员简化它们的DevOps实践并最大限度地减少与异构操作环境集成所花费的时间,从而使开发人员和运维人员感到满意。Rancher Labs于2019年2月推出的k3s是一款适用于边缘计算场景以及IoT场景的轻量级Kubernetes发行版。自发布至今,备受全球开发者关注,Github上的Star数已达12,000,成为了开源社区最受欢迎的边缘计算Kubernetes解决方案。k3s大小小于70MB,在小于512MB的RAM中即可运行,并且k3s同时支持x86_64、ARM64和ARMv7架构。这意味着它可以十分灵活地跨任何边缘基础架构工作。此外,为了满足“离线管理”的需求,k3s简化了安装流程,仅需一条命令即可完成安装或升级。
那么组织应该如何部署这些层呢?
第一步,考虑物理基础架构以及什么技术能够有效地管理基础架构,并将原始硬件转换为IaaS层。因此,需要可用于硬件发现的操作原语(primitives),从而提供灵活性,使得能够分配计算资源并动态地重新利用它们。此外,还需要基于KVM pod自动创建边缘云的技术,该技术有效地使运维人员能够使用预定义的资源集(RAM、CPU、存储和超额预订比率)创建虚拟机。
边缘云的物理基础架构的发现和配置完成后,第二步是选择一个编排工具,该工具可轻松在边缘基础架构上安装Kubernetes或任何软件。然后,即可开始部署环境并启用和验证应用程序。随着越来越多的组织在未来几年中采用这种模式,将非常有趣。