ITPUB论坛-专业的IT技术社区

标题: 【名人堂访谈】大师对话:领悟网易云架构之美(已公布) [打印本页]

作者: pipihappy8888    时间: 2014-6-25 17:04
标题: 【名人堂访谈】大师对话:领悟网易云架构之美(已公布)

各位网友大家好,欢迎做客本期的名人堂访谈,我是主持人皮皮,本期访谈我们很荣幸邀请到了网易杭州研究院前台技术中心总监陈谔老师,为大家坐镇解答疑惑。谈到网易,大家会想起耳熟能详的网易邮箱;而说到网易云,大家又会很自然地联想到网易云音乐、云课堂,云笔记、云阅读等产品,但隐藏在这背后的网易云架构又有多少人知晓呢? 在7*24小时不间断的服务背后,网易是如何利用自主研发的监控平台来应对异常情况?作为2014中国系统架构师大会的专家顾问,陈谔老师又有哪些心得体会呢?本期名人堂将为大家一一揭晓谜团,与大师近距离对话,让您领悟网易云之架构之美。



2014中国系统架构师大会以“发现架构之美”为主题,其中特别开设了“网易私有云以及网易云存储”的专场,欢迎大家踊跃报名,大会官网http://sacc.it168.com/。与陈谔大师的深度对话机会,请大家抓住机会,赶紧提问吧!无论是大会工作还是生活,您都可以敞开心扉,与我们交流心得。截止7月25日,我们将在ITPUB和ChinaUnix社区评选会员三名,各赠送图书徽章一枚,可以用于兑换图书。


皮皮(Q1):陈谔老师,欢迎做客本期名人堂访谈活动,请简要介绍下自己,和我们社区的网友打个招呼。



陈谔(A1):我于2006年加入网易进入网易杭州研究院,先后参与和负责了网易博客服务端架构设计与开发、网易消息推送平台架构设计、网易私有云计算与网络虚拟化架构设计工作,目前负责网易云计算项目整体规划工作及网易能力开放平台的设计规划工作。技术上对分布式系统设计开发、各类编程语言与编程模型充满兴趣。生活中的我是名IT技术宅男、喜欢自驾旅游、也是一名伪球迷和伪影迷。





皮皮(Q2):2014中国系统架构师大会以“发现架构之美”为主题,其中也有关于“网易私有云以及网易云存储”的专场,能否为我们谈谈什么是网易云架构?


陈谔(A2)网易云从形式上来看与AWS、阿里云等类似,是IaaS+PaaS的云计算平台,但和公有云有所不同。网易云从诞生起,就立足于为网易的自己各类互联网产品而服务,因此在性能、稳定性方面有很高的要求。此外,考虑到我们需要对已有机房网络实现融合,因此在设计开发网易云期间,我们对最基础的计算、网络、存储服务都做了大量的概念验证、性能测试工作,并对于各类异常状况的处理做了充分的运维应对措施。与此同时,我们还根据机房网络融合和网络访问安全保障的需求专门设计了融合方案,这一方案也将在本届中国系统架构师大会上进行分享。



网络架构上SDN的逐步实施也是网易云的一大特点,通过基于L3 Overlay的方案,网易云极大的降低了与数据中心网络拓扑的耦合,并为用户带来了租户间二层隔离的更为安全的私有网络。网易云的上层服务也颇具特色,例如除了传统的单节点关系数据库,我们还支持可水平扩展的分布式数据库,这也使得运行在网易云之上的产品在关系数据库访问性能上获得了极大的弹性。目前网易云已在公司内广泛使用,自今年以来,规模也在迅速扩大中,不久后网易的一些第三方合作方也将从高性能低成本的网易云解决方案中受益。



皮皮(Q3):作为本届中国系统架构师大会的专家顾问,您觉得有哪些机遇与挑战?能否分享下您的心得体会?



陈谔(A3):中国系统架构师大会是高手云集的盛会,覆盖的领域也非常广泛。作为大会的专家顾问,这是一个很好的机会,我能够直接接触业界许多先进的思想,也能够和各领域的专家分享与交流想法,并且也能借此机会促成长期的交流合作。这种交流的环境是难能可贵的,是非常高效有品质的。




在挑战方面,我觉得由于IT行业发展太快,总是不乏新旧技术思想的碰撞与颠覆。作为本届中国系统架构师大会的专家顾问,我觉得需要控制自己的思维惯性,有必要深入考虑一些隐藏在技术架构解决方案背后的成因和适用的场景,而不再是停留在简单去否定或追捧的层面上,这将会是一个挺大的挑战。





皮皮(Q4): 对很多互联网企业而言,提供7*24小时不间断的服务是一项非常艰巨的任务。一旦出现异常,运维工程师要面临各种异常补救措施,作为前台技术中心总监,您能否为我们分享下网易是如何利用自主研发的监控平台来应对异常情况?



陈谔(A4):网易的监控平台从很早开始就注重开放接口来满足业务数据的采集监控,这是因为不少线上事故并不能从服务器、VM的各项监控数据指标中得到良好的体现,所以我们的监控平台从一开始就设计成开放接口,允许将实时的业务数据推送到监控平台上,同时监控平台还支持监控数据的聚合和各种统计方式,这样运维人员便就能很方便的设定规则来触发报警。




此外,监控平台还具备完善的查询功能,能够通过类似SQL查询的方式查询符合一些阈值条件的服务器,为容量规划的决策提供支持,支持产品的长期发展。除了业务层面外,监控平台在数据中心层面还支持监控网络拓扑和交换机的工作情况,这样带来的好处很多,可以在很大程度上协助运维人员防患于未然,分离热点保障产品的服务质量。当然监控只是保障不间断服务的一个方面,更多的还是需要产品在架构层面做到高可用、剥离状态、运维友好、支持过载保护及必要的服务降级。网易的一些重要服务还包含额外的SLA评估服务,用以从用户视角观察服务质量,这样就能把运营商网络、CDN等服务端难以监控的因素也包含在内。




皮皮(Q5): 很多邮箱等Web应用都会面临着用户隐私等信息安全的问题,网易该如何应对这种挑战?您觉得有哪些技术方法可以强化Web应用的安全?



陈谔(A5):保护用户隐私是一个包含很多方面的系统性的工程,网易也有较为完整的体系来应对这一挑战。首先网易有完善的通行证账号体系,网易通行证提供了将军令、密保卡、手机绑定等多种保障,通过统一的账号体系同时也对异常登录等行为做了实时的分析反馈,通行证及网易的平台类产品均提供了标准的OAuth2.0,OpenId等支持来保障第三方接入时用户账号的安全;


其次网易的互联网产品也十分注重客户端漏洞的预防,网易的安全部门对各产品的XSS、SQL注入等漏洞情况有严格的监控,漏洞的解决都有严格的限时要求;在服务端我们要做的是防御入侵,近年来不少严重的用户隐私泄漏事故均起源于服务端被入侵,网易的安全部门及系统运维团队负责对操作系统、应用容器等漏洞进行跟踪。当有重大漏洞出现时各产品和服务均会第一时间进行更新,例如最近的Heartbleed漏洞,网易相关的产品均在极短的时间内完成了更新,网易的开发人员在接入机房内网时都需要额外通过将军令验证,这也很好的保障了数据中心网络不因为个人安全疏忽而被入侵。

此外,我们还在积极引入入侵检测体系,提升运维感知能力;在数据中心的网络层面,网易也通过划分VLAN来控制不同产品间的网络连通性,在网易实施私有云以来还逐步提供了到租户粒度的三层网络隔离,目前网易私有云网络正通过实施SDN,实现租户网络的完全二层隔离,从而带来了更高的灵活性和安全性。


在强化Web应用安全方面,我觉得应在需要的场合引入HTTPS,注意cookie的属性设置如secure、http-only;注意预防XSS、SQL注入等漏洞,可基于Zap,Burp Suite等工具来检测漏洞;基于中央认证服务器的体系实现SSO(可参考google账号认证体系或Yale CAS);第三方认证授权使用OpenId及OAuth2.0;用户密码存储确保签名及加盐存储;服务端应用容器、依赖的框架、操作系统及常用软件需关注安全更新及时升级修复安全漏洞;管理服务器环境考虑使用堡垒机;架构上避免服务器不必要的向外网暴露;引入VLAN隔离产品、数据服务环境。



获奖公布:
2009532140
gzmt
家住海淀






作者: 2009532140    时间: 2014-6-25 18:48
good ,陈先生...
作者: 2009532140    时间: 2014-6-25 18:59
此外,考虑到我们需要对已有机房网络实现融合,因此在设计开发网易云期间,我们对最基础的计算、网络、存储服务都做了大量的概念验证、性能测试工作,并对于各类异常状况的处理做了充分的运维应对措施。
就针对你说的有几个问题:
虽然做了测试,得到了测试结果,但是根据什么来保证这个结果就能满足网易云的需求?另外我觉得虽然经过测试,只是对异常情况的运维只是提供了一定的经验



网络架构上SDN的逐步实施也是网易云的一大特点,通过基于L3 Overlay的方案,网易云极大的降低了与数据中心网络拓扑的耦合,并为用户带来了租户间二层隔离的更为安全的私有网络。

这个,租户间隔离层越多,是不是意味着用户到达自己的租户间的路径就越长?
那么用户的频繁更新文件是不是有一定困难?
是不是有损灵活性?
作者: gzmt    时间: 2014-6-25 23:43
本帖最后由 gzmt 于 2014-6-26 10:11 编辑

引入HTTPS,cookie属性设置,注意预防XSS、SQL注入等漏洞,基于Zap,Burp Suite等工具来检测漏洞,操作系统及常用软件关注安全更新及时升级修复安全漏洞,使用堡垒机,引入VLAN隔离……
这些措施在信息安全领域已不新鲜,网易在信息安全领域也不突出,如何证明网易在私有云以及云存储方面的专业安全服务能力,是今后需要考虑的一个问题。
作者: pipihappy8888    时间: 2014-6-26 10:44
gzmt 发表于 2014-6-25 23:43
引入HTTPS,cookie属性设置,注意预防XSS、SQL注入等漏洞,基于Zap,Burp Suite等工具来检测漏洞,操作系统 ...

这个问题好!
作者: pipihappy8888    时间: 2014-6-26 10:46
2009532140 发表于 2014-6-25 18:59
此外,考虑到我们需要对已有机房网络实现融合,因此在设计开发网易云期间,我们对最基础的计算、网络、存储 ...

采取二层隔离所带来的网络安全可能在寻求一种平衡。
作者: jackson198574    时间: 2014-6-26 11:30
学习!~~~
作者: lastwinner    时间: 2014-6-26 12:59
小皮,A和Q写反了……
作者: hzchene    时间: 2014-6-26 13:23
2009532140 发表于 2014-6-25 18:59
此外,考虑到我们需要对已有机房网络实现融合,因此在设计开发网易云期间,我们对最基础的计算、网络、存储 ...


为了确保我们的云架构能满足产品的需求,除了必要的测试,我们在初期将产品引入私有云时做法是将产品除了外部的负载均衡外,在云内完整部署一份,然后通过配置负载均衡将流量导到云环境,并密切监控各项性能指标,这样即使有风险我们还是能够切换回原环境而不会影响产品,通过这样的机制逐步引入产品帮助私有云很好的确认了是否能够真实满足产品的需求。运维方面的确主要是平时准备方案,加强演练,不过网易私有云其实也运转了快2年了,我们也已积累了一些处理问题的经验。

基于L3 Overlay实施SDN并不会影响租户节点间的物理路径,节点间的路由是数据中心已经保障了的,额外的开销基本只是tunnel协议带来的。租户间的网络互通在网易私有云中是通过在虚拟机上挂载专门划分的机房内网IP来实现,这样实际是利用了机房已存在的路由,在性能和可靠性上也完全没有问题,挂载机房内网IP需要额外解决租户访问控制的问题,这个也正是负责网络虚拟化的同事会在中国系统架构师大会上带来的topic,还请到时关注,租户隔离带来的灵活性方面的问题这个主要是和安全性间的一个权衡。
作者: hzchene    时间: 2014-6-26 13:44
gzmt 发表于 2014-6-25 23:43
引入HTTPS,cookie属性设置,注意预防XSS、SQL注入等漏洞,基于Zap,Burp Suite等工具来检测漏洞,操作系统 ...

网易私有云的安全措施主要还是遵循网易自己的安全体系,这里面的确没有太新鲜的东西,我们目前能做的是切实的去实施这些安全措施。网易其实一直以来经营邮箱和游戏这两个对安全要求颇高的业务,在自身体系上是积累了不少经验的,我们的安全部门目前发展也很快,相信大家也能逐渐听到网易在安全服务领域的一些声音。
作者: helonten    时间: 2014-6-26 14:04
支持      
作者: ITPUB董事会主席    时间: 2014-6-26 14:56
good ,陈先生...
作者: 〇〇    时间: 2014-6-26 16:07
我觉得wap.163.com做得不错,很慢的网速也能看
作者: crazypeter2005    时间: 2014-6-26 18:28
支持!
作者: 伊盖子    时间: 2014-6-27 01:13
顶,看看。
作者: oracle重庆思庄    时间: 2014-6-27 11:43
学习学习再学习
作者: 家住海淀    时间: 2014-6-27 16:07
gzmt 发表于 2014-6-25 20:43
引入HTTPS,cookie属性设置,注意预防XSS、SQL注入等漏洞,基于Zap,Burp Suite等工具来检测漏洞,操作系统 ...

早就是烂熟的技术,单项早于办法突破了
对于安全架构来说,个人认为是整体性的安全,如果存在一个漏洞,其他的所有设防和措施都崩溃了。
作者: 家住海淀    时间: 2014-6-27 16:08
现在不是有流行的云沙箱技术吗,不知道陈先生这方面可否指点一二,盼复。
作者: 家住海淀    时间: 2014-6-27 17:12
另外三个问题请教:
1)抛开功能性的范畴,对于非功能型的性能方面的是否属于架构设计的范围?如果是,这方面在大量并发,高频访问方面建议的处理方式是什么?如何做最经济,最具有弹性。
2)个人觉得安全是一个非常宽泛的问题,嘉宾已经提到了很多技术手段,但是单一的手段如何整合形成整体的安全壁垒,在这方面云技术和传统技术的优点在那里?
3)现在各种系统都强调一点登录,网易的邮箱系统也是这样的,登录邮箱后,网易的易信等多个应用都被同时打通,也就是说同一把钥匙,这样对应对和管理对客户才是最安全的。
作者: hzchene    时间: 2014-7-4 13:16
家住海淀 发表于 2014-6-27 17:12
另外三个问题请教:
1)抛开功能性的范畴,对于非功能型的性能方面的是否属于架构设计的范围?如果是,这方 ...

1)
非功能性的需求一直都是架构的关注点,对于高并发、高频的访问需求,目前我们的解决思路主要是从编程模型和基础架构来着手,编程模型方面主要是引入非阻塞的编程模型,不再使用系统级的线程来处理并发请求,从而避免上下文切换的开销达到提升系统吞吐能力的作用,引入非阻塞的编程模型最直接的方式是使用专门的编程语言和运行时,例如erlang,node.js在网易杭研的服务端解决方案中扮演重要的作用,另外我们很早开始关注SEDA的编程模型,利用这种抽象来控制资源开销实现过载保护;在基础设施层面我们目前做的主要是引入LXC容器来满足高网络IO的服务需求,另外利用云计算平台的弹性我们能够在服务访问压力过大时快速进行扩容。可以看出我们的思路是充分利用计算资源的吞吐能力,因此这也是和节约成本的需求相一致的。当然提高性能是个非常复杂的话题,一百个系统有一百种方案,我这里提到的只是一些非常通用的思路。

2)
由于目前我所接触的云主要是作为基础设施存在的,所以从安全角度主要是为上层的安全性提供更好的基础,例如不同系统间的网络隔离在传统数据中心模式下是一个挺麻烦的事情,而通过网络虚拟化来实现不同租户网络间的隔离就很好的满足了这一需求,上层应用的安全保障依然和以前一样是个体系化的事情,所以我之前列出了一堆大家都看着挺熟的技术,这里的关键是要有能够保障这些技术能最大程度实施的方法,个人认为安全规范及支撑这些规范的工具集是非常重要的,同时需要有严格遵循安全规范的运维部门,在开发层面从前端到服务端需要统一的框架,需要有统一的认证服务,安全就是不能有明显的短板。


问题3没看的很明白啊~
作者: 家住海淀    时间: 2014-7-4 14:15
hzchene 发表于 2014-7-4 10:16
1)
非功能性的需求一直都是架构的关注点,对于高并发、高频的访问需求,目前我们的解决思路主要是从编程 ...

第三个问题(现在各种系统都强调一点登录,网易的邮箱系统也是这样的,登录邮箱后,网易的易信等多个应用都被同时打通,也就是说同一把钥匙,这样对应对和管理对客户才是最安全的。)

其实是一个应用的问题,即以此登录,完成全部应用系统的权限的打通和授予。如同我举的例子,我用网易邮箱用户登录了,相当于同时登录了微薄、易信等各个其他应用,如果这样,权限就瞬间全部被突破了。 这种情况如何解决?
作者: hzchene    时间: 2014-7-23 17:43
家住海淀 发表于 2014-7-4 14:15
第三个问题(现在各种系统都强调一点登录,网易的邮箱系统也是这样的,登录邮箱后,网易的易信等多个应用 ...

不好意思年中太忙久等了   就单点登录来说,网易的一些旧系统也是受到老架构的拖累的确有一把钥匙开多扇门的问题,但这有两个层面的安全问题,第一:密码被盗,这是单点登录系统无法解决的问题;第二:认证用的token被盗,我们期望的架构是各个站点实际做session交互时使用的token是独立的,仅仅在第一次访问这个站点时需要和安全的中央认证服务器产生认证行为,这样就web应用来说当访问一个站点时会先检查是否已持有这个站点的session token,如果未持有则跳转至中央认证服务地址,这时受secure,http-only保护的认证域下的token便能获得认证,如果这个token不存在则出发用户名/密码向中央认证服务器提交的流程,目前我所接触的项目中也基本是follow这样的架构的。在这一架构上除非到中央认证服务器请求携带的token被窃取(需突破浏览器的安全保障),否则不会产生一把钥匙开多扇门的问题。




欢迎光临 ITPUB论坛-专业的IT技术社区 (http://www.itpub.net/) Powered by Discuz! X3.2