前段时间帮朋友一个创业的朋友做一个网站迁移。之前他的网站使用的自己的服务器托管在IDC机房,后来由于合作的关系需要单独迁移出来。在迁移过程中也考虑过几个方案,但最终选择了使用云端相关的服务。在试用了这一小段时间之后感觉还是非常不错。分享给大家。软件方面。网站使用PHP编写,操作系统使用CentOS,其他应用软件都是比较常用的:Apache,MySQL,SVN等。迁移方案
方案一 新浪SAE
由于之前也有一些项目使用的是新浪SAE,速度比较快,计划费模式也比较灵活低廉。但由于SAE是PaaS的服务,虽然很多应用软件都不需要自己来配置但由于网站的目录结构及代码功能类库基本上都是使用原来独立服务器的方式。而且SAE平台对于源码大小(暂时不能超过100M),MySQL并发连接数,PHP文件操作等类库的使用有很多限制,因此如果迁移到PaaS平台上会有比较多的改造工作量。对于帮助做迁移的我不是什么好的方案。因此就放弃方案一
方案二 自主服务器 + IDC托管
放弃了方案一之后就开始在琢磨第二个方案了,第二个方案是想着跟以前一样的环境,就是买台服务器找个IDC机房托管,也咨询了相关的供应商,差不多点的服务器一台大概在一万元左右,再加上IDC托管费用北京这边大概在5千-7千左右。这样折下来差不多得将近2万块钱。当然当时想着如果没有更好的方案的话就开始准备采购了。跟我那朋友讲了之后说别人给他推荐了西部云计算中心,我查了查电话也打不通,也没有试用的就放弃了。不过有天突然在网上看到了阿里云的广告或文章啥的。其实之前也听过阿里云、盛大云等只是之前没留意。现在重新对这些进行了简单的评估于是有了方案三。
方案三 云主机
针对这个工作,刚开始试用的是阿里云(当然盛大云很早就开始用了,还跟他们在微博上吵了好一会儿),由于可以申请试用就申请了台4核4G/500G 标准C 型主机行试用,效果还不错。本来还想再重新评估一下盛大的云。盛大云的计费模式比阿里的要灵活可以支持按天付费,不过当时工作比较晚了就没付费试用,随手试了一下他的云硬盘建了两个各200G的云硬盘,没想到第二天正要准备付费使用的时候提示我欠费欠了6块多。NND我可以是1bit都没用啊就想收我钱了。算了最后在微博上吵吵就没用了。于是就采用第三个方案就是用阿里云。由于可以向上升级先租了一台2核1.5G,150G的标准A型主机。后来又开通了一台1核1.5G/100G的经济B型主机做为开发服务器。
服务器搞定之后当然还有包含DNS,邮件等其他应用,根据以往的经验使用了其他免费的服务,分别如下:
DNS:国内的免费DNS服务应该比较好选择了除了DNSPood(http://dnspod.cn/)应该就没有别的了。特别是速度快,稳定,还带宕机、DNS请求数统计等监控功能。
邮件:邮件使用的是腾讯的企业邮局(http://exmail.qq.com/ ),免费版本支持200个用户对于初创公司来说应该够用了。大品牌也比较有保障,另外QQ的Web邮箱还是蛮好用的。
监控:监控主要是使用的监控宝(http://www.jiankongbao.com/ )的监控服务,基于SNMP协议可以支持服务器和服务的监控,由于是免费版本所以只有邮件通知、监控报告等(短信10条而以基本忽略),基本上满足监控的需求。当然阿里的云监控也有使用,他免费提供每账户1000条免费短信的服务,基本上也够用。
安全: 网站安全除了常规的Linux配置之外,还使用了360的Web安全扫描,并根据扫描后的结果进行了相应的优化。这一步确实有必要。后来在网站上确实是发现了一些木马。10年底就给种上了,到现在都没发现。木马方面的情况可以参考我之前的一篇文章:邪恶的木马
源码管理:之前是打算把代码托管到GitHub的。后来考虑到速度,开发人员熟悉程度等方面的顾虑就暂时没有用。目前使用的还是另外租了一台阿里的云主机+SVN进行管理。
备份:对于运维的工作来说最重要的工作就是备份跟恢复了!本来只有本地备份,后来看了Rubby之父的程序世界里讲到的之前Ruby网站被黑的事情,黑客使用了 rm –rf / 的命令,于是触发我必须要做异地备份!当然我不可能再去租一台服务器。于是就考虑了如Dropobx,酷盘,S3等网盘,但由于国外的速度是个问题就没考虑,国内的网盘没有找到合适的上传程序也没办法考虑。还好阿里云有OSS服务,而且半年内50G内是免费的,找了半天找到了合适的Pythone上传程序,再加上我之前搞定的备份Shell,现在每天晚上自动备份到本地并上传到阿里云的OSS上。基本上是挺靠谱的了。
网站新拓扑
迁移之后我们发现我们的拓扑图不单单是服务器的结构了。我们更多强调的是使用的服务。除了保留最核心的网站环境之外我们基本上都把其他服务都免费外包给其他服务商了。
【新网站拓扑图】
服务器性能
我们可以从测试数据大概看到原有三台服务器的性能还不如一台性能很普通的云主机的性能 。当然测试数据并不一定很精确,造成以上原因的大概有几个方面:1.网站本身代码的问题,靠硬件提升的空间已经很小。2.网站带宽的问题。阿里云的带宽由于是独5M的可能比普通的IDC要好很多。3. 软件安装的问题。由于我使用的是一键安装包可能做了相应的优化。
迁移心得
1. 知识的转移
其实我不是专职做Linux运维工程师的,因此感觉相关服务安装配置起来很麻烦费事,还好找到了LAMP的一键安装包(http://www.wdlinux.cn/linux_lanmp),一下子就解决了我这个问题。另外还有像360安全检测之类的,其实都是属于知识的转移。我没有相关深厚的知识背景,但却只需要使用一些小工具就可以迅速的掌握这些知识(至少7-80%)的样子。
2.关于服务与网站托拓扑
根据近段时间的运行我觉得已经有很多成熟的服务可以支撑IT工作,因此其实没有太多必要自己去搭建各种应用,特别是对于初创公司来说。
3. 成本问题
由于放弃了方案一,所以就剩方案二跟方案三了。方案二的成本大概在1.5-2万元/年,方案三两台服务器,生产服务器3990元/年,开发服务器1990元/年,总共5980元/年。还是省不少钱的!
几个问题
1. 为啥原来用四台服务器现在只用了两台
首先之前4台服务器的架构不是我设计的,而且当时可能是评估会有很大的访问量,业务会开展得比较不错(这也是传统IT的弊端,必须提供冗余性能),所以就买了4台或更多。现在使用两台,一是基于目前网站的访问量还不是很大,升级扩展也非常简单(阿里云可以无缝向上升级,基本上就是重启的时间,1分钟左右就可以搞定。)另外考虑到开发和生产分开、异地办公等因素不然一台也就够了。
2.发现的问题
目前运行还是比较稳定,其中有一个问题就是备份时由于数据量较大5G左右,造成前端网站访问速度受影响。但目前基本上是深夜在进行的暂时还能接受,正与阿里云的联系解决问题。