公司华为 地点深圳,中国 行业电信设备

挑战

作为全球最大的电信设备制造商,华为拥有18万多名员工。为了支持其全球业务的快速发展,华为它的内部it部门有8个数据中心,已经在100K+ vm上运行了800+应用程序,为18万用户服务。随着新应用程序的快速增加,管理和部署基于vm的应用程序的成本和效率都成为业务敏捷性的关键挑战。“这是一个非常分布式的系统,所以我们发现以一种更一致的方式管理所有的任务总是一个挑战,”该公司的首席软件架构师和开源社区总监侯培新说。“我们希望转向一种更灵活、更体面的实践。”

解决方案

在决定使用集装箱技术后,华为开始将内部it部门的应用程序转移到其上运行Kubernetes..到目前为止,大约30%的应用程序已经转移到本地云。

影响

“到2016年底,华为的内部it部门使用基于kubernetes的平台即服务(PaaS)解决方案管理了超过4000个节点和数万个集装箱,”侯说。全球部署周期从一周缩短到几分钟,应用程序交付的效率提高了10倍。”他说,就底线而言,“我们还看到运营支出大幅削减,在某些情况下削减了20- 30%,我们认为这对我们的业务非常有帮助。”鉴于华为内部的业绩,以及外部的需求,该公司也将这些技术纳入其中FusionStage™,它为其客户提供的PaaS解决方案。

华为的Kubernetes之旅始于一位开发者。两年前,这家网络和电信巨头的一名工程师开始对该公司感兴趣Kubernetes.该技术用于跨主机集群管理应用程序容器,并开始为其开源社区做出贡献。随着技术的发展和社区的壮大,他不断地告诉他的经理。

命运注定,与此同时,华为也在为其内部的企业it部门寻找一个更好的协调系统,以支持每一个业务流程处理。华为首席软件架构师兼开源社区总监侯培新表示:“我们在全球有超过18万名员工,内部程序复杂,所以这个部门可能每周都需要开发一些新的应用程序。”“我们的it部门经常需要启动数万个集装箱,任务在世界各地的数千个节点上运行。这是一个非常分布式的系统,所以我们发现以一种更一致的方式管理所有的任务总是一个挑战。”

在过去,华为使用虚拟机来封装应用程序,但是“每次我们启动一个虚拟机,”侯说,“无论是因为一个新的服务,还是因为某个节点功能异常而关闭的服务,都需要花费很多时间。”华为转向了集装箱化,所以是时候尝试Kubernetes了。他花了一年的时间才采纳了这位工程师的建议——侯说,这个过程“不是一蹴而就的”——但一旦使用,“Kubernetes基本上解决了我们的大部分问题。”以前,部署时间大约需要一周,现在只需几分钟。开发人员很高兴。这个部门也很高兴。”

Hou看到了使用这项技术给公司带来的巨大好处:“Kubernetes为基于云的应用程序带来了敏捷性、扩展能力和DevOps实践,”他说。“它为我们提供了定制调度架构的能力,这使得容器任务之间的亲和性成为可能,从而提供更高的效率。它支持多种容器格式。它广泛支持各种集装箱网络解决方案和集装箱存储。”

更重要的是,这对底线有影响。侯说:“在某些情况下,我们还看到运营开支大幅削减了20- 30%,这对我们的业务非常有帮助。”

对这些初步结果感到满意,并看到客户对本地云技术的需求,华为加大了对Kubernetes的投入。2016年春天,该公司不仅成为了用户,还成为了供应商。

“我们把Kubernetes技术融入到我们的解决方案中,”侯说,他指的是华为的技术FusionStage™PaaS提供。“我们的客户,从大型电信运营商到银行,都喜欢原生云的想法。他们喜欢Kubernetes的技术。但是他们需要花费大量的时间来分解他们的应用程序,将其转化为微服务体系结构,而作为解决方案提供者,我们可以帮助他们。我们已经开始与一些中国的银行合作,我们看到很多客户对此感兴趣中国移动德国电信."

“如果你只是一个用户,那你就是一个用户,”侯补充道。但如果你是供应商,为了说服客户,你应该自己使用它。幸运的是,因为华为有很多员工,我们可以用这项技术展示我们可以构建的云的规模。我们为客户提供智慧。”虽然华为有自己的私有云,但很多客户使用华为的解决方案运行跨云应用。现在大多数公共云提供商都支持Kubernetes,这是一个很大的卖点。“这使得跨云过渡比其他解决方案更容易,”侯说。

在华为内部,一旦他的团队完成了内部业务流程部门向Kubernetes的过渡,侯希望说服更多的部门转移到云原生开发周期和实践。他说:“我们有很多软件开发者,所以我们将把我们的平台作为服务解决方案,我们自己的产品提供给他们。”“我们希望看到他们的迭代周期大幅减少。”

在华为监督了Kubernetes的最初行动后,侯教授对其他考虑该技术的公司提出了建议:“当你开始设计应用程序的架构时,考虑原生云,从一开始就考虑微服务架构。”“我认为你会从中受益。”

但是,如果您已经有了遗留应用程序,那么“首先从这些应用程序中对微服务友好的部分开始,这些部分相对容易分解为更简单的部分,并且相对轻量级,”Hou说。“不要从第一天开始就想,我要在多少天内把整个架构,或把一切都转移到微服务。不要把这当做目标。你应该循序渐进地做这件事。我要说的是,对于遗留应用程序,并不是每一部分都适合微服务体系结构。没必要勉强。”

毕竟,尽管Hou对华为的Kubernetes充满热情,但他估计“在未来10年,可能有80%的工作负载可以分布式,可以在云本地环境中运行。”还有20%没有,但没关系。如果我们能够将80%的工作负载变成原生的云,从而获得敏捷性,那将是一个更加美好的世界。”

在不远的将来,侯期待着围绕Kubernetes开发的新功能,尤其是华为正在贡献的那些功能。华为工程师一直致力于联合特性(将多个Kubernetes集群无缝管理在一个单一框架中)、调度、容器网络和存储,以及一项刚刚宣布的技术集装箱运维,这是一个Devops管道发动机。“这将把每一个Devops工作放入一个容器中,”他解释道。“然后这个容器机制正在使用Kubernetes运行,但也用于测试Kubernetes。通过该机制,我们可以使集装箱Devops作业成为比以前更轻松地创建,共享和管理。”

尽管如此,侯认为这项技术的潜力只发挥了一半。首先也是最重要的是,他希望扩大它所能协调的规模,这对像华为这样的超大公司以及它的一些客户来说是很重要的。

侯骄傲地指出,在华为的第一位工程师成为Kubernetes的贡献者和传道者两年后,华为现在是社区的最大贡献者。他说:“我们知道,你对社区贡献越多,你得到的回报就越多。”