数字化转型方略 第5期 2019/06/14

Kubernetes生态系统押宝云原生

如果你对企业IT基础架构感兴趣,Kubernetes就应该是你的重点关注技术,基于Kubernetes的云原生正在成为新一代IT系统的主流应用。

上月,在Cloud Native Computing Foundation的KubeCon + CloudNativeCon大会上(在巴塞罗那举办),Kubernetes生态系统得到了全面的展示。但是,有很多供应商并不仅仅是支持客户在云原生基础架构中的Kubernetes工作。他们自己也在利用云原生的方法。下面是一些亮点。

无状态世界里的状态

举例而言,在Kubernetes本质上无状态的环境中保持状态的挑战。考虑到容器的动态短暂特性,简单地将它们连接到数据库或者文件系统——就好像这些容器中运行的应用程序是运行在传统虚拟机环境中一样——会导致一系列性能问题,并且可能会在出现意外错误时丢失数据。

MayaData等公司就面临着这一挑战,该公司为容器化和云原生环境提供存储和数据平台。MayaData实质上提供了容器附加的存储,可以配置、备份、监视并管理Kubernetes工作负载,甚至可以将它们从一个集群或者云中迁移到另一个集群或云中。

Robin也为Kubernetes提供云原生存储和数据管理,并可以在应用程序级别管理状态信息,完全抽象存储层。此功能为Kubernetes上运行的应用程序提供了更高的适应性,包括在云、本地或任意组合中运行的大数据应用程序和数据库。

安全容器和云原生微服务

安全性始终是企业关注的焦点,容器的动态特性以及微服务随之而来发展极大地增加了企业面临的安全风险。

因此,任何以Kubernetes为中心的安全产品都必须特别注重Kubernetes环境中容器的安全需求。例如,Twistlock提供了云原生的安全技术,可以识别和阻止容器中的不该进行的二进制文件运行。因此,它可以阻止恶意软件,包括加密劫持软件,并可以在这些恶意软件尝试启动命令窗口(command shell)时阻止攻击。

与Twistlock类似,Alcide.io也提供连续的Kubernetes安全技术。它的不同之处在于它也为Istio提供安全防护,这是一种在Kubernetes世界中迅速普及的开源服务网格技术。Alcide还为开发人员提供应用程序安全防护,提供代码“卫生防护”,使编码人员不会将漏洞引入其微服务。

利用容器支持DevOps

对DevOps的大多数讨论都围绕着CI / CD,即持续集成和持续交付。虽然人们经常将这两个概念混为一谈,但实际上它们是截然不同的,其中CI以应用程序开发为中心,而CD则属于运维的范畴。

这里只有一个问题:CD比CI困难得多。因此,大多数DevOps商店主要关注CI,但还没有为CD做好准备。由于Kubernetes是IT基础架构,它完全属于企业运营产品——因此,CD就成为了应用程序开发团队的核心挑战。

Codefresh是一家专注于CD挑战的公司,该公司为Kubernetes提供容器化连续交付渠道平台。换句话说,CD渠道中的每个任务都是一个docker容器映像,Codefresh在其平台上实现该映像以及自动执行任务所需的所有配置信息。

CD可能是Kubernetes面临的最大的DevOps挑战之一,但对集群运行的可见性也同样重要。Kubernetes将容器放入“pod”中,然后将“pod”分组进集群——企业实际上可以大规模运行数十个或数百个分布在不同地理位置的集群。

跟踪这些复杂、动态的环境远远超出了传统监控工具的能力范围。基于云的应用程序性能管理提供商New Relic正在加紧努力,通过其Kubernetes Cluster Explorer填补这一空白。

该产品为大规模运行Kubernetes的组织提供多维监控——这通常意味着多个集群。New Relic可以回答有关每个群集的健康状况,每个群集内和群集之间的各种对象之间的关系以其健康状况方面的问题。

Kubernetes Cluster Explorer为开发人员提供了解应用程序延迟和行为限制所需的可见性,并使他们能够优化应用程序性能。对于运维人员,该工具使他们能够大规模地进行弹性管理——并且在许多情况下,在问题发生之前预测和解决问题。

云原生数据科学和人工智能

在Kubernetes固有的无状态环境中,处理大数据分析和人工智能活动之类的数据密集型任务可能非常具有挑战性。很多现有的状态处理方法对于这种这种数据密集型任务而言不够高效。此外,Kubernetes的开源机器学习库Kubeflow缺乏在现代企业场景中使用所需的许多功能。

Iguazio Systems凭借其云原生数据科学平台,能够很好地应对这些挑战。Iguazio的核心技术是一个数据集成平台——它还为开源nuclio无服务器计算平台带来了技术领先优势。

该公司利用这些优势为数据科学家提供基于Kubernetes的平台,采用云原生方法维护状态,使客户实现状态无关,从而避免了无状态计算的局限性,同时提供科学家数据科学家完成工作所需的工具。

Kubernetes兴起推动边缘计算

边缘计算也是受益于Kubernetes快速兴起的一个领域,因为企业意识到内容交付网络无法满足现代边缘计算需求。这里的挑战之处在于:对边缘计算的需求越来越大,而传统的CDN则专注于缓存,以加快网页的传输速度。

Kubernetes也许能够非常好地适合这样的要求,Section正在帮助让Kubernetes在边缘计算中实现。该公司提供了一个云原生的边缘计算平台,可以优化Kubernetes以实现以边缘为中心的任务,还可以确定边缘计算的最佳位置。随着边缘的人工智能推理变得越来越流行,Section的技术将很好地支持边缘计算领域的这种高性能需求。

Kubernetes的“千帆竞发”

“Kubernetes”这个词在希腊语中是“舵手”的意思,而Kubernetes的许多项目也都使用了航海术语——所以不妨将现在的Kubernetes生态系统想象成为涨潮中的千帆竞发。

可以肯定的是,这个开源平台的迅速崛起为很多公司提供了大量机会,可以补充、打包和促进核心Kubernetes产品的各种附加功能。本文仅涵盖了其中代表性的一小部分——但总体而言,KubeCon上的各种产品非常有趣,让在类似以供应商为中心的活动上展示的生态系统相形见绌。

结论显而易见:如果你对企业IT基础架构感兴趣,Kubernetes就应该是你的首选技术,而KubeCon就是你的理想选择。

本文章选自《数字化转型方略》杂志,阅读更多杂志内容,请扫描下方二维码

《数字化转型方略》杂志