专访阿里云资深总监李津:论开源战略、安全服务和运维行业的变化
话题是先从 HTTPS 云加速引开的
王:在之前已有消息说阿里云在开发 HTTPS 云加速的服务,而业界,包括国内已经有云加速服务商提供了 HTTPS 云加速服务。不知道阿里云这方面的进展如何?
李:阿里云的 HTTPS 的云加速其实从技术上已经完成了,目前还在调测一些用户体验的部分,技术上并不是障碍,关键是易用性。HTTPS 云加速事实上是基于 CDN 做的,但是这里还有一些需要完善的部分,CDN 本身是一种管道,解决了从 CDN 到用户的加密传输,但是还需要解决从源站到 CDN 节点间的传输。如果用户本身没有支持 HTTPS ,那么还需要考虑从源站到 CDN 节点之间的传输问题,而部署 HTTPS 对于不少客户来说还是比较复杂的,很多用户希望有一键部署的体验。
此外,对于已经部署 HTTPS 的用户,他们还是愿意将其私钥放在自己控制的服务器上,而不是放到阿里云的 CDN 节点上,对于这种情况下,有两种方式:一种是采用伪密钥的方式,即由 CDN 提供证书给客户,另外一种是客户将自己的 SSL 证书上传,这可以是上传到一个信任的第三方的黑盒中。
窦:说到证书服务,阿里是否有计划建立自己的 CA 或者购买一家 CA 服务商?
李:CA 服务商最重要的不是颁发证书,而是要对所颁发证书的可信性进行背书。颁发了证书就要确保该证书所保护的信息具备起码的安全水准,有些 CA 服务商这方面做的还不够。不仅仅是用户购买就颁发证书,而且要对客户进行检查和判断,判断是否达成安全可信标准。CA 服务商不是一个生意,更多的是一种保障的能力。
王:如果阿里云提供 CA 服务,是否会采用类似 Let’s Crypt 这种免费模式?
李:如果不叠加更多安全服务,是可以采用免费摸,但是如果叠加了比如扫描检查等增值服务,就需要商业收费模式。这些年来,对于安全方面的承诺,需要越来越慎重, CA 证书代表的是信任所传递的责任。
云计算的新形势下,基础运维的变化
窦:云计算让运维行业迎来了第二春,对运维人员的界定也在发生变化。那么您认为将来运维行业会发生什么变化?
李:首先,云计算是从运维上发展起来的一个方向,而不是一个自顶向下的变化。其次,随着 DevOps 的流行,开发和运维在某种程度上是融合的,今天的运维人员已经有能力和空间去做一些更应该去做的事情了,而不仅仅是守在机房整理机架。运维是什么?按照 Google SRE 的说法,就是站点的可持续性的保障。
窦:随着云计算的发展,传统的互联网公司的基础运维部分会越来越少,这部分过渡到了云计算平台服务商了。
李:从使用者的角度看,基础运维会越来越少,而业务运维会越来越多。云计算平台不会提供所有服务,但是会尽量提供各种原子性的服务。比如说,在我看来,MySQL、Cache 现在就是一个原子性的服务,而不像过去,是一个解决方案。现在的业务运维就是快速地用原子化的部件搭建自己的业务系统,支撑业务运维,就像乐高积木一样搭建。今天很多云服务商都喜欢用乐高积木来比喻其服务,其实就是指这些服务会形成标准件,用户可以用这些标准件来搭建自己的业务系统。
当然这种标准件会让客户丧失部分的自主权,比如说某种原子化部件不存在怎么办?有两种方式,如果确实是一种原子性的产品,那么云计算服务商一定会提供的;如果是当下急需或个性的需求,那就可以客户自己做。非常有意思的是,每个大的云计算服务商背后都会有一个云市场,你自己做出自己的原子化部件,也可以将它放到云市场上去。
窦:在这个方面我发现一个问题,比如说他们已经做出来了这个原子件,但是有一天云计算厂商发现这个东西不错,我也要做这个,那你怎么平衡这个关系?
李:这个事情从某种程度上讲一定会发生。为什么呢?原子化的就是抽象化的,如果云技术服务商发现它已经成为大多数人所需要的一个东西,就会向下抽象,让它成为服务平台的一部分。那么对于上层厂商来说该如何发展呢?他们应该向上走,将这个东西做的更细分、更好。这就是一种倒逼机制,就像是假如你要做一个杯子,而你的杯子的生产成本已经远远高于通用化制造的杯子,那你肯定会被淘汰。但是如果你把这个杯子变成陶瓷的、变成有收藏价值的,那就可以做了,不会被通用化制造的杯子挤压到没有市场。
举例说, AWS 上有两家存储服务商,DropBox 和 Box,那这两家公司有生存空间么?其实他们都是做数据文件的共享,而文件共享其实是 AWS 的基础服务。这两家做的是数据增值服务,如果这种增值服务对所有人来说都是标准服务需求的时候,它就会被 AWS 所提供,那么这两家厂商就不停的被底层的厂商倒逼着不停地提供更多的增值服务。但是它们越做新的增值服务,就和用户越贴近,挖掘到的需求对用户的帮助就越大。这个时候产业是良性的。但是如果厂商固守在数据存储上,那这个“游戏”就结束了。
我们再换个例子说,比如手机里面,之前任何一个智能手机里面都有一个“日历”应用的厂商,但今天还有日历厂商么?很少了,因为这种需求已经是一个通用的需求了。但是“万年历”还存在,这是因为“万年历”这个数据是独特的,也不是通用的需求。但是普通的日历、农历是通用的需求,所以就被底层厂商“吃”掉了;同样,“手电筒”应用也是,它成为了手机自身的功能。
安全服务的边界
王:刚才我们提到了安全问题,我们知道阿里云给客户提供了很多安全服务。做安全实际上存在一个矛盾,在效率和安全之间是存在一定的抵触的。据我所知,阿里云至少在两个层面上为客户提供了安全服务,一个是在云的层面上提供了云防火墙;另外一个是在主机层面提供主机安全防护。这里我想知道,阿里云在安全方面的策略是如何的?因为如果安全方面厂商做的太多,会影响到客户的使用,但是如果有些服务不做的话,一些安全问题就会导致客户应用的问题,甚至会造成安全事故的蔓延。
李:安全的最大问题是:安全的边界。如果这个边界说不清,就会出现你说的这个问题,多做、少做都不对。第二个问题是,安全边界是个大家认知的问题,道德和法律的差异,法律是本分、道德是情分,这是有差别的。在安全方面,阿里云做了三个层面:业务安全、主机安全和平台安全。业务安全是防止客户被入侵,保障客户应用的安全,是从外向里看;而主机安全是从主机向外看。还有一个层面是平台本身的安全。
安全一定是要划清边界的,因为不可能包揽百分百,这就一定要和用户说清楚那些部分是不能包揽的。安全里面 30% 是技术的问题,70% 是人的问题,但今天有没有什么办法让人的部分降低到那怕是 50%?让使用更便捷一点?但是这里有个问题是,当你管的多了时候,客户怎么确认你管的这么多是合适的?
窦:很多人对安全的保姆模式还处于一个认可的过程,对保姆模式的信任也没有建立起来。
李:首先是你说的客户不一定相信,不是你说了客户就会相信,这是一个很正常的事情。那只能是在一开始的时候就尽量将事情说清楚。其次是,能以授权的方式存在的就一定要以授权的模式做,让客户随时可控。
当时“安骑士”这个事件之后,在我们内部反思过这个问题。在我看来,第一个,授权做的不清晰;第二个,给用户做的可上可下的提示不明确。如果它是可上可下的、授权清晰的,那就是个用户自我选择的问题。然后是,“安骑士”你到底都做了什么?这个你得给客户提供审计报告出来。
不只是“安骑士”,包括阿里云做的所有东西,都应该提供专业的审计报告。比如说一台主机,服务商进行了维护调整,环境上有了变化,它可能都会对用户发生影响。这个时候,作为用户,我都看不到就没有安全感。那么这个时候应该以一种什么样的方式将这个报告提供出来?所以,我们今天就将各种服务,比如 RDS 的维护日志、用户自己的操作日志都让用户能看到。而且如果用户使用了多种服务,如何将多个报告融合在一起,这也需要我们大量的工作。
企业的开源发展的四个阶段
王:阿里云做了许多产品,也开源了许多产品,阿里云在开源方面的战略是如何的?
李:阿里云做了很多中间件,最流行的是 dubbo。为什么它会很快的流行呢?首先它是一个简单的应用,其次是它被阿里淬炼过,保证了其稳定性。我最近在管理开源社区方面的事务,发现它的社区非常大,使用文档、案例、手册等庞大无比,我非常惊讶,远远超过我的预期!社区对它的贡献非常大。我想说的是,在它刚刚推出的那一刻,它是不成功的,但是随着社区对它的完善,包括我们自己还不断的对它做升级。它变了,它变成了一个很庞大的东西。在它刚刚推出的那个时候,它是不够简单易用的,但是随着社区对它的贡献参与,它就变得简单易用了。之所以这样,是因为它有了更多的使用案例。
我认为开源有四个阶段:
第一个阶段是拥抱开源,就是你去用开源软件,这样让你可以最快地有能力达到一个基本的技术水准上。
第二个阶段是回馈开源,比如你可以将你的一些补丁反馈给社区。比如阿里就对 mysql、hadoop 等做了很多贡献。
第三个阶段是融合开源,你的产品别人是否支持?之前是我反馈给社区,而现在别人是否在开源产品中支持你,比如在 Hadoop 源码中支持你,在 Docker 源码中支持你。我拥抱你,你拥抱我,互相接纳。
第四个阶段是回报开源,当你已经被开源社区接受的时候,那这个时候你要有选择性的回报,将一些产品开源出去。这里是有你自己的商业诉求在里面,比如说你有一个方向性的东西你看不清,那么开源出来,大家一起来做,这种情况就比如说 Google 开源它的深度学习。另外一个做法是是将之前换代的产品开源出去。
阿里集团有一个开源委员会,旗下的各个商业部门都有参与,用来决策如何开源,以什么原则,什么节奏去开源。
结语
经过长达一个小时的深入沟通,我们对许多问题进行了探讨和了解,从阿里云这里能够看到,国内的顶级互联网企业,已经跳出了巢臼,能够更大的从产业、文化、趋势方面对运维行业、云计算领域乃至于互联网行业进行深远的布局。
以上,由 Linux 中国的老王为您独家披露。
本文转载来自 Linux 中国: https://github.com/Linux-CN/archive