《The Startup Kids》 观后

The Startup Kids》是一部讲欧美小青年做(移动)互联网创业的纪录片,采访了不少的 startup,包括我一直在使用的 dropbox、vimeo,曾经用过的  Soundcloud 以及从未用过的 Kiip、Scribd、drop.io 等等。

要成功无非分为内在与外在因素,其中内在的起绝对的主要作用,包括热爱激情坚持专业等等的内在素养。这里主要说说外因,外因对一个公司的发展也有非常大的影响,感受最深的几点是:

这些 startup 能非常容易的廉价的租用各种云,这个在大陆基本是不现实的,如果你服务的是大陆客户但是使用的墙外类如 ec2 的基础设施,这意味着严重的访问延时严重的丢包,最不幸的是直接被墙。而大陆的几家云,具体的我就不评价了,要是靠谱的话,被收购后某些业务早就迁移过去了,而不是现在是用物理机的传统方案。

能够方便的获取各种资源,包括但不限于技术上的资源,比如各种各样的开源技术方案;相比大陆好的多工商、税务、办公场所等等一系列的商业资源;以及最最基本的生活设施,包括空气水等等。不得不承认的是,大陆的大部分工程师还在为租房买房买车担忧的时候,对岸的则在想着 "How to make world better"。

纪录片在介绍 drop.io 的时候让我突然想到了域名的问题,同样的,如果目标是大陆的用户,并且是老老实实把服务器放大陆,使用 xxx.io 这类的比较新奇域名就是死路一条,因为中国的局域网有备案这一说法,因此还是老老实实的用 .cn, .com 域名,即使买了,也请老老实实的去拍照备案。当年我们曾经找人帮我们做加急的三天快速备案,一方面是当时有一部分的 .com 域名没有备案,另一方面是有不少类似 .io, .us "非主流"域名,后来发现,域名备案带动了一个新的产业链,从上游到下游。

影片中有不少黄皮肤,人肉了一下发现要么是纯正的中国血统(Ping Li),要么是全家移民过去的(Brain Wong),有的连 Co-founder 都是中国人。这是不是说明中国人其实还是很有创新实干能力的,只不过周围的大环境不太理想,一旦到了一个比较好的环境,还是能如鱼得水做出不少工作的。

最后,推荐大家一看。

系统架构师大会(SACC 2012)第三天

今天是第三天(好长),明显没前两天有意思,早上 360buy 的那个原来是由雅虎的来讲的,做替补的感觉真不好受阿。实际上,早上的我并没有去听,只听了下午的两场。

1. 端到端的性能优化,这个我们目前也正在做,我理解的是,从你客户端发起请求到返回请求,这过程中走的每一步都需要有详细的计算,耗时多少,这样才能看出是哪部分的相应比较慢,发现了问题所在才能解决问题。
还是那句话,用户永远不会嫌你的系统太快,优化这个东西跟安全一样,不是一劳永逸的事情,是需要往复循环,坚持去做的。其实,我理解的,所谓的性能问题,从客户的层面来讲,就是一个字,慢。而这其中会牵扯到许多的人,尤其公司大了,系统复杂之后,参与进来的人会大大增加,这就需要我们能比较好的协调好各自的关系,处理好多方合作上的问题。很多有都有这种想法:事不关己高高挂起,多一事不如少一事。这个在发现系统问题的情况下更为明显。出现了问题,大家都是各自检查自己负责的模块,或者是应付性的查查或者根本就不查,然后告诉你,他负责的这块没有问题。但是是不是真的没有问题了?
所以了,要做一名优秀的管理员,除了技术层面上有过硬的技能之外,在人与人的沟通,协调方面也需要花费一定的时间来学习。

2. 网易的工程师介绍他们开源的 TCPCopy,做性能测试的。大致了解了下,完胜传统的压力测试工具。在此,对比了他的这个工具跟 tcpreplay,镜像,loadrunner 之间的优缺点。有两种极端的情况,比如你有大量的肉鸡,或者你直接搞促销抢购活动,这两种情况都能更为真实的发现系的压力,不过这不是每个公司都玩得起的。

开会这是个体力加脑力活,收获还是不少的,看看别的公司怎么做,参照我们在做的,才知道差距,有对比总是好的。综合评价 80 分。

最后感谢某 cdn 公司提供的门票。

系统架构师大会(SACC 2012)第二天

今天是第二天,上午主要是 PPTV 的那位演讲以及网易的那个 MySQL for the Web。
1. 中大型运维系统的改造,讲的很真实,感同身受。before 就是一个乱字,做视频的 IDC、CDN 机房比较多,据说全国有几百个 IDC,然后傻逼的把 DB 挤在 VM 上,公网 IP 到处乱配,系统 root 密码没记录,30% 的机器找不到归属者,各个业务各自为政,自己做自己的监控,没有所谓的容量规划,纯人肉打造,基本就是个粗放型的、简单粗暴的做法。接着这个演讲的大大来了之后,一切都不一样了(搞的很神奇似的),首先就是制定规范、标准,比如服务器的命名规范的,这个是必须有的;通过 LDAP 来管理帐号信息,通过 CAS-SSO 来管理登录;监控划分的相对比较细致,从硬件到系统到上层的业务线;大部分的都是拿来主义了,用了像 Puppet, Zabbix, LDAP, CMDB 等,当然,他们用的应该比较深入;log 通过 Fluentd + MongoDB 的方式收集。
另外一点就是要加强跟 dev 的沟通,建立一个信任的关系,这个跟 pm 与 dev 多沟通是一个道理,比如,我们完全可以把我们的监控系统以只读的形式公开给 dev 看,这个能建立起一个比较良好的信任的关系。
几个有用的观点:在监控上,漏报比误报更可怕;做总比不做好。
其实一个系统出现了问题,可以从很多层面去发现问题,比如某个业务的前端受了影响,随之而来的就是业务线的监控有问题,相应的系统级别的应该也能看出一些问题。因此,只要监控做的到位,全面,要及时的发现问题还是比较容易的。不过 PPTV 貌似不是很关心这个上层的业务监控,做的也不是很好,据说主要是 dev 不关心,这个就没办法了,自己都不关心自己写的代码,其他人再怎么催都没用。

2. 网易做的跟昨天 taobao 讲的那个有那么点类似,都是前端 LVS 到后面的 MySQL Proxy 再到 MySQL。然后下面说的比较复杂,这种大公司做的事对于绝大多数的公司来说参考的意义并不大,最起码不能在很短的时间就实现一个跟他们几乎一样的系统,实现类似的功能。相比之下,如果从『急功近利』的角度来讲,还是上面的更有价值些。

下午听的主要是安全专场,最后的结论是,如果黑客想搞你,没有他们搞不定的事。之前是谁说的了,地下黑客的水平比那些安全研究人员的领先 10 年以上,有些夸张,但是从一定程度说明了一些问题。然后了,做安全的,我觉得目前普遍比较悲剧,基本处于被动的状态,尤其是在互联网公司,不出问题啥事都没有,出了问题,等着挨骂。

Continue reading

系统架构师大会(SACC 2012)第一天

今天是 SACC 的第一天,整体的感受就是讲的比较实在,不装比。当然上午的还是基本以广告为主,前面的实在指的是下午场。

1. Tencent,泛泛而谈了他们的 webapp 开放平台的架构设计。基本运维这部分还是大同小异了,无非是监控,log 收集分析以便及时发现问题,自动化的部署,自动化的版本发布,质量的监测,这个我理解的还是属于监控这个范畴了,只不过是业务层的监控监控问题。
2. 然后是 MicroShit 吹嘘他那啥云云之类的;IBM 的在那边大谈特谈究竟什么是云。

人类大部分的活动,无非都是对资源划分于利用,这个是前天下午看完《敢死队2》的感受,其实对云来说也一样,无非是原来 100 台服务器,我不能很好的利用他的资源,现在有了云这个东西,可以把资源进一步的整合,你需要多少 cpu,需要多少 ram,我就给你分配多少的 cpu 以及 ram,不浪费,扩展起来很容易。我觉得这才是云要实现的目标。

3. 而余锋讲的则是 MySQL 在云方面的体系架构,目的也很简单,就是要更有效的利用、压榨物理机的每一点资源,同样这样的好处是管理起来也比较方便。最开始的 MySQL 使用的是 MS,这会出现同步不完全的问题并且 S 的利用率也比较低;后来改成了 proxy 的模式,制定一个统一的入口,前端 LVS 做 LB,这样控制起来比较方便。另外还使用 rabbitMQ 作为消息队列,使用 Mnesia 作为 db 的管理系统,整个系统大概 10w 代码,很多地方使用 Erlang 实现,据说该语言的特性使其特别的稳定。资源的划分是通过 cgroup 实现的,记得 baidu 也是这么做的。该系统还提供 SSL、白名单、log 追踪记录、FlashBack restore 的功能。不过该系统貌似目前还是有不少问题需要解决的,比如不能实现 group by 等操作。
Continue reading

SDCC 2012 见闻感受

周末有幸参加了 SDCC 大会,基本"有用"比"无用" 一半一半吧。

第一天上午,没啥特别的,有点兴趣是腾迅的孙国政讲的《超大规模用户数据挖掘和推荐算法最新进展》,看题目以为讲的是腾讯自己目前数据挖据挖掘的进展,后来听着才发现,基本就是在介绍 KDD 大会。然后这个过程中有个比赛,叫 KDD CUP,有两个题目,track 1 倒是蛮有意思的,题目就是预测某个用户可能会 fo 哪些用户,就是做个推荐列表,推荐你感兴趣的人,去让你 folllow。很明显,twitter 也有这个,不过做的不是很好,推荐的推友我大多没啥兴趣,不过这是一年的情况,现在则改善了好多 :D
比赛这个东西大陆人最在行了,最后的获胜队伍也基本都是来自大陆。不够这题目起的太水了,两个 track 的数据量都不到 10G,这也算是大规模,还加了个超字?g 了下孙国政的一些背景,中科大 65 级校友,算起来估计有 6、70 岁了,真是老码农一枚了。

AMD 的那个基本是广告贴,不过深深的刺激我要联系英文听力的决心 -.-  电信的啥勃士基本就是在讲笑话让大家娱乐娱乐。

上午的至此结束,下午的含金量相对较高。由于每个人只有半小时,因此讲的都不是很详细,“泛泛而谈”,不过有个思路,开阔下眼界已经足够了。

先是讲腾讯的开放平台有多开放,里面很多技术都是换汤不换药,比如有个叫啥 TGW(tencent gateway) 的玩意儿,我理解就是个比较高级的防火墙,先在防火墙帮你把 TCP 建立起来,然后做转发,然后通过 OSPF 扩展。包括流量的自动切换等问题,这个貌似大公司都能实现了。

接下来是整个下午我觉得讲的最棒的一场,Twitter 来的中国籍工程师 @thinkingfish。气场十分的足,语速语调啥的配合的也是相当的好。介绍了 Twitter 的实时系统平台,官网竟然没找到报道,怕和谐?从 09 年讲起,流量大了,业务大了,从啥都挤在一台机器到模块化的思想,从 Ruby 切换到了 JVM 等等。后面主要还是介绍了 Twitter 开源的一些项目,包括 iago,好奇的是,竟然没有介绍那个现在看到就想吐的 bootstrap。在幻灯片的最后还看到了 Twitter 内部貌似在使用 chukwa 收集处理日志(?)
Continue reading