公司诺基亚 地方埃斯波,芬兰 工业电信

挑战

诺基亚公司的核心业务是建设端到端的电信网络;其主要产品涉及基础设施,如天线、交换设备和路由设备。“作为电信供应商,我们必须将我们的软件交付给几家电信运营商,并将软件放入他们的基础设施中,而每一家运营商的基础设施都有所不同,”高级开源工程师Gergely Csatari说。“有些运营商在裸机上运行,有些运营商在虚拟机上运行,有些运营商在虚拟机上运行VMware云OpenStack云我们希望在所有这些不同的基础架构上运行相同的产品,而不改变产品本身。”

解决方案

该公司决定,转向云本地技术将允许团队在其产品中具有与基础设施无关的行为。诺基亚的团队开始在1.0之前的版本中试验Kubernetes。Csatari说:“Kubernetes基于标签的调度的简单性是一个迹象,它向我们表明,这种架构将具有可扩展性、稳定性,并有利于我们的目的。”。第一个基于Kubernetes的产品诺基亚电话应用程序服务器该网站于2018年初上线。“现在,所有的产品都在进行某种形式的重组,它们正在向Kubernetes转移。”

影响

Kubernetes使诺基亚得以进军5G。Csatari说:“当你开发运营商基础设施的一部分时,你必须为未来开发,Kubernetes和容器是前瞻性的技术。”。使用Kubernetes的团队已经看到了明显的好处。Csatari说:“通过分离基础设施和应用层,我们在系统中的依赖性更小,这意味着在应用层实现功能更容易。”。由于团队可以独立于目标执行环境测试完全相同的二进制工件,“我们在测试的早期阶段会发现更多错误,我们不需要在不同的目标环境(如VMware、OpenStack或裸机)上运行相同的测试,”他补充道。因此,“我们在每个版本中节省了几百个小时。”

在20世纪90年代末和21世纪初手机普及的时候,诺基亚是手机行业的第一名。但到了2014年,该公司卖掉了移动设备部门,并将核心业务从用于通话的手持设备转向了网络。

如今,诺基亚正在建设端到端的电信网络,从天线到交换和路由设备,服务于120多个国家的运营商。诺基亚的高级开源工程师Gergely Csatari说:“作为电信供应商,我们必须将我们的软件交付给几家电信运营商,并将软件放入他们的基础设施中,而每一家运营商的基础设施都略有不同。”。“有些运营商在裸机上运行。有些运营商在虚拟机上运行。有些运营商在VMware云和OpenStack云上运行。我们希望在所有这些不同的基础架构上运行相同的产品,而不改变产品本身。”

为了寻找一种方法,允许其团队构建具有与基础设施无关的行为的产品,该公司决定拥抱集装箱化、Kubernetes和其他云本地技术,这是整个电信行业正在采取的举措。自2018年初以来,“当人们拿起手机在诺基亚网络上打电话时,他们就在Kubernetes的后台创建了容器,”Csatari说。“现在,所有的产品都在进行某种形式的重组,它们正在向Kubernetes转移。”

诺基亚的云本地之旅始于大约两年前,当时Csatari的团队正在构建公司的电话应用服务器(TAS)。他说:“我们希望在产品中加入一个服务执行引擎,这是一个完全独立于所有其他部分的功能。”“在那里,我们有可能思考我们可以使用的新架构和新工具。我们基于Kubernetes创建了这个特别的产品,我们喜欢这个工作,所以我们开始谈论云原生和容器等等。我们对不同的容器编排工具做了非常广泛的研究。我们知道,由于软件运行的特殊环境,我们有一些奇怪或不同的需求。”

首先,诺基亚的软件服务于数百万人,并且需要具备运营商级的“五个9”可用性:99.999%的可用时间。“如果你把它改为分钟,这意味着我们一整年只能有10分钟的停机时间,”Csatari说。“这里的宕机意味着您无法为该人员提供最大容量的服务,这意味着我们不能失败。这包括软件升级等一切,因为当您拨打911时,您正在使用我们的软件,并且您希望它能够正常工作。”

这意味着他们需要能够在编制工具中设置亲和性和反亲和性规则。Csatari解释说:“你不能把所有功能都放在同一个物理主机上,因为物理主机正在失效。”“如果一个物理主机出现故障,那么就会失去所有的核心处理进程。那就没有电话打通了。所以我们必须将它们分配到不同的物理主机上。当时,只有Kubernetes能够提供这些特性。Kubernetes基于标签调度的简单性是一个标志,它向我们展示了这种架构将是可伸缩的、稳定的,并将有利于我们的目的。”

TAS已于2018年初投入使用,现在Kubernetes还在为诺基亚进军5G提供支持。该公司正在引入微服务架构和Kubernetes,同时在现有产品中添加5G功能。所有新的5G产品开发都将由Kubernetes负责。Csatari说:“当你开发的东西是运营商基础设施的一部分时,你必须为未来而开发,而Kubernetes和集装箱是前瞻性技术。”

多亏了Kubernetes,我们节省了大量时间。Csatari说:“通过分离基础设施和应用层,我们对系统的依赖更少,这意味着更容易在应用层实现特性。”因为团队可以独立于目标执行环境测试完全相同的二进制工件,“我们在测试的早期阶段发现了更多的错误,我们不需要在不同的目标环境(如VMware、OpenStack或裸金属)上运行相同的测试,”他补充道。因此,“我们在每次发布中节省了几百个小时。”

Csatari说,从30多年前内置的诺基亚传统集群管理系统,到Kubernetes平台,也意味着“我们开始使用Linux作为基本操作系统,所以我们只是打开了所有这些开源项目的窗口,而不是在内部实现所有东西。”。(从CNCF的生态系统来看,团队已经在使用掌舵gRPCCNI经过普罗米修斯特使,并计划实施CoreDNS.)“我们的工程师可以更多地关注应用层面,这实际上是我们正在销售的东西,而不是基础设施层面。对我们来说,Kubernetes最重要的一点是让我们专注于业务的价值创造。”

该公司的长期目标是将整个产品组合转移到Kubernetes平台。为此,诺基亚团队正在与其他公司合作,在接近无线网络边缘的实时、纳秒敏感应用程序中添加Kubernetes所需的功能。

CNCF社区被证明是一个很好的合作论坛。“我在KubeCon与来自网络SIG和资源管理工作组的人员进行了一些讨论,以共同满足我们的需求,这对我和我的同事来说是非常令人兴奋的,”Csatari说以前,每个人都有同样的问题,但每个人都是自己解决的,现在我们正试图共同解决同样的问题。”

Csatari认为,Kubernetes对诺基亚的最大影响可能是人们开始思考电信公司如何实现DevOps。他说:“我们正在建设一条DevOps管道,从实际的开发人员到客户,并考虑如何以数字方式将软件交付给客户,并从客户那里直接获得工程师的反馈。”。“这将从根本上改变电信公司交付软件的方式,以及我们开发新功能的速度。这是因为容器的使用,当然还有Kubernetes的使用。”

Baidu