以及为什么您应该尽早迁移到 Amazon S3
一年多以前,我创建了一个用于存储图像的数据库。当时,这是有道理的,因为我在内部工作。我没有将照片保存在文件夹中,而是使用后端来下载和处理图像。这是我开发得相对较快的一个小应用程序,它的运行非常吸引人。即使是现在,该程序仍然有效。我没有遗憾。这是有教育意义的。
但后来我决定将我的应用程序移至云端。我考虑了大多数云提供商:Google、Azure 和 AWS。在使用 Heroku 一段时间后,我决定使用 AWS。在其他应用中,数据库应用也向云迁移。一切正常。
但是随着应用程序的增长,我需要更多的运行时内存。云太棒了。您升级 EC2 以获得更多运行时内存供您使用。你唯一的缺点是:你为你使用的东西付费。在这种情况下,我没有很好地利用我的资源。
您只需为使用的内容付费 — 云开发
为了防止你犯同样的错误。我想提高认识。您必须了解,在云中,您需要为使用资源付费。如果您没有以最佳方式使用它们,您将花费太多。在本文中,我将讨论我在这次云冒险中学到的两个重要教训。
图像数据库比 Amazon S3 贵得多
在使用 Amazon S3 的第一年,如果您保持在限制范围内,您完全不需要支付任何费用。免费层意味着 5Gb 的免费存储空间、20k GET 请求和 2k PUT 请求。看看我的应用程序,这是我需要的方式。所以这意味着存储是免费的!
一年后,这将变为每月最高 0.14 美元(使用欧盟巴黎的价格计算器计算)。所以成本保持在非常低的水平,对我来说并不重要。当您将此成本与 EC2 实例的标准按需价格进行比较时,您为一个次要应用程序支付大约 3.87 美元。大约 28 倍!
现在确实如此,您还可以通过预留实例来节省成本。但是,您还可以通过在 Amazon S3 上使用不频繁的访问来节省成本。最终结果将大致相同。我想说明的一点是,一般来说,与在 Amazon S3 中保存文件相比,您为运行时内存支付的费用要多得多。
只有一个注意点。你很容易受到攻击。如果有人一遍又一遍地请求相同的资源,您将面临巨额账单。确保不要将所有内容都公开。限制用户可以创建的请求数量,并在可能的情况下在流量很大时缓存图像或文件请求。
更容易更改文件
想象一下在图像应用程序中更改图像需要什么。您将需要创建一个允许您上传/删除/获取图片的 API。之后,您需要执行更改图像的请求。如果您的云设置发生变化,您必须修改 API 并对其进行维护。
使用 Amazon S3,您可以查看每个文件。如果您需要进行更改,请上传一个新文件。您可以快速添加 en remove 文件,而无需先实现 API。您可以免费获得 API。管理图像所需的一切都已经存在。
那你为什么要重新发明轮子呢?
结论
云开发令人难以置信。它给我们带来了我们用来创造自己的东西。我们最好使用专用的云服务,而不是重新发明轮子。
在数据库中存储图像迫使我转移到更大的 EC2 实例。经过一番考虑,我意识到了这个错误并转向了 Amazon S3。改用 Amazon S3 使我能够再次迁移到小型 EC2 实例,再次降低云成本。有了这篇文章,我想防止你自己花太多钱。
加入我们一起学习
QQ群:程序员副业交流
QQ群号:931035409
教程网站:https://ai2opencode.com/