随着经济开始出现转机,对IT预算的预测也已经开始下滑,是时候在首席财务官打来电话之前收紧你的技术储备了。
经济景气的时候,庄稼丰收,粮食满仓,企业很容易就能够大快朵颐。而当时局艰难,财政收入蒸发时,是时候削减那些曾经非常有意义的疯狂开支和大胆想法了。这不是一项容易的或令人愉快的任务,但如果认真执行,结果可能是获得一个灵活高效的组织,随时能够准备好走向未来。
在首席财务官打电话来之前,这里有11个不太明显的地方可以从IT预算中寻找利润。
1.转储的噱头
你的网站是否包含了额外的数据,只是为了让它更有用?一些网站喜欢滚动股票市场的报价,天气预报或是体育比赛的比分,以便使体验更加丰富。还有其他的包括像这样的预告,“这家酒店在过去的47分钟内已经被预订了18次。”
在经济繁荣时期,人们会期待看到聪明的数据和华丽的显示屏--有时甚至能小幅的提高收入。但在经济困难时期,它们很容易成为省钱的目标,特别是那些通常由运行在自己的服务器中的单独微服务支持的“增强功能”。这些功能通常会对信息源或API进行频繁的后台调用,以收取订阅费用。这些额外的功能可能会使你的网站更加复杂,但是如果这些额外的字段只是为了美化或娱乐,那么数据传输的成本、额外的服务器时间和软件维护开销就很容易减少了。
2.更改架构的优先级
开发团队总是试图完成他们所提供的目标。在繁盛时期,许多管理人员会关注强调速度的指标,例如响应时间。但节省这些毫秒通常也意味着增加额外的服务器层,构建更接近用户的精心设计的网络。这些都是崇高的目标,因为大量研究表明,变化无常的客户对高速反应良好。
但在时局艰难、每一分钱都很重要的时候,顾客可以用更少的钱来凑合。对价格敏感的人也可以多等几毫秒来达成交易。
如果优先级从速度转换到效率,许多额外的缓存和同步层就可能会消失。与其测量原始的反应时间,不如看看满足请求所需的计算量。有时,只需将速度降低10%或20%,就可以节省一半以上的计算量了。节省额外资源上的资金也意味着能够节省保持所有这些层所运行的劳动力。
3.审计基础设施配置
优秀的开发人员如果足够谨慎,他们通常会创建具有更多内存和虚拟CPU的云实例--以防需求激增。有时甚至不只是开发人员会这样。有人会因为用户激增而把机器升级。在经济繁荣时期,这种增加一点额外力量的先见之明的行为会得到奖励。
不过,在经济拮据的时候,这些开支应该被小心的回收。拨回CPU通常会比较容易,因为分配核心的层基本上是自动的。如果没有额外的CPU内核可用,软件只需再等待一纳秒,就会有空闲出现。
拨回内存则有点危险,因为当找不到更多内存时,软件崩溃或失败的情况将更为常见。如果代码在正常的情况下失败了,可以在减少RAM的同时查看日志文件。
有时罪魁祸首就是本地存储。当一些实例的账单到达时,磁盘空间的成本可能会超过CPU或RAM。大部分磁盘空间是空的,但有人将计算机映像构建为了原来的两倍大--只是以防万一。云计算使得增加额外的磁盘空间变得容易了;而让他们减少开支可能会有点麻烦。
4.反思灾难准备
以一场巨大的社会灾难为借口来减轻防灾准备工作似乎有些奇怪,但我们所有人现在都应该知道什么才是真正重要的。建立一个健壮的、故障安全的数据库来收集关键任务医疗材料的订单比以往任何时候都更加重要。但是,把同样的安全原则延伸到一堆社交媒体帖子上就不是这样了。有些数据库不需要每隔几毫秒就在世界各地复制一次。有些击键也不需要跟踪。一些数据库甚至不需要实现事务一致性。许多数据甚至根本不需要太多的关注。一些事务的一组日志文件对于偶尔引用的位(如果有的话)来说可能就会有很好的效果。
5.切换到无服务器
在过去的几年里,一种新的轻用资源的选择已经达到临界值。“无服务器”仍然包括隐藏在层下的服务器,这使得计算变得更容易了,因为当偶尔出现请求时,基础设施会负责启动和关闭虚拟服务器。
云计算的价格通常小得令人难以置信,因为云计算供应商对某些web请求的响应收取的费用只有区区几美分。如果你的一些数据库或网站一个月只接待几十个人,那么你的账单可能会少于一便士,甚至可能四舍五入为零。
寻找那些负载非常低的服务器,并寻找能够替代它们的方法。它们可能是实验性的工具,也可能是商业利基市场的工具。小心那些可能会传播病毒或遇到使用高峰的业务。一分钱的数量如果多了,加起来也是很快的。
6.考虑低租金选择
在过去,IT部门会通过构建由专有前端管理的专有数据库来解决问题。自定义软件就是这个游戏的名称。现在,在云管理的电子表格中转储数据比以往任何时候都更加容易了。例如,微软的Excel就有一个接受JSON数据包的API,Google Sheets也是如此。如果你已经为桌面工具付费了,为什么不直接将基本数据推送到电子表格中呢?
这是一个很好的计划,因为它还可以增强其他能够使用电子表格但不能处理SQL的团队成员的能力。但这也是有限度的。例如,Google Sheets只能处理40万个单元格。当数据变大时,在web浏览器中下载所有数据可能会是一件很麻烦的事情。但是对于小规模的工作来说,依赖基础设施可能是提供解决方案的一种快速的方式。
7.将低使用率的服务重新分配到旧的重新利用的硬件上
云计算机器易于配置和使用,但是如果你经常使用它们,它们就会变得很昂贵。最容易省钱的地方是二级和三级的数据库,它们需要随时可用,但又不是关键任务的数据库。可以将它们移回本地,使用那些通常运行某些开源操作系统的旧硬件。一些带有富余磁盘的后台机器也可以作为日志文件和很快就会被遗忘的数据库条目的有效存档。不要以便宜的价格卖掉一些旧机器。可以通过将数据移回服务器壁橱来节省云存储的费用。
8.仔细检查升级
软件升级可能会是一个挑战。有些可以修复安全漏洞和稳定性的问题。应该尽快安装它们。其他的升级则可能包括一系列新的特性和功能,当资金能够自由流动时,这些特性和功能可能会受到热烈欢迎,但现在却应该仔细考虑隐藏的费用了。新特性通常意味着更多的代码,而更多的代码则通常需要更多的内存和CPU。即使升级已经包含在许可证成本中了(它们通常花费更多),为更大的计算资源支付费用也可能是不必要的支出。每个人都已经在没有额外功能的情况下操作了。升级是可取的吗?还是真的有必要而且值得付出额外的代价?
9.降级服务
许多图像和视频的分辨率是额外预算最隐蔽的集合之一。改用低分辨率是一些主要的视频流媒体服务在COVID-19封锁后所做的第一件事。豪华的4k视频是美妙的,但大多数情况下,人们也能够以更低的等级做得很好。降低像素的数量和使用更极端的压缩意味着可以用更少的服务器来传输数据以及更低的带宽费用。
10.重新使用开源
专利代码通过提供价格合理的高级特性,在市场上赢得了自己的地位。如果您的堆栈已经包含了一些昂贵的代码,那是因为这些代码交付了一些重要的东西。
为了节省许可成本而取消运行专有代码对关键任务核心来说可能没有意义,但有大量的二级和三级工具也是可以公平竞争的。充分的内部系统开源选项可以帮助节省费用。这一举措可能不会受到喜欢这些额外功能的内部团队的欢迎,但如果许可预算较低可以避免裁员,他们会感谢你的。
11.停止提供食物
就像Dave Barry所说的,“这不是我编的。”一家硅谷网络公司曾经邀请我去他们的办公室吃晚餐。员工厨师准备的食物很好,但晚饭后,在餐厅几英尺之外的柜台上,放着至少20瓶顶级的昂贵烈酒,还有一些Napa Valley最好酿酒厂的红酒。有些酒在所谓的折扣店的售价在100美元以上。数量太多了。
你的技术预算是否也包括了一些委婉的标签,比如“鼓舞士气”或“加班服务”?这个架子上的酒花费了一个大项目一年以上的服务器时间。对于许多组织来说,购买酒精和其他食物会是一个有效的策略。很难判断这个管理团队过去做了些什么,因为自从我吃过晚饭以来,该公司已经生存并成长起来了。但是时代变了。至少,可以砍掉超过10年的苏格兰威士忌以及小批量的任何东西。从纳帕酒转向索诺玛酒,或者更好的,考虑一下盒装酒。扔掉甜甜圈吧。这样既可以减少额外的预算,也可以减少堆积在我们腹部用以抵抗脂肪的胰岛素。