云计算之路:遇到障碍——阿里云不支持带宽共享

云计算之路系列博文分享的是我们将网站迁移至云计算平台的实际经历,这篇博文分享的是我们在准备迁移至阿里云的过程中遇到的一个棘手问题。

从春节期间就开始为迁移至阿里云做各方面的准备工作,这是一个大工程——不是因为复杂,而是因为繁琐,就像一个人在一个房子里住了5年,然后要搬家。我们采取的策略是蚂蚁搬家,先一台一台地以最低配置购买云服务器,然后一个一个应用地部署、测试。。。等正式迁移前再将云服务器配置升级上去。

在其间,遇到了各种各样的问题,迁移准备工作就在解决这些问题中一步一步地前进。今天遇到了一个棘手的问题,而且这个问题很典型、影响大,也得到了阿里云客服的确认,所以在这里分享出来。

这个问题就是多台服务器带宽共享的问题。在IDC机房托管服务器时,我们只需根据实际需求购买一条独享带宽的线路,而不必关心给每台服务器分配多少带宽,只要总带宽满足需求即可。实际的总带宽需求会小于各台服务器峰值带宽需求之和,因为每台服务器不一定在同一时间段达到带宽峰值。比如有10台服务器,每台峰值带宽10M,我们不需要购买100M带宽,可能购买80M就够了。

但是现在阿里云的带宽只能绑定到一台云服务器,无法在多台服务器之间共享带宽。这样,我们只能为每台服务器购买峰值带宽,根据之前举的例子,10台服务器就要购买100M带宽,而如果能共享带宽,只需要购买80M带宽,这无疑增加了带宽成本。

带宽成本的增加只是一方面问题,更大的问题是我们购买的这些带宽资源无法弹性分配。比如现在有一台服务器在每一天某个时间段内需要20M带宽,而这个时间段内,其他服务器需要的带宽不多,空闲带宽就能满足这台服务器的需求。如果这些服务器共享带宽,我们就无需额外购买10M带宽。而现在如果使用阿里云,即使这台服务器一天内只有半小时需要20M带宽,我们也需要为一天24小时的带宽买单。云计算最大的优势就在于资源的弹性分配,而现在的带宽分配方式却丧失了弹性。

再举一个带宽资源无法弹性分配带来弊端的例子,比如在夜里带宽占用少的情况下,进行数据的异地备份,如果是共享带宽,我们可以利用空闲带宽的总和进行异地备份的数据传输。比如100M带宽,我们可以用80M。而现在阿里云的方式,带宽只能单独地分配在每台服务器上,比如100M带宽,10台服务器,每台10M带宽,即使某台服务器完全不占用带宽,我们能用于异地数据备份的最大带宽只有区区的10M。

这个问题带来的最痛苦的是什么?还是异地备份,是数据库的异地备份。由于数据库服务器只需内网访问,根本不会为之购买额外的带宽,只有云服务器默认的最低带宽1M可用。异地备份时,只能先将数据库备份数据先复制到空闲带宽高的某一台云服务器上,然后通过这台云服务器进行数据传输。数据库服务器无法分享总带宽还有一个弊端,在迁移过程中,可能有一段时间需要让原先在IDC机房的Web服务器通过外网接口访问阿里云上的数据库服务器,这时数据库服务器需要不少带宽。如果带宽是共享的,就可以用一下空闲的共享总带宽(访问量还在原来的Web服务器上);而现在只能购买额外的临时带宽,即使只用1小时,也要购买1个月(在阿里云上购买带宽不能低于1个月)。

这是我们目前想到的阿里云上带宽无法共享的一些弊端,也是我们云计算之路中遇到的一个很大的障碍。虽然障碍挡路,但我们不会望而却步,困难总是有办法克服的。

针对这个问题终极解决方法是什么?One Server,就用一台服务器,所有带宽都绑定在这一台服务器上。这样的话,对这个服务器的硬件配置要求极高,而阿里云云服务器的顶级配置只有单个8核CPU、32G内存,远远不够。而本来我们迁移到阿里云上的想法是“分”,将原来的5台服务器分为十几台云服务器,“分”的好处是显而易见的,可以减少互相之间的影响。

临时解决方法是什么?endure,忍。为每台服务器单独购买带宽,异地备份时将数据分在多台服务器上进行传输,在带宽成本上多一点投入,相信阿里云会在可以忍受的时间内解决这个问题。

还有其他解决方法吗?。。。我们会进一步思考,并想方设法尽可能减少这个问题带来的影响。

路是走出来的,不管遇到多大的困难,我们都会走出自己的云计算之路!

posted @ 2013-02-20 13:01  博客园团队  阅读(7695)  评论(19编辑  收藏  举报