技术活动消息树

游击队 vs. 军团作战

| 11 Comments

在过去一段时间发现,一些大的互联网公司,比如 Amazon、Google、Facebook、Tencent,已经非常倾向于「游击队」作战模式,也即启用技术小团队,快速灵活、便于沟通;而不是动辄几百上千人攻关大项目,我知道淘宝以前有「上万人天」的大项目。

比如,亚马逊 CTO Werner Vogels接受访谈时透露:「亚马逊就建立了很多的技术小团队,每个团队基本上都是 8-10 个人,这种团队的灵活性体现在,当有了新的想法马上就能够行动起来,而且沟通简单,不需要开很多会议才能把事情说清楚」,「」这些技术小团队围绕的是亚马逊提供的各种服务,比如购物、推荐系统、甚至评论服务。」

而 Facebook ,公司已经形成了「特别认可小团队」的文化,「It's important to understand that, at Facebook, we believe in particularly small teams」(refer), 绝大多数项目最多六七个人。

至于 Google,施密特曾有一次在接受采访时表示,「我们的成功产品都是由反应快的小团队开发的」,即使 Google+ 这样毕其功于一役的项目动用了超过 500 人,但「Circles 的设计是由一个人主导的。团队约为5-10人,他们在通用平台上做彼此的工作」

至于腾讯,从对张小龙的采访可知一斑。甚至去年的明星产品微信,团队也并不大,「微信第一批成员不到十人」(refer)。

我不厌其烦的举众多例子,是无意陷入到争论中(至于软件行业的朋友,就更没必要来抬杠了)。这些信息或许给我们一个启示: 游击队模式或许是个好方法。毕竟,军团作战,我是说几十乃至数百上千人的协同开发,实际上给协调和沟通带来了相当大的挑战,与其投入昂贵的管理成本,不如反其道行之,让这些问题不存在。

从我过去一年中的实践来看,收效不错。作为一个管理者,应该尽量克制投入军团作战的野心,尽管「小即美」的道理浅显易懂,但跳出思维定势似乎不那么容易。对于创业团队,人手本来就少,更是应该将单个开发小组尽可能的缩小,两三个人一个小组,效率应该会非常好,而且,创业团队几乎不存在「基础设施集中与否」的问题。

--EOF--

2011年个人总结

| 12 Comments

本年度的最后一天,个人惯例,度过元旦的方式是做一下过去一年的个人总结。翻看了一下去年的总结和计划,完成度还过得去,这一年虽有遗憾,但没有虚度。

2011 年中在工作上多少做出了一点成绩,回顾了一下,上半年经历了从业以来几乎是最为严峻的考验,有段时间头发都急白了不少;下半年则相对顺利,团队效率提升很多,项目和产品上到了收获期,我甚至还能有时间顺路做做公关宣传。这是最有效率的一年。如果用一句话总结,那就是:丁香园全站过去一年中从传统的 1.0 模式升级到了 2.0 版本,打通了任督二脉,甚至还有一点延伸 --比如丁香园用药助手。作为第一款试水性的移动应用,一定程度上获得了用户的认可并且在业界有一点反响,这是整个团队乃至我个人都是始料未及的,很欣慰。总体来说,从大公司到小公司落了地,并且还能做点实际的事儿(某些人看这事儿:真是奇迹),也对自己有了一点信心,「如人饮水,冷暖自知」。

技术团队规模与去年相比,增加了60%。因为自己不喜欢大公司做事方式,己所不欲,勿施于人,所以对团队完全采取采取扁平结构、氛围尽量保持宽松,收效还不错。其实,一个团队负责人如果能充分调动大家的能动性,你会发现身边都是天才。《道德经》中有一句话:功成事遂,百姓皆谓:我自然。这是个值得努力的境界。

经济上,因为机会合适兑现了一些原公司的股票,算是过去几年的加班费吧,能让家里生活质量暂时提高一点点。投资方面,收获不错。投资老同事的项目成功出售,作为小小天使的另一个项目已经拿到风投并进入良性循环期;贝塔咖啡开了两家分店,「无形资产」起码增长了不少 ;) 允许我自我满足一下。尝试炒了一点美股,战绩还行,这个更大的收获还是了解到了一些公司的业务模式,其实也是在学习。顺便说一下,雪球是个有价值的网站。

这一年中,如果要问在那几个地方获取到有价值的信息最多?第一个是曹政大侠的神秘群组,让我了解到一个不一样的互联网生态圈;第二个地方是在知乎,内容质量非常好 ;第三个地方是新浪微博,获取到了很多有价值的产品反馈;然后是 Twitter,这一年发言少了很多。当然,要了解医学和健康知识,那还必须是丁香园,中立、客观是丁香园的准则。

拖延了好久的驾照考试终于通过(refer:学车记),虽然这事儿说出去挺丢人的,但对我自己来说,起码证明我的执行力终于改进了一点儿,自我满足一下。考过驾照之后出门也不怎么晕车了,伴随我这么多年的老毛病总算有所缓解。今年还有一件值得一提的事情是回到母校参加了毕业十周年的同学聚会,是啊,大学毕业10年了,从业也有10年了,就连我自己的个人站点都存在八年多了,时间真是个可怕的东西,不知道下一个十年会是怎样。我想,我应该抽空再修改一下上半年写的那篇《十年莽撞IT路》,算是一份人生的记忆。

这一年,自己完全变成了一个创业者。心态、思维模式改进了不少,人要改变自己很难,还好我不是不可救药。要批评自己的是在微博上不知不觉的暴露了个性上不那么讨好人的一面,有必要收敛一点。读书方面,阅读量还行,和去年相比不相上下(荐书清单)。参加的会议与往年相比,少了不少,只参加了QCon和移动开发大会等几个会议,全程免费的 Oracle Open World 也没时间去了,不过并不遗憾。Blog 数量少了很多(写邮件倒是多了),一是我不再想重复以前的那些东西,二是质量的确所下降,水分增加了,对读者朋友们说声抱歉! 对了,喝咖啡多了,但是失眠少了;几经折腾之后,开始尝试新的生物制剂药物,关节痛基本控制住了,体重居然也增加了 :)

身边的朋友多多少少对这狗日社会的渐渐有了幻灭感,只要我们相信有些事情会变好的,那不妨就积极的一点点做起来。从你我开始。

家庭生活上,有一点失落,但总有些事情是改变不了的,随遇而安吧。

我的 2011 榜单:

年度致敬:陈光诚 这个社会缺少有勇气的人;
年度媒体:知乎 在这里学到了很多知识,活到老,学到老嘛;
年度图书:吴军大作《浪潮之巅》。候选图书:《黑客与画家》...
年度视频:罗永浩 保利剧院演讲(一个理想主义者的创业故事II);
年度电影钢的琴 ,有些生活总是让人感动;
年度音乐:左小祖咒《苦鬼2011》

2012 年的 TO-DO List:

Lean Startup. 过去的一年,其实团队做事一定程度上已经暗合 Lean 理念,2012 还要深入实践。如果还用老思路、老方式做事,不想办法做改进的话,成长自然不会好到哪里,所以,需要新思维。PS. 精益创业模式的理念和原则如下:1.创业第一天就设定收入目标 2. 持续的客户互动 3. 如果没有收入,就一定限制规模(别乱花VC的钱) 4.产品开发周期粒度减小:以小时/天计而不是月或者年为单位 5. 产品开发 - 最少的功能,最大的客户覆盖率 6. 客户驱动的产品开发.

产品研发. 如果2012不是世界末日的话,事情还要继续做下去。计划中还至少有两款有意思的产品要推动,要做出来;

运营意识. 毫不客气的说,过去一年中做的产品有几个并不那么成功,这并不都是产品本身的问题,运营能力不足的确存在,技术部门当然也要有运营意识。多和业界同仁学习,实践,还要勤奋一点。

寻觅人才. 丁香园技术团队仍然需要各方面的人才,尤其是移动应用开发的人才,我们有足够的耐心,也有足够的信心。如果你想在浮躁的环境中想静下心来做点对中国人有价值的事情,为什么不联系我一下呢?

好好生活. 新的一年要多出去走走。旅游,2011年两次国外旅游都挺有收获,怀念长滩的芒果沙冰。新的一年争取好好利用一下假期。另外,如果不是生活必需品,尽量少购买。简化一点生活,没什么不好。

最后,祝愿朋友们在新的一年更好的实现个人价值,让自己和家人生活得更好一些。

致谢:曹政、Hawk、召唤、大风、周拓、肖头、云风、Benjurry、Robbin、校长、Bluedavy、Hugo、国平、夏天天...... (不分先后,肯定还有遗漏的朋友,见谅! ),感谢各位朋友们一年来在技术上给我的帮助,让我学到很多很多,感谢!

--EOF--

这里有我的一份针对互联网的 2012 预测,仅供娱乐。

Instagram 团队上个月才迎来第 7 名员工,是的,7个人的团队。作为 iPhone 上最火爆的图片类工具,instagram 用户数量已经超过 1400 万,图片数量超过 1.5 亿张。不得不说,这真他妈是个业界奇迹。

几天前,只有三个人的 Instagram 工程师团队发布了一篇文章:What Powers Instagram: Hundreds of Instances, Dozens of Technologies,披露了 Instagram 架构的一些信息,足够勾起大多数人的好奇心。读罢做点笔记,各种线索还是有一定参考价值的。能打开原文的建议直接读原文。

Instragram.png

Instagram 开发团队奉行的三个核心原则:

  • Keep it very simple (极简主义)
  • Don't re-invent the wheel (不重复发明轮子)
  • Go with proven and solid technologies when you can(能用就用靠谱的技术)

OS/主机

操作系统的选择,在Amazon EC2上跑 Ubuntu Linux 11.04 (Natty Narwhal) ,这个版本经过验证在 EC2 上够稳定。因为只有三名工程师,只有三名工程师,所以自己部署机器到 IDC 是不靠谱的事情。幸好有亚马逊。

负载均衡

此前曾用过两台 Nginx 做 DNS 轮询承载前端请求,这样做会有副作用,现在已经迁移到Amazon的ELB(Elastic Load Balancer),起了三个 Nginx 实例,在 ELB 层停掉了 SSL , 以缓解 CPU 压力。DNS 服务使用 Amazon Route53 服务。

应用服务器

启用了 25 个 Django 实例,运行在 High-CPU Extra-Large 类型的服务器实例上,之所以用 High-CPU Extra-Large 实例是因为应用请求是 CPU 密集型而非 IO 密集型。

使用 Gunicorn 作为 WSGI 服务器。过去曾用过 Apache 下的 mod_wsgi 模块,不过发现 Gunicorn 更容易配置并且节省 CPU 资源。使用 Fabric 加速部署。

数据存储

用户信息、图片元数据、标签等大部分数据存储在 PostgreSQL 中。主要的 Shard 数据库集群有 12个节点。

实践中发现 Amazon 的网络磁盘系统单位时间内寻道能力不行,所以有必要将数据尽量放到内存中。创建了软 RAID 以提升 IO 能力,使用的 Mdadm 工具进行 RAID 管理。

管理内存中的数据,vmtouch 这个小工具值得推荐。

PostgreSQL 设置为 Master-Replica 方式,流复制模式。利用 EBS 的快照进行数据库备份。使用 XFS 文件系统,以便和快照服务充分配合。 使用 repmgr 这个小工具做 PostgreSQL 复制管理器器。

连接池管理,用了 PgbouncerChristophe Pettus 的文章包含了不少 PostgreSQL 数据库的信息。

TB 级别的海量图片存储在 Amazon S3 上,CDN 采用的也是 Amazon 的服务,CloudFront。

Instagram 也是 Redis 的重度用户,Feed 以及 Session 信息都用 Redis 处理,Redis 也是以 Master-Replica 方式部署。在 Replica 节点上进行数据备份。

使用了 Apache Solr 承担 Geo-search API 的工作,Solr 简单的 JSON 接口也不错。

缓存使用了 6 个 Memcached 实例,库使用 pylibmc 和 libmemcached。亚马逊也提供缓存服务-Elastic Cache service ,Instagram 也有尝试,不过不便宜。

任务队列/发布通知

队列服务使用 Gearman ,通知系统则使用 pyapns 来实现。

监控

前面提及的服务器实例数量加起来,的确有100多个,有效的监控是相当有必要的。使用 Munin 作为主要监控工具 , 也写了不少定制插件,外部监控用 Pingdom 的服务。通知服务使用 PagerDuty

对于 Python 的错误报告,使用 Disqus 团队开源的 Sentry 来处理。

几个感想

0)轻装上阵说起来容易,做起来非常难。这也是 Instagram 团队目前最令人着迷的地方;

1)Python 社区已经足够成熟,各个环节上都已经有不错的解决方案了。

2)如果要问我最大的一个感慨,我要说:Amazon 真是一家伟大的公司,甚至比 Google 还伟大

--EOF--

最近一段时间 Pinterest 类应用相当火爆,引发了不少讨论。我自己最近也一直在使用花瓣 ,也在捉摸为什么这一类应用这么有魔力。知乎上有个问题是: Pinterest 好在哪里?,尝试做了一下回答,也稍作整理,发在这里做个记录,会随着理解再做进一步修改。

本质上,Pinterest 类应用属于社会化书签站点的延续,只是要处理的数据对象变成了「图片」,而不是传统社会化书签的URL。这是社会化信息处理的一次改良。

提到社会化书签,不得不提 Del.icio.us ,不过或许 Del.icio.us 模式已经到头了,即使现在从Yahoo! 手里卖给了陈士骏,也不太可能玩出新花样,因为核心的数据对象没变。

相比 Flickr 来说,Pinterest 主要的生成内容动作是 Pin (花瓣叫采集),而 Flickr 则是 Upload,这个动作上的不同导致 Flickr 向左,Pinterest向右。Flickr 重心是「照片」(Picture),尤其是原创照片,而非图片(Image)。 Flickr的一个弊端是大量的图片没有标题,这意味着元数据的先天不足,不太可能和其他网络内容进一步结合起来。但是也要说一下,Flickr 现在的价值是被低估了。

Pinterest 相对 Flickr 来说,恰恰是一种互补,每张图片基本可以关联到一条URL,进一步可以抽取其他信息。

从用户行为的角度上看,满足了用户天生的「收集癖」,很多人都有看到一张照片想顺手存起来的冲动,没有Pinterest这类产品之前,这个交互操作太费事了... Pinterest 无疑弥补了人的这个原始的需求。

Pinterest 类应用的创新之处我认为是「降低了收集信息的门槛」,或者,至少做到了这一点。其价值是不言而喻的,每一次信息处理的门槛降低都会得到商业价值的变现,你可以不信。

要有足够好的技术团队支撑、足够好的数据处理能力才能走到最后,这也是在国内众多产品中我看好花瓣(huaban.com)的主要理由。

--EOF--


最近收到的评论

联系方式|Contact Me: @Fenng
文责声明|Responsibility: 本站内容仅代表个人观点,与其他任何组织、公司无关。

收藏到 del.icio.us | 反向链接 | del.icio.us URL
4nyth1n9 th4t c4n 90 wr0n9 wi11 9o wr0ng
W4 ar4 wh4t w4 rep4ated1y d0. Exc41l4nce, th4n, 1s n0t 4n aCt, 6ut a h461t.
Pluralitas non est ponenda sine necessitate.
Viva la Información!

网站链接

OpenID Accepted.(?)
Sponsor:
本站主机托管赞助商为豆瓣网

个人介绍

Fenng
Evangelist
Architect / Blogger
Life@Hangzhou
Work@丁香园(DXY.com)
ex Work@支付宝(Alipay)
更多...

站点信息

其它信息

Creative Commons License
网志文章均为原创
本站版权创作共用

本站模版Fenng 设计

Linode 提供 VPS
Dreamhost 介绍
购买折扣代码: FENNG

文章总数:1462
评论数量:11173
Started@2003/12/17