云杉网络亓亚烜谈“SDN趋势下三类角色如何做好自己的五年规划”

root

2016年10月24日

案例分享

亓亚烜:大家好,一般下午听会都比较困,所以我想今天给诸位能留下一些有用的信息,因为云计算的发展,其实离不开网络,而网络在云计算里面重要的点就是软件定义网络,软件定义网络是今年的第十个年头,因为2006年出现了OpenFlow这个协议,以后又延伸出来SDN的网络,那一年开始云杉开始做相关的技术研究,2011年开始,我们注册了公司,成为中国第一家专门做SDN的公司,我们做的产品就是做OpenFlow和SDN的控制器,为数据中心的网络进行服务。

640-46

理解任何一件事物其实都需要回答这三个问题?为什么是软件定义网络?然后什么是软件定义网络?为什么要用它?第三个是怎么用,今天的重点就是在说怎么用这件事情,里面会提到三部曲,希望大家记住这三个部分,讲怎么用之前,先得了解一下什么是SDN,因为现在在座了人都听说过SDN,让每个人回答并不能回答出一致结论,什么是SDN?这张图不用细读上面的文字,我把SDN的概念总结为下面的公式,我们对SDN的定义不是来自一个人,是来自全球人民的智慧:

第一个就是SDN不是一个技术,是一种新型的网络架构,这个网络架构包含两部分:一是控制平面与转发平面的分离,二是分离之后两个之间用什么控制呢?就是用OpenFlow的协议,这是全人类对SDN的共识。后面是怎么做的问题,我们已经理解了SDN的定义:它的价值就是在于前所未有的开放性、可编程性,还有前所未有的网络控制粒度,怎么实现呢?今天不讲技术,讲三类人,从三类人做的三件事情几乎可以看出来SDN怎么落地?

第一步就是决策,SDN是自顶向下的实施过程,SDN是一种架构的变化,一定需要高层的决策,所以第一步我会从企业CEO、CIO的角度去讲怎么去决策SDN。

第二步就是架构,我们已经定了做SDN的这件事情,要把SDN的威力发挥出来,架构师应该怎么考虑?架构师起到了非常重要的作用,他的决定影响整个系统的工作状态,这里面提到架构师一定从场景化去思考问题,一定全面的场景去做。

第三步是实施,实施是由工程师来实施,在座的诸位,至少有三分之一或者一半是青年人,工程师应该怎么发挥自己的价值?这里面用生动的例子告诉大家,工程师在SDN的这个行业怎么把握住自己的机会。

640-47

Eric是一个非常出色的CTO,他带领携程进行了2011年巨大的IT转型,在这过程中他提出CTO的六要素,其中三个重要的观点:

第一个,我们看技术影响不影响业务,不光是看眼下还要看未来,你现在做的决策要保证两年后不会影响你的业务,这个对CTO是非常大的挑战,这里面有两个观点供CTO参考:一定要降低决策风险,避免设备商的依赖,这里面没有说设备商的绑定,绑定没有关系,目的是不要依赖他们,不要依赖设备的功能才能实现业务,这是非常重要的。所以解决的办法就是应该至少采用两家以上的设备商供货,避免一家设备因某个功能缺失导致自己业务上的重大风险。再就是第三方的控制器主导,因为控制器是这个业务的核心,设备商和控制器应该是第三方的开放的控制器而不是厂商的,我参加过很多的厂商大会,我真正看到是SDN公司作出这样的东西。

第二个,好的CTO不是按照当前的容量去考虑,而是10倍的增长这么考虑,现在的架构要平滑的扩展到10倍,这里面如果同样不依赖SDN,前几年说的大二层网络很简单,可以做随意的迁移,网络相互连通不能管,但是大二层在一定的规模之上就会发现一大堆的问题,这些问题是因为你选择这些架构,业务依赖这些架构,导致这些业务无法扩展。所以用三层网络架构来做,这个决定需要CTO来做的,这要求新的业务部署,需要适应虚拟网络的环境。这样的三层网络可以无限大,整个因特网就是三层网络,有了这样的扩展性,我们才为未来乘以10倍的网络来做准备。今年买一个万兆的防火墙是不是能够,今年的业务量5个G,明年10个G能够,真到业务到那个量的时候,会遇到非常大的瓶颈。这个里面已经开始使用X86集群的网络功能服务虚拟化可以做到平滑扩展,可以支持几百G的流量,这里面也是CTO需要考虑并且实施的。

第三个,企业要想维护一支非常优秀的IT团队,靠的不只是薪水和期权,靠的是技术理念和对最先进技术的整体把握情况,因为工程师非常愿意做很酷的事情,如果千篇一律的做平庸的事情,不管他赚多少钱都会选择离开,这里面大量的使用创新技术,这样的工程团队,不管是运维的团队、开发的团队,都会更有信心,更有兴趣做自己的工作,这样才能吸引更好的人才,才能把整个企业的技术品牌打响。

所以从整个的角色角度,大家可以看到SDN带给决策者是有很大的创新空间,同时为CTO自己能够带领企业的未来的业务,能够真正的落地,能够真正的平稳,其实起到了非常重大的作用。

架构的角度,架构师分为数据架构师网络架构师等等,在云计算的时代,一个云的架构师是全能的架构能力,这里面云的架构里面有业务的架构,我们到底采用哪种模型来做,我们确定开发模型我们的开发工具是什么模式,开发人员怎么管理。如果倒着来,我先搭一个云,再把云业务往上迁移,就是上云,我觉得这个非常暴力,非常不合理的做法,真正好的架构师,永远都是自顶向下看问题,一步一步的规划。

640-49

SDN在整个架构过程当中起到什么角色?作为一个优秀的架构师怎么理解SDN?这是一位非常优秀的架构师,这是平安科技的丘子隽,我们经常讨论企业的架构,在这个过程当中可以看到云分了好几层,从我们交流的结果看到,这是一个自底向上的讨论过程,这些方法论大家想做架构师的话可以学习一下,最底下是数据中心的规划,从云里面提出来一项一项的服务,在IaaS这一层,里面的网络服务涉及到SDN,传统就是一对网络设备,在云计算里面,网络一定做网络虚拟化。但是这里面和计算虚拟化提高服务器的利用率截然不同,做网络虚拟化的目的不是为了提高网络的利用率,做网络虚拟化的目的是为了支持业务的动态架构。

因为在云时代,业务是千变万化的,如果你的网络都需要人去管理,不能做到动态的配置,业务将会受到网络变化的限制而无法快速的适应这个新的需求,所以适应动态架构是网络虚拟化核心的目的,这里面需要在IaaS这层引入这个技术。

在PaaS这层,今天大会都在讲大数据服务,数据服务都能理解,不是虚拟机也不是存储的硬盘,是真正的数据的服务,网络服务也一样,涉及到防火墙的服务等等,对PaaS的这一层网络服务规划,用SDN对应的点就是企业的NFV,它的目的让业务变得安全合规,因为云上的业务在虚拟网络当中,传统的体系无法保证它,但在各行各业里,特别像平安的金融机构里面,业务的合规性和安全性非常重要,需要PaaS这一层的服务支撑,这里面构建PaaS和IaaS,为什么分两个层次?不是构建IaaS之后在这个基础之上做PaaS?这是做不到的,因为对网络服务的运维和对IaaS网络的运维是分在不同的团队,由不同的人负责,这些东西一定存在架构师的脑海中,否则他不能通过场景来真正的把这个生产环境能够映射出来,这样导致的问题就是业务无法部署。

除了这两个场景之外,还有一点就是业务在云端部署之后会有运维的问题,一个云在运维人员看起来就是一个业务系统,事实上里面跑了很多的各种各样不同的业务,这个云该怎么运维?这里面网络运维的管理其实也涉及到SDN,刚才已经讲到SDN里面的核心价值,就是说它能够把网络里面的细粒度的流量呈现出来,而且这个细粒度前所未有,超过以前的网管工具,基于大数据分析网络运维的平台,这是非常重要的,这一块就叫云计算的网络分析,这是一个非常热点的业务系统,它的目的就是通过大数据解决云时代网络运维的问题。

所以在架构师的网络系统里面,从底层到上层同时考虑这些问题,举个例子,如果说网络运维这件事情一开始没有考虑,很可能在它的TOR交换机上面没有留下镜像端口,当他想镜像流量时就很麻烦;很可能在服务器上面没有安装高性能的处理软件,如果没有这个模块和软件,他想监控的时候安装这样东西的时候就要干涉到业务,就要影响到业务系统的运行,这些东西都是因为之前没有设计,所以导致后面无法实施的难点,所以在各个层面作为一个优秀的云的架构师,一定要考虑到全篇的东西,从一开始就能够为未来做好所有的准备。

640-49

在这里面,我可以从云杉的角度分析一下我们做了一些什么,我们做的就是控制器,在SDN的里面,网络的使用者就是看的控制器,看到的东西有什么呢?就是这张图列出来的东西,分三个层次,网络虚拟化可以通过控制器控制多个厂家的交换机,解决厂商绑定的问题;第二个通过微分段、虚拟机、虚拟服务来实现网络微分段,还有软硬结合的异构部署,适合混合云的接入等等,这是做虚拟网络,满足用户各种网络不同的需求。

这里面已经做了很多的工具,同时这个平台是开放的,整个网络流量的数据以及它的分析工具,都是以开放的API的形式给网络运维人员可以在上面开发各种各样的应用满足企业的需求,另外在NFV平面也是开放的架构,在这平台上面可以做很多安全的防护,满足业务的合规性。

所以,从一个完整的SDN产品来看,应该包括这三部分,如果只有一个功能,对于架构师来说,你可能需要为了其他的功能再去部署控制器,当控制器多的时候,多控制器的管理又是一个复杂的问题。所以一个完整的SDN产品至少包含这三个层面的东西。

640-50

最后谈到实施,实施永远是企业服务的特点,实施也是我们企业最大的挑战,我们都是工程师要为客户提供价值,我们要交付,这里面就是SDN的工程师既是网络工程师又是软件工程师,怎么理解这件事情。

首先看看什么是网络工程师?从这张照片(小编注:见视频中PPT)可以看到,一个年轻的网络工程师,这就是他的日常工作,他的生活其实并不快乐,因为他很少能有成就感,他的同事找他的时候,大部分因为断网因为各种问题,找他修复,永远没有好脸,看他穿的衣服,时候他需要穿的很厚,因为大部分机房都是从下往上吹风,一待待好久,有的时候又恨不得光着膀子进去因为空调坏了,你也要待在那里等到空调好而已,但是没有人知道你苦和累,这样的工程师可能会经常跳槽,到这家公司做到那家公司做,随着年龄增长薪水未必增长,我为什么创立云杉网络这家公司,我也是学网络的,我觉得网络不应该是这么苦逼的事情,网络应该是高大上的事情,拿这位小同学举例。

大家看看他现在做什么,自己学了前端的设计,比如说掌握一些PHP的技术其实并不是那么难,当你知道数据从哪里来,问题在哪里的时候,你可以动手写软件,通过控制器解决这个问题,这张图上的网络(小编注:见视频中PPT)和那张图上的网络是一个网络,然后如果你作为一个传统的网络工程师你看到的是这样的现象,你待的环境永远都是这样的,在这张图上看的是网络上的业务,这样的图表是你自己创造出来的,你可以在业务人员发现问题之前就告诉他,这是你的问题,这不是网络的问题,这是非常常见的,数据中心里面90%是业务人员的问题不是网络的问题。

我讲讲这位小同学经过两年的磨炼之后,现在成长为云杉百万级的大单是他一个人的做的,这是我们非常厉害的事情。这是从网工变成SDN工程师的路,我想未来从事网络行业的工程师们,你们的路在哪里?其实就是应该做这样的事情,路到底是什么呢?其实要做一个合适SDN的工程师,你应该掌握这些工具,如果你连这些工具没有听说过,不要说自己懂SDN,这些工具难吗?其实不难,对于网络这个层面来说,你需要掌握一些各种控制器的开发,至少在上面写过很多的小程序,现在云上面可以提供这样的环境,云杉也会提供这样的环境给你使用。

如果你是偏向业务应该懂云计算,因为业务都在云计算,云计算你应该了解什么呢?应该了解OpenFlow,熟悉了这些东西之后,你自然而然就知道我们怎么样通过网络上的程序来服务于业务。

同时,如果你就是喜欢做运维,你喜欢驾驭大的系统,我们常常听说某某企业一个人管几万台服务器,那个事情好像离我们很远,都是英雄在做,其实这些事情离我们真的很近,因为你只要加入了大数据分析的工具,其实你也可以做这样的事情,这些事情的门槛并不高,你有没有往这个方向走,或者你一个证考下去面对一堆线过一辈子,我自己是学习网络出身的,这一块我多说几句,希望大家产生共鸣。

SDN不光是CTO、架构师用的,SDN是更多改变网络工程师的生活和工作。

640-51

总结一下,这张图基本上把SDN,我这么多年做这件事的总结,SDN是控制转发分离+OpenFlow就等于SDN。如果有人说OpenFlow过时了,但是前提有OpenFlow这样的粒度,如果不是Open的,没有这样的粒度,就不是SDN。

为什么用SDN?一个是开放可编程,你可以在上面写程序,而且程序难度不高,第二就是细粒度的控制,因为程序是做很细人做不到的东西,它是把很多细节的东西做出来,这里面有很大的空间。

怎么落地和实战:
一、CTO做好决策不要想着现在,不要想着厂商,想着业务,想着未来如何拓展,想在厂商出现问题的时候我们如何解决,我们怎样打造精英团队,我们企业有什么样的文化。

二、架构师来说,一定要从业务的场景,包括运维、安全,包括整个IT团队每个人场景的入手做SDN的环境。从IaaS、PaaS、运维管理,至少这三个层面把SDN融入进去。

三、对于实施的人来说,要想成为优秀的SDN工程师,你需要懂得网络,懂得FLOW,需要掌握云计算和大数据编程的知识。

感谢这三位同事愿意现身说法,把自己亲身做SDN的经历分享给大家,我也感谢诸位听我们的报告,出门左转有我们非常好的奖品,其实把我讲的东西都写在我们的《绿宝书》上面,里面有SDN的由来或者优秀的企业怎么做的等等,谢谢!