看到连续两篇提到自架主机的,看来很多人对这都很有兴趣
在学校的时候老师也是有教大家自己架网站服务器,的确蛮好玩的
真正投入资讯和网站服务的产业后,光弄网站本体都没空了....
讲一下我觉得自架的缺点在哪好了
1.资安设备
2.灾难复原与高可用性
3.扩充升级
详细谈上面三个之前,先来列一下 "完整的网站服务" 会包含的有哪些好了
1.资安设备 防火墙(FireWall) 入侵防御系统(IPS) 入侵侦测系统(IDS)
2.WAF(WebApplicationFireWall)
3.负载平衡器(LoadBalance)
4.服务器 (实体机器)
5.虚拟化 (Vsphere)
6.作业系统 (Windows Linux)
7.网站以外的各种Server(MailServer FtpServer)
8.数据库 (Oracle SqlServer MySql NoSQL)
9.网站基底 (IIS+ Apache+php node.js)
10.后端程式 (C# php java js)
11.前端语言 (js)
12.网页样式 (html css)
以这个版而言,通常都只讨论11和12吧
真的自架的人我猜大概也很难全包 (有神人自架能从1~12都自己来吗?)
以前在学校的时候教的自架,通常是装一台桌上型电脑,灌作业系统、网站本体和数据库
只做了46 89而已,有心的人在自学架个ftp server,就可以耗掉一个学期吧
当年虚拟化还没这么多,自架就是在忽视资安的情况下自己来,所以成本还蛮低的
主打着完全免费的LAMP (Linux Apache Mysql Php),
后来才知道一句话叫 Linux is free only if your time is free
现在回头来谈一下一开始说的三点
1.资安设备
以前光防火墙设定就搞死人了,现在资安设备比以前更多
光看为了网站服务多出来的第七层的应用程式防火墙(WAF)就知道做网站有多可怜QQ
设备可不是买了插上去就好,需要有专门人员定期观察封包或是攻击来源、手法
甚至是针对网站服务去做调整。
比方说网站最多一次post30栏,就把post字段数量锁在40,避免恶意攻击用大量post灌爆
2.灾难复原(Disaster Recovery;DR)与高可用性架构(High Availability;HA)
这两个基本上是要搭虚拟机来玩的,记得之前去听AwsomeDay有提到一段话
"如果服务器当机的话,现场谁有把握在5分钟把修好"
"没有对吧,但是干嘛修,开一台新的虚拟机5分钟还嫌慢"
"老板/客户要的不是你把主机修好,是要在最短的时间内让网站恢复"
等主机起来的时候,当然要能立刻启动备用机,甚至平时就开两台机器同步运作
因此势必得搭上负载平衡器、虚拟机、Storage的架构,
处理这边的调整又可以塞一个专职人员了
3.扩充升级
如同前面一篇提的,假设频宽不够、内存不够、运算速度、硬盘不够等等
实际上线后,总是会有各种资源不足问题
以前做创业简报时评审提了一个问题
"假设你的产品忽然爆红,订单or客户多了百倍甚至千倍,你的生产线/网站怎么扩充"
我当时答不出来,我想到的是,就算是我订单有拿到钱
要把我的服务器买更好的 or 频宽调大,也得去线上下单或是叫中华开大一点
后来也是听了AwsomeDay的云端架构才后有解答,各种资源amazon都能提供
频宽、内存、运算、储存等等,24小时都可以直接在管理接口调高就好
真正实现了那句话 "钱能解决的问题都不是问题" (问题是没有钱)
如果有想自己架站的人,我真心觉得可以好好考虑以上三个问题
然后就算扔上云端or代管主机了,某些事情也还是有让使用者自己来的空间
我以前因为想摸到作业系统,所以自己架
那时候只有所谓的"网页空间",一些传统的代管主机例如捕梦网、智邦等等,
比较差的只提供一个ftp + phpmyadmin,现在好一点会给一个cpanel让你有web接口玩玩
不过跟虚拟主机没得比,如果是租windows的虚拟机,就可以用远端桌面连进去
用起来跟自己架真的没两样,还可以避免插头被踢掉或是乖乖过期的问题
最后租虚拟主机虽然能减少很多上面提的琐事
但剩下的还有各种Server的服务要装,网站后端程式,前端程式,定期更新等等
如果你只是想专心提供一个能赚钱的网站服务,架站这块,找个庞大的团队来帮你吧
比较大的AWS GoogleCloudPlatform Azure,都有免费试用方案,花点时间试看看用
毕竟跟架站比起来,制定整体服务的架构以符合资安、复原、扩充的标准更为困难
人生有限,资讯的领域要学得太多了,架站自己好玩就好,要拿来当主力请三思