云服务? 细数一下我现在用到的

最近我做了一系列的大迁移,因为我厌透了做运维的工作。挨个列吧:

Blog

我最早的blog是在blogcn上,然后live space,然后自建的wordpress。但是wordpress用了4-5年之后我发现一个大问题,它是一个信息孤岛。首先,baidu把我封了,拒不索引我。然后google每天大概也就给我带来几十个UV,留言的更少。大部分常客都是通过google reader访问,算上僵尸用户订阅数大概在200-300左右,只看,不访问网站也不留言。所以总的来说,这个blog就是一个单向的信息孤岛。于是这周我把我的blog迁移到了tumblr,一个更近代化的社交平台。我今天迁移刚刚完毕。如果facebook能支持绑定自己的域名的话,我会更偏好于facebook。

amazon s3

amazon s3就是一个静态文件池。从理论上来说,启用s3之后能大幅度提高我的个人网站的访问速度。因为它在新加坡和日本有数据中心,从北京访问的延迟大约是70-130 ms 左右。实际上很难说,我国的网络情况太复杂,ping值忽高忽低。

网盘

我最早用的第一个网盘是wuala,因为它支持本地加密后再上传,数据安全性很可靠。之后我又尝试了microsoft的skydrive,因为它提供25G的空间,很诱人,而且和email、msn服务结合的很好。

但是这些网盘都有三个致命的问题:

(1) 上传慢。首先,我在家的ADSL,上传的上限速度只有70KB/s,传递25G的数据需要100多个小时。而且这些网盘都不支持P2P同步,必须经服务器中转。

(2) 严重拖慢操作系统启动。网盘在启动的时候,必须对比本地文件和远程服务器的文件是否一致。服务器还好控制,本地呢?如果我现在关闭网盘软件,然后修改了某个需要同步的文件,再打开网盘软件,它如何得知这个文件被更改过了呢?唯一的办法就是把所有文件全部扫描一遍,和远程作对比。如果你是有25G的C++代码需要扫描,呵呵,无论程序写多高明,硬盘也会给累趴下。然后机器卡的不听使唤。MAC下的Skydrive更惨,可能是微软的程序员不知道怎么监听苹果的HFS的更改,它一直处于sleep/scan/sleep/scan这样的循环中,CPU占有率像一条漂亮的正弦曲线。

(3) 冲突难解决。wuala和skydrive在遇到冲突的时候,总是悄悄的rename一下了事。于是我就默默的继续编辑那个有冲突的文件,等发现时,Merge已太晚太难。您早点停下来告诉我不好吗?

这个月我找到了一个叫GoodSync的软件,它只是一个壳,后面的数据存储可以是Skydrive、ftp、sftp、amazon s3、微软Azure等等。我在amazon s3和微软azure之间纠结了很久,最终选了s3。azure更便宜但是注册的时候需要电话验证,不支持中国大陆的手机号(在此求好人帮忙,信用卡我绑自己的)。在公司,我往amazon s3新加坡的数据中心传数据的速度在2-5MB/s左右,我很满意。在家,我从amazon s3的北美的数据中心下载文件的速度在1MB/s上下(我家是北京联通10Mb光纤),上传依然是70KB/s上限。但是2-5MB/s的这个上传速度不是Skydrive能比的。这使得我最终抛弃了所有网盘而选择了GoodSync+amazon s3。其实国内的网盘会更快,但是它们的服务总是让人难以放心。

DNS

我的域名是在godaddy买的。但是在中国,访问godaddy的DNS服务器居然会有障碍,于是我只好转到了国内的DNS服务商,dnspod那里。dnspod真的不错,现在还加了很多监控,通过微信推送通知。

邮件

以下仅提可以免费绑定域名的邮件服务商。

我最早用gmail,然后转向QQ mail,然后现在在用微软的outlook.com(live mail)。gmail因为网络的问题太不稳定,没法继续用。于是我换成了QQ域名邮箱。它是访问最快的,大文件传输很特色。而且QQ邮箱支持的协议种类很全,手机上的exchange、IMAPS、SMTPS、POP3S等等。微软的邮箱在手机上可以直接exchange访问,但是电脑上必须装outlook插件才能走exchange协议,而且同步经常出问题(但不影响最终结果)。我现在最想买的是微软的exchange在线服务。最便宜的轻量版大概是每邮件地址每月4美元。exchange的好处是把邮箱、联系人、日历、TODO List合在了一起,简单方便。但是缺点是,马上就要死了。

求推荐稳定可靠的邮件商。我不自建邮件服务最主要的原因是我无法保证99%以上的可用性。Google App现在已经不提供免费账户了。

联系人、日历。

最早我用google的contacts和calendar,但是因为网络不稳,client程序不完善,导致经常因为同步出错而丢联系人,我的朋友们不知内情于是很生气。

然后我换用了微软的live服务,手机、电脑outlook、网页很好的结合在一起。但是它的网页版本的编辑功能太SB了。这些都不重要。重要的是我换mac之后用软件就访问不了了!!它的那个outlook插件没有for mac outlook的。

再加上google停止支持exchange协议的消息一出,我更觉得exchange该死了。因为苹果和google已经占了智能手机的主要市场,它们现在联合起来推cardDav/calDav,这两个东西必定是以后的主流方向。

虽然家家都在争先恐后的提供联系人同步服务,但是这东西放哪都不安全,我最后想了想,在我自己的Linux VPS上装了一个Apple的calendar server。它提供非常完善的cardDav和calDav协议。但是这个服务太占内存,要是有个精简版就好了。现在这个版本依赖于python twist、postgresql、memcached,是为万级用户量设计的。

代码仓库

本来我在apache上自建了一个subversion服务。但是认证、备份什么的搞的我挺麻烦。上周我把我把大部分代码都迁移到了github上去。然后一些不适合公开的代码,放到了https://bitbucket.org/ 上。自建的svn服务就被我彻底铲掉了。

访问统计

Google Analytics是一个很优秀的服务,但是有几个致密缺点:没有原始日志、被浏览器屏蔽的严重、 不够实时。我想看见具体的来源IP信息,但是Google不给我看啊!

然后我就用开源软件piwik自建了一个和Google Analytics很像的服务。但是它的一大缺点是,无法获取到Google/Baidu的关键词信息。Google/Baidu近年来对跳转URL做了更改、加密,对于大部分查询已经无法从这里获知原始的搜索词。

短信接口

其实我没有群发短信的需要,所以这个很少用。对个人来说,最方便的就是Sina App Engine的短信网关,一条一毛钱。美中不足的是文字末尾会带个小尾巴。

其实SaaS做的最好的是google。Google有非常丰富的数据API,我准备先试一试fusion table。

此博客中的热门博文

少写代码,多读别人写的代码

在windows下使用llvm+clang

tensorflow distributed runtime初窥