linux工程师,RHCE
分类: 系统运维
2022-05-08 21:51:22
云计算的出现,最开始是一个经济命题。服务器很昂贵,所需的空间和服务器发展所需的大量互联网连接也很昂贵。为什么不直接租用它们并停止支付大笔硬件费用,减少维护它的员工呢?大型云数据中心可以节省大量资金,然后将节省的资金分散给各位使用者。
现在十多年过去了,关于费用的部分已经开始增加。企业很容易在这些小实例上花费数百万美元。
下面会为大家提供不同的选项以节约成本,分别涉及使用更便宜的硬件、减少相关投资、改善员工之间的沟通问题等。
大型云公司提供了一系列选择——包括一些绝对一流的服务,既适用于数据存储等工作,也适用于机器学习或计算机视觉。但是,如果企业不打算使用所有最好的 API 和服务,可以找到商品云代理,它们会以更低的价格出售相同的东西。
例如,AWS 通过预留实例为长期承诺提供折扣。当价格在奇数时间下跌时,他们的现货市场可能是运行后台处理的好地方。谷歌提供自动折扣,企业的机器运行时间越长,它就会生效。标价是为想要即时满足和立即启动机器的人制定的。提前计划并寻找折扣选项是为主要云支付更少费用的最简单方法之一。
并不是所有企业都备有空闲周期的好机器,但那些拥有的人可以利用日益复杂的软件包来构建将它们连接在一起的安全子网。您拥有的机器可能会便宜得多,也会更安全一点。
每个企业的需求各有不同,有些企业正在构建 Kubernetes 集群,有些企业只是托管不需要低延迟的后端服务。它不是面向客户的工作负载的解决方案,客户在等待时计算毫秒数,但比以往任何时候都更容易拼凑一些对后台处理有用的东西。
不是每个企业都需要现代云实例的灵活性。一些供应商正在出租完整的服务器,而
不需要额外的管理程序和虚拟化层。企业的代码可以获取整台机器,这也减少了对安全性的担忧。企业可以得到真正的root密码。不过,企业可能需要在整理 OS 层方面做更多的工作,但有时这会带来更好地调整机器的机会。
一些云用户可能会收到意料之外的大额账单,因为他们的应用程序是大量数据用户。一些云会收取数据泄露的费用,这可能会增加成本,尤其是在企业的内容传播开来的情况下。
因此,企业应仔细查看应用程序的配置文件。如果企业是网络、数据存储或账单上某个特定项目的重度用户,则可以选择其他可以为企业提供更优方案的云供应商。
少数云公司专注于低价数据存储,其收费比主要云低 80%。节省的费用也会更多,因为它们具有不同的数据移动费用结构,从而使企业可以节省数据泄露的费用。这些公司还提供与 Amazon S3 兼容的 API,使切换变得简单。
如果企业的应用程序需要大量不变的信息,那么由静态网页构建的应用程序可能是通过内容分发网络覆盖广泛受众的最便宜的方式。对于需要大量后端计算和定制的任务,它们不是一个很好的解决方案,但也许可以将处理拆分为单独的服务。
好的静态框架包括Jekyll、Gatsby、Middleman和Hugo。当程序员可以将所有内容转移到 CDN 时,他们通常会考虑将成本降低 10 或 20 倍。
云计算通常最适合需求激增的应用程序。如果企业的应用程序闲置数小时甚至数天,那么将其重写为在Cloudflare Workers或AWS Lambda等无服务器框架中运行将意味着您无需为所有停机时间付费。当负载低时,企业也不会支付过多成本。
AWS 和其他一些云供应商正在添加围绕 Arm CPU 构建的新服务器。这些 RISC 芯片可以更快、更便宜,但它们通常需要企业重新编译二进制应用程序。费用节省取决于应用程序的类型和机器上的负载。
例如,AWS 估计其 Graviton 芯片的效率可能比 x86 芯片高 25% 到 100% 甚至更高。由于 AWS 刚刚推出了新的 Graviton3 处理器,因此速度会更快,该公司估计,该处理器的速度可能比 Graviton2 快三倍。
除非企业的服务器正在满负荷运行,否则要捕获此值可能并不容易,这让一些开发人员有点紧张。一种解决方案是开始使用 Arm 芯片进行全倾斜运行的后台处理。
另一种方法是转向提供 ARM 处理器的事件驱动计算服务,例如 AWS Lambda,技术人员发现这种解决方案可能会便宜 20%,但仅适用于某些语言和应用程序。所以是时候开始进行基准测试了。
Arm 选项的数量正在迅速增长。许多技术人员学会了使用几乎没有成本的小型 Raspberry Pi 或 Jetson 机器进行黑客攻击。它们是构建嵌入式机器、物联网应用程序或只是试验的理想选择。现在它们也可以成为云基础架构的一部分。
例如, Raspberry Hosting和miniNodes将在专业数据中心为使用者租用一个小型 Raspberry Pi 或 Jetson Nano 板,并具有丰富的互联网连接,因此使用者可以以低廉的价格运行基本软件。
许多云实例都有默认大小,使配置它们更容易。在许多情况下,我们的代码不需要所有的存储空间,但我们可以继续为此付费。但没有本地存储会使云账单几乎翻倍。更糟糕的是,云计算公司通常很难缩小这个未使用的空间。如果企业在创建过程中保持警惕,通常可以从足够的空间开始运行应用程序。
分摊成本有助于工程师了解,当某些 Kubernetes 集群扩展以承担一些负载时,每小时的成本累积起来会很快。开发者降低成本可能并不容易,如果他们知道价格,就不会盲目扩大服务器规模。
一些团队将部分开发人员指定为“成本工程师”,他们的工作是寻找节省云计算费用的方法。也许这意味着调整一些微服务以使用更少的 RAM。也许这意味着将一些偶尔的任务转移到无服务器配置中。告诉开发人员他们的工作指标将与云账单相关联,这是节省成本的好方法。《linux就该这么学》不错的linux自学书籍