仅在Ruby(2019)上只花了15%的基本妨碍行动预算

2021-04-07 00:40:08

我们每年花费约300万美元运行所有版本的Basecamp和我们的遗留应用程序。花费在几个内部部署数据中心和云操作中传播。它不包括我们7人强大的运营团队的预算,这只是连接,机器,电源等成本。

那桶里有很多钱。最大的线条项目是每年百万美元,我们花费了4.5个卑鄙的文件。我们曾经以三个物理数据中心用于冗余和可用性的三个物理数据中心,但最终数学和操作麻风机并未平移。所以现在我们只是在S3上,具有多区域冗余设置。

之后,这真的是一个大的混合袋。我们在数据库上花了很多钱,所有这些都在mysql上运行。有弹性搜索的弹星搜索集群。一群redis服务器提供缓存。有一个kafka管道和分析的大查询后端。我们在数据中心和云之间拥有自己的直接网络连接。

到目前为止我谈过的一切都是我们在我们的编程语言或Web框架上运行和支付的基础架构。无论我们是否在Python,PHP,Rust,Go,C ++上运行,我们仍需要数据库,我们仍然需要搜索,我们仍然需要存储文件。

所以让我们谈谈我们在编程语言和Web框架上花费的内容。它约15%。这是我们所有应用程序和工作服务器的价格。实际上在轨道上运行红宝石的机器。因此,针对300万美元的预算,它约为450,000美元。而已。

让我们想象一下,有一些惊人的技术可以让我们尽一切我们在铁路上用红宝石做的事情,但它是快速的两倍!这将节省我们每年约〜225,000美元。我们花费更多的钱,而不是每年给Basecamp的员工。那就是如果你真的可以快速地走两倍,因此需要一半的机器,尽管微波蒙可能会思考是什么,这并不是一件容易的事情。

现在想象一下,我们发现了一个真正的银弹。计算支出可以减少一个数量级。因此,我们会节省约40万美元/年,减少我们将应用程序和工作服务器运行的所有内容,以至于不切实际的45,000美元/年。减少甚至不会在Basecamp的平均全能成本下支付两家开发商!

现在让我们考虑那些节省的成本。我们在Basecamp的15个强大开发人员团队中花了更多的钱,而不是我们的整个运营预算!如果我们使那支球队的生产力减少15%,它将花费我们在Basecamp在Basecamp运行Ruby和Rails的一切!

使用红宝石和轨道是一种奢侈,是的。不是每个公司都支付他们的开发人员以及在Basecamp做的那样,所以可能会在那里看起来有点不同。也许一些公司更加努力运行应用程序。但对于大多数萨斯公司而言,他们与我们的球场完全相同。运行编程语言和Web框架的总操作预算的切片,该网络框架为该应用程序提供了少数总体成本的少数。

对于这样的公司的Basecamp,你会生气,让您的选择上的任何编程语言和Web框架,但什么会让你的程序员最积极,快乐,和富有成效的判断。无论成本如何,它都是值得的。它是值得的,纯粹的成本/好处,但更重要的是,在人类幸福和潜力方面是值得的。

这就是我们运行红宝石的原因。这就是我们跑铁路的原因。这是一个完整的讨价还价。