作为使用第三方(阿里云)的我司来说,我个人觉得很多钱是浪费了。在知乎上有人讨论自建和上云哪个省钱,其实还是要看在公有云上怎么用,公有云很多资源具有召之即来挥之即去的特性,实际上是可以最大限度的去压榨的。做容量规划的目的,很简单,向规划要资源利用率、投入产出比,算的是笔经济账。对个人而言,替公司节约几十甚至上百万的费用,这种贡献自然会得到丰厚的回报。对企业而言,节约了费用和开支,资源可以使用到其他地方,继而可以提高竞争力。所以,容量规划是必须而且重要的。
我个人构思的步骤有如下,虽不成熟,但是独立思考所得。容量规划有个前置条件,即系统的性能瓶颈已经或者大部分都被识别,在做规划的时候尽量保守一些。大致步骤和关键点:
采集线上流量特征,建立流量模型、生成压测模型;
笔者是电商行业,所以对于高频的营销工具也需要单独压测,比如拼团购、限时折扣、拉人应用等。这些工具都是高并发、突发性流量的主要来源。
理论上,在系统不崩溃、响应正常的前提下,资源利用率的平均值在80-90%,是最优的利用率,它最大限度的压榨了机器的价值。但是很明显,人工构建的系统,想要达到这种级别的利用率而系统一切ok的话,可能要投入更多的研发资源来优化,对于中小企业来说,可能就有点缘木求鱼了,毕竟业务才是王道。退而求其次的话,资源利用率降低一个档次,在60-80%,就是一个比较合理的利用率(压榨)了。
利用率% | 级别 | 措施 |
---|---|---|
[0,30] | 闲置 | 缩容减支 |
[30,50] | 适当 | 观察 |
[50,70] | 合理 | 观察 |
[70,90] | 充分 | 警觉和扩容 |
[90,100] | 过量 | 必须扩容 |
监控指标的确定:
核心思路:监控线上流量,指标超过预警范围,自动调用阿里云相关资源的api,上线新的集群节点。同时发出报警,以便人力介入。
这里,资源不可能无节制的加,所以也有个最大阈值。根据流量,节点也应该可以优雅的下线。甚至,在夜深人静无人访问的时间点也可以按最低资源来部署。
参考:
大型企业使用阿里云或百度云等云服务器真的能比自购服务器省钱吗?