我觉得了解阿里云,首先就要弄清楚这两个概念。很多站长根本不懂什么叫云主机,就拿阿里云的和Linode,甚至和西部数码之类的去比。这些完全没有可比性。我这里不是说Linode不好,只是因为不是一个概念。Linode在VPS届算是王者了。但是阿里云是云主机,不是VPS。
要了解什么是云主机,其实就是在谈架构。像我等小屁孩其实根本不配谈神马架构之说,所以我只是简单介绍下,具体想更深入地了解,请自己努力升级吧。
VPS,虚拟服务器,就是在一台物理服务器(我们称之为母鸡)上根据某种虚拟方式划分出虚拟机,说白了,和你自己在你的电脑上装个Virtualbox,开几个虚拟机没啥区别。也就是说,这个VPS是依赖于这台母鸡的,一旦母鸡挂了,那你的VPS肯定会挂。另外,这台母鸡上的所有的VPS全部依赖于母鸡的资源,平分母鸡的资源(当然这要看VPS服务商如何去划分VPS了),共享母鸡的带宽,共享母鸡的CPU、硬盘、内存等等资源。也就是说,你在VPS里面看到的硬盘,就是存放在母鸡的硬盘上的某个很大的文件,所以VPS的磁盘IO是要看母鸡的硬盘好坏的,母鸡的磁盘越好,比如SSD,那么你的VPS的磁盘IO速度越高。同理,其他的资源,如带宽、CPU、内存也类似。那么,如果你在VPS里面写入一个文件,就是写到了母鸡的硬盘上,和你自己用台式机新建一个文件到你的硬盘上,基本没有区别。
而云主机则不一样。云主机是架构在“云”上的,我这么说是有点玄乎,所以很多站长其实不懂什么叫云。云简单地说,或者说我的理解,就是集群。对于阿里云的云服务器,很重要的一个区别就是,你在阿里云的云服务器里面看到的硬盘,肯定不是和你的云服务器在一台物理服务器上的。阿里云的云服务器中的硬盘完全是放在单独的网络存储集群上。根据我自己跟阿里云同事的了解,阿里云的存储集群是网络存储,每份数据会在集群上的不同位置保存3份,任何一份丢失都不影响,这样完全保证了存储的高可用性和数据完整性。也就是说,你在云服务器里面写入一个文件,那么其实是通过网络(内网)的传输到另外某n台服务器上,写到他们的硬盘上。这就是集群。
这就是云主机和VPS的主要区别。类似的,像AWS就是云主机,他们的硬盘也是云存储,也是需要单独挂载的。
那有人可能会问,SAE算云主机吗?其实我个人觉得,他不是的。SAE和GAE、BAE一样,都是App Engine,这也是他们名字里面为啥都有AE的原因,也就是说,你在云服务器里面的网站代码基本上不太能直接放到上面用的,要根据他们的环境修改你的代码才可以运行。
网站最重要的就是高可用性了,以及数据的安全,如果哪个IDC动不动数据就全部丢失了,我想没哪个站长敢用。
其实我之前和很多站长一样,都是对国内的IDC有偏见的。这也是我为啥第一个网站是选择国外的虚拟主机。其实在很多站长的眼里,国外的那些大的IDC才靠谱,数据放在他们那里才不会丢失。所以Linode这样的VPS以及像Hostmonster这样的虚拟主机商才被国内的人看好,说实话,他们做的确实不错,我这些都用过,数据真没有丢失过。
刚开始用阿里云的时候,说实话,我对阿里云也是不放心的,所以我的数据全部通过rsync同步到了国外的AWS上,每天一备份,数据库也做了主从同步。后来当我用了一年多,以及对阿里云的了解更加深入之后,我才发现,我的担心多余了。
先要从架构角度去说。好吧,又要谈到架构了,很多站长可能不知道,阿里云的云主机是架构在非常著名的飞天云计算系统上。你可能不知道,但是了解架构的技术员都会知道,这是淘宝、天猫等都在用的底层架构,你有看到过淘宝和天猫挂掉吗?(当然一两个页面偶尔不能访问和这个没关系,很多是上层应用的问题),相反,再看看京东、苏宁之流,搞个小活动动不动服务器就瘫了,你有看到双11的时候,大家在0点疯抢天猫红包的时候,天猫有挂掉吗?我想没有吧。这都得益于整个底层架构啊。你想想,你的云主机和天猫都是架构在同一种集群上,你能不放心吗?相反,你再想想那些自称自己是“云”的所谓VPS服务商,搞个VPS就叫云来骗人,你敢用吗?只要母鸡一挂,你的VPS就挂了。再者,相比很多人都知道AWS曾经出现过很大的故障,但是你看过淘宝和天猫这几年有出过这么大的故障么?
再谈数据。数据我也不用说太多了,刚才在说架构的时候已经谈过了。普通VPS的数据是写到母鸡的硬盘上的,其实大家都知道,硬盘是易耗品,本身机械硬盘还是会出故障,用个两三年,说不定就出故障了,而且母鸡的硬盘坏掉了,你的数据肯定就回不来了,一般的VPS服务商也不会花巨款去给你恢复数据的。所以很多VPS商才声称自己做了RAID几几之类的。RAID是个好技术,是能保证一定的数据完整性的,但是还是几块硬盘,还是会坏,所以Linode有单独的备份系统。
阿里云就不一样了,刚才说过了,阿里云的云主机的硬盘是放在单独的网络存储集群上,而且你的数据每份都给保存3份,你每次写入一次数据,就会通过集群的交换机写入到集群的不同位置上。集群最重要的特点就是数据高可用,这么大的集群,随便坏掉几块硬盘影响么?直接拿另外地方存储的数据同步过来就行了。那你会问,如果这3份数据所在的硬盘都坏掉了,那岂不是就没救了?好吧,其实我告诉你,这相当于你从一个沙滩上画出一平方米(当然只是假设啊,别当真),然后从这一平方米里面选3粒沙子,然后涂上颜色,然后混入到这一平方米里面,蒙上眼睛,再把这3粒沙子一起挑出来,你觉得这和你中5百万有啥区别呢。。。除非整个集群或者集群的百分之几十挂掉,才能轮到你的数据丢失吧,不过话说回来了,你在淘宝上注册的帐号有丢失过么(排除自己的违规导致删号一类的)?
而且,拿我自身体验来说,除了我自己手动重启以外,阿里云的主机还真没出现过问题,我最长大概是6个月没重启过我的云服务器了,之前有TOP命令截图,本来想贴出来的,但是不好意思,找不到了。
前几个月,阿里云推出了敢用敢赔的服务,100倍赔偿,就是说,如果你的云主机因为阿里云的故障导致当机1天,那他们会免费赠送你100天,都承诺到这种地步了,我想目前国内没几个做IDC的敢这么承诺吧?
所以,用阿里云,尽管放心。这一点,可以满分。