虚拟化产品的性能明显较差(请参阅我 2019 年的实验:httpsjan.rychter.com/enblog/cloud-server-cpu-performance 并且成本更高。区别在于您可以“按需扩展”,我发现这一点没有必要,至少在我的情况下。如果我确实需要扩展,我仍然可以这样做,只是获取新服务器需要几个小时而不是几秒钟。好吧,我不需要在几秒钟内扩展 就我而言,与我需要向 AWS 支付的费用相比,我整个生产环境和重复的临时/备用环境的每月账单是恒定的、简单的、可预测的,非常低,而且我仍然有很大的性能空间 值得注意的一件事是,我对待物理服务器就像对待虚拟服务器一样:一切都通过 ansible 进行管理,我可以从头开始重新创建一切。事实上,我确实在 Digital Ocean 使用了另一个“devcloud”环境,该环境是使用 terraform 启动的,然后传递给 ansible,由 ansible 完成其余的设置 我怀疑 VendorOps 和像 kubernetes 这样的复杂工具受到了过去十年中出现的复杂性商人的青睐。它在简历上看起来很棒,给技术领导者一种错误的成就感 与此同时,可以说比大多数初创公司更重要的 Stackoverflow 正在专用机器上稳步前进 1:httpsstackoverflow.blog/2016/02/17/stack-overflow-the-arc.. 看起来这个领域的趋势是直接跳到最高抽象层。跳过基础知识并指向 $buzzword 工具、库和产品 你可以通过不同的形式看到这一点。一种是社交媒体话题,它会询问诸如我需要了解 X 的多少才能学习 Y,其中 X 是一项基础的、可能非常稳定的技术或领域,Y 是一些流行工具或直接的产品或服务 CORBA 属于那里。甚至可能还有语义网络的东西。绝对是XML! XML 很棒 - 如果您不相信,那么您可能会对解析 JSON 的痛苦感兴趣:httpseriot.ch/projects/parsing_json.html 不要让我开始使用 YAML.. 对于我来说,使用托管数据库、自动快照、托管负载均衡器、即插即用块存储等,在云上的增量成本是完全值得的 我想担心的是我们的产品是否好,而不是半夜硬件故障,启动新服务器并使其无法正常工作,因为没有动力使用单个盒子使用配置管理,有一个失控的任务导致 OOM 或磁盘已满并破坏所有内容,而不仅仅是任务 VM,担心重新启动已运行 1000 天的机器等 对我来说,云的魅力不在于不需要时的某些 FAANG 可扩展性时尚,而是自动操作系统修补、自动负载平衡、NAT 服务、集中式、可分析的日志、我不必管理的数据库服务。服务的盒滚动升级、管理加密密钥和秘密,当然还有对象存储。 (这些都是我们在启动时使用的所有东西) 我敢说,当我们达到一定规模时,专用服务器可能非常可行/具有成本效益,而不是相反。目前,对于我的初创公司来说,云费用是值得的 如果您将环境配置作为代码进行,那么您的目标是专用服务器、虚拟机还是通过 api 配置的某些特定于云的设置,最终都无关紧要 哪一个并不重要,重要的是你有一个可以为你构建一个新盒子或通过简单地运行命令将行为不当的盒子恢复到已知良好状态的盒子 当然,驱动它的实际 Go(o) 堆可以改进(而且确实在改进) 也就是说,残酷的事实是,你的方法是正确的,几乎所有企业(初创公司!)都过度建设,而不是专注于提供价值、确定实际的利基市场等。(是的,这也有需求方面,因为风险投资资金膨胀的初创公司过度建设,他们希望依赖能够承担负载、与他们一起扩展的第三方,SLA 以及诸如此类的东西必须进行广告宣传。) Kubernetes 太棒了!每当我看到潜在的竞争企业开始使用 Kubernetes 时,我都会立即松一口气,因为我知道我不必再担心他们了。他们即将消失在一堆无法解决的技术问题中,试图解决在令人难以置信的复杂技术堆栈中无法追踪的问题,并解决为流量大两三倍的企业设计的系统所施加的限制。此外,他们的 COGS 将比我的高得多,这意味着他们需要将产品定价更高,除非他们只是在烧钱(在这种情况下他们只是昙花一现) 到处都是好东西 Ansible 是势在必行的,它可以朝着静态状态工作,仅此而已。如果遇到问题,它会断开 SSH 连接,并发出大量 python 错误,然后永远放弃。即使有库存,它也远非声明性的 k8s 是 aof 控制循环,试图朝着其声明的状态取得进展。失败不是问题,它会重试。它会不断地检查自己的状态,它有一个很好的 API 来报告它,而且由于有很多具体化的概念,部署的组件之间很难出现奇怪的冲突。 (然而,将多个 playbook 与 Ansible 集成起来并非易事。) httpsgithub.com/spantaleev/matrix-docker-ansible-deploy 即使 k8s 具有太多的遗留性,核心思想也即将出现更精简的表现形式。 (例如 httpsgithub.com/aurae-runtime/aurae ) 现在您建议人们使用更简单的非标准实现? 因此,您当然可以实施最小复杂性的解决方案,也可以使用“现成的”解决方案 k8s 很复杂,其中一些对于您的情况来说肯定是不需要的,但它也相当通用、灵活、支持良好等 >您建议人们使用更简单的非标准实现? 我的建议是,如果 k8s 项目/软件变得太大而无法失败,那么人们可以转向替代方案。幸运的是k8s的概念和API是开源的,所以它们可以在其他项目中实现,我举了这样一个例子来说明选择k8s并不是像Oracle那样的供应商锁定 我总是听说您可以从云提供商那里免费获得所有很棒的东西。这些东西真的那么容易设置和使用吗?每当我尝试在云服务上设置 LAMP 堆栈时,这都是一个令人困惑和可怕的过程,最终我放弃了。我想知道我是否只需要再努力一点,我就能到达云天堂 能够说“我想要一个具有这种规格的集群 MySQL”比您自己做要好得多(时间方面)。更新也很好地包含在系统中,所以我只是说“应用最新更新”,而不是手动确保故障转移/重新启动以正确的顺序发生 因此,你需要花钱来简化事情,但这种简化所带来的好处只会在更大的项目中体现出来。如果您在单个服务器中有一些东西可以在用户收到错误页面时重新启动,那么这可能不值得 云计算并不容易,但要让小型服务器机房的冷却和电源效率接近大多数大型数据中心发布的效率水平几乎是不可能的,多供应商互联网连接也是如此 有了云,所有这些都消失了,因为它由运行云的任何数据中心运营商管理,但人们忘记的是,对于老式托管服务来说也是如此,它通常提供比云更好的成本/价值 虽然管理像 AWS 或 Azure 这样的东西肯定更难,因为它会泄露大量小型 vpc 提供商向您隐藏的抽象概念,或者您无法通过单个家庭服务器真正获得这些抽象概念,但就必须运行多个家庭服务器而言,这并不困难。具有基于 SAN 存储的 vmware 服务器的机架数量使用云技术,您需要进行更多配置,因为它涉及配置虚拟服务器等。盒子到您的房间,您必须“配置它”以使其可用DO 数据库具有您可以根据自己的喜好配置的备份,将它们存储在 DO 空间(如 S3)上。DB用户管理很简单。还有 Redis 的缓存服务器您可以添加负载均衡器并将其连接到您的各种 Web 服务器我想这需要我的时间大约 30 分钟即可设置 2 个 Web 服务器、一个数据库服务器、缓存服务器、负载均衡器、一个存储服务器,并根据需要使用一些简单的表单将它们连接起来。真的无法打败如果您有更多信息或意见,请分享互联网上有很多关于强化 Linux 服务器,我尝试过的服务器需要 30 多分钟才能完成这些步骤,如果我想真正学习和理解每件事的作用、为什么它很重要、潜在的漏洞是什么,则需要更长的时间是,以及我可能需要如何为我的特定用例自定义一些设置我相信您可以在线找到示例设置脚本(配置自动更新、防火墙、应用程序等应该是一个问题运行“curl $URL”,然后运行“chmod +x $FILE”和“bash $FILE”。我不需要配置管理(我确实使用提供商的备份服务,我猜这很重要)像这样: httpsraw.githubusercontent.com/potts99/Linux-Post-Install..(见 httpswww.reddit.com/r/selfhosted /comments/f18xi2/ubuntu_d )显然,对于长时间运行的虚拟机来说也是如此,这可以通过拥有一支纪律严明的团队来解决,但我认为在具有单个长时间运行的专用环境的环境中,这种情况通常更有可能发生机器Hetzner 拥有除托管数据库之外的所有这些httpswww.hetzner.com/management-server网络托管软件包还包括 1. .无限数据库(MySQL 和 PostgreSQL)httpswww.hetzner.com/webhosting/是否具有自动备份和故障转移功能?>通过预约每日备份或服务器类型中包含的备份,所有数据每日备份并最多保留 14 天。通过 konsoleH 管理界面可以恢复备份(恢复)但我的印象是托管服务器上的数据库是供该服务器上运行的应用程序使用的,因此,实际上并不存在故障转移的概念httpswww.hetzner.com/legal/management-server/单个服务器上的单个驱动器故障永远不会导致生产中断许多配置问题都可以追溯到独立部署。该字体文件或 JRE 是否确实需要安装在整个服务器上,或者您可以将其捆绑到您的部署中我们的部署使用本地和 EC2 目标。部署脚本没有什么不同,只是主机的 IP 是现在,我会说我是否可以使用 S3 来做我 100% 愿意的事情。没有具有相同功能集的本地替代方案DevOps 的要点是“牛,而不是宠物”。每周在您的服务器中放置一次子弹,以查找您的故障点如果您跳入我们的 Discord/Slack 并提出您所看到的一些问题,以便我们能够解决,我会很高兴至少可以让其他使用 Dokku 的人获得更好的体验。请随时联系我(我的昵称是 `savant`)让我做个序言,说我是一名应用程序开发人员,只具备 Docker 的应用知识。我在基础设施方面并不是非常熟练,而且我遇到的应用程序有特殊的部署参数:它是一个 Python 应用程序,在构建时解析几场静态 HTML 爬网,以填充构建后静态的 Postgres 数据库。然后,Flask Web 应用程序针对该数据库提供服务。HTML 解析发展很快,因此填充的数据库数据应该捆绑为应用程序映像的一部分IIRC,当数据库不可用时,我很难构建 Dockerfile它不是持久的,而是应用程序的另一个短暂部分,但它似乎是可以克服的。更大的问题似乎是如何避免在每次构建时从 S3 中提取很少更改的数据(理想情况下会进行缓存),尤其是在 DigitalOcean 和我的本地环境中表现良好的方式。我认为正确的 Docker 镜像层缓存可以解决这个问题,但我很快就耗尽了我的知识和耐心Dokku 的 DX 对于做正常事情的人来说确实很棒。:)0. httpscoolify.io/另外谁不想用别人的钱玩最新、最酷的玩具呢?当灵活性(或处理通量/旋转)不再是主要驱动因素并且规模/成本开始占主导地位时,绝对有一个论点在旅程的后期将(某些)东西移出云端当然,你可以在 Hetzner 上做一些工作,但要准备好回答更多问题同意你企业要求的最后一点,这再次让这些企业感到悲伤”当另一种方式可能更好时,“需求”决定了如何构建和托管您的软件灾难恢复是一个非常现实的问题。这就是我定期测试它的原因。在焦土场景中,我可以在不到一个小时的时间内在辅助(临时)系统或改造的云系统上启动并运行。对于我的生意来说,这就足够了 我们经历了经济增长繁荣,就像以前的所有人一样,这意味着许多缺乏经验的人被给予大量资金和迫切的期望。这是货物崇拜和剥削性营销的秘诀 但增长正在放缓,资金变得越来越昂贵,所以我们要放慢速度,开始通过令人兴奋的新变化重新学习旧的教训。 (就像这里:管理裸机扩展以及容器和编排) 整个周期将在下一次繁荣中重复。这就是我们现在的行业 99% 的情况下,可靠的专用服务器比共享硬件上的损坏的 VPS 有用得多,但如果您不需要它们提供的所有资源,它的成本显然会增加 是的 - 但对于那些通常被称为“经理”的人来说,与“员工”相比,“做所有酷孩子现在正在做的事情”的渴望至少是一样强烈的 结果 A)巨大的微服务/云支出出了问题,至少你遵循了最佳实践,这些事情发生了,你能做什么 结果 B) 您使用了 Hetzner 服务器,但出现了问题,那么您应该使用微服务,享受寻找新工作的过程 从而鼓励管理者选择微服务/云。这对公司来说可能不是正确的决定,但对经理来说是正确的决定,而且是经理在做决定 (就像作为一名顾问想要扩展并编写有效的软件一样,正如我通过艰难的方式发现的那样。) 创始人和其他人之间存在脱节 创始人相信他们每年都会增长超过 10 倍 现实是他们 90% 的可能性都会失败 90%的情况下——无论什么事情失败都没关系 在 10% 的成功时间中,有 % 的人在没有云的情况下仍然可以正常工作 - 至少在几年的成功中,有足够的时间在必要时进行切换 我只有一种 ansible 设置,它既适用于虚拟服务器,也适用于物理服务器。没有不同。唯一的区别是虚拟服务器需要先使用 terraform 设置,而物理服务器需要先订购并将其 IP 输入到配置文件(库存)中 当然,我也小心避免依赖许多其他云服务。例如,我使用 VpnCloud (httpsgithub.com/dswd/vpncloud) 进行服务器之间的通信。附带的好处是,这还使我可以随时灵活地切换到任何基础设施提供商 我的主要观点是,虽然虚拟化产品确实有其用途,但每月 10 美元的业余爱好 VPS 与 B2C 业务爆炸式增长的公司之间存在(巨大)差距。大多数新业务实际上都陷入了这一差距:您不会期望盈利的 B2B SaaS 会出现曲棍球棒式指数增长。这就是您应该质疑通常的默认选择“使用 AWS”的地方。我关心我的销货成本和利润,所以我会非常仔细地考虑这个选择 您不是一家软件公司,从根本上来说,您生产和销售 Sprockets 这里的意见是雇用一名大型工程师/IT 人员来“购买和维护服务器”(PaaS 不好),然后可能“自己编写 aof 代码”(SaaS 不好)或目前这里流行的任何内容(最后一个线程是“在不使用 Git 的情况下通过 SFTP 推送 PHP,如果您需要更多”,哈哈) 但我认为企业应该做好一件事,并避免试图在其核心能力之外的事情上进行竞争(手动完成)。在这种情况下,我肯定认为 Sprocket Master 不应该尝试管理自己的硬件,而应该依赖提供商来处理扩展、安全性、正常运行时间、合规性和所有小细节。我还认为他们的软件应该是沼泽标准,并且尽可能少地使用内部软件。他们不是软件商店,应该编写尽可能少的代码 实际上,小部件大师可以用相当少的员工来运行这些网站,除非他们决定手动完成这一切,在这种情况下,他们可能需要更多的员工 然而,我还看到,我认为上一张海报所讨论的是技术是业务核心的企业,而技术往往没有什么意义,而且似乎非但没有节省时间,反而浪费了时间。 AWS 专家的出现是有原因的:这不是一件小事。 “真正的”服务器也并非微不足道,但也不一定比云服务更难 但这些机构也不希望配备人员来维护物理硬件。 但 Sprocket Masters 仍然需要聘请一名昂贵的云顾问来应对紧急情况 如果您打算聘请专人来处理云问题,您也可以租用服务器 我个人在早期曾为我们的业务运行专用服务器,但随着我们的扩展和扩展,与云提供商一起快速提供各种服务变得更加容易,尽管成本上升了。更不用说告诉潜在客户您使用“像AWS这样的云”比“哦,我们在某个公司运营的数据中心租用这些机器”要容易得多(这实际上可能更好,但客户大多不会明白) 。审计、合规及其他 对于许多人来说,甚至还少得多。我运行了一个小型副项目[1],该项目曾多次火爆(24 小时左右的浏览量达 3 万次),它在单核 CPU Web 服务器上运行,托管 Postgres 同样在单核 CPU 上运行。它甚至还没有接近充分利用 1:httpsaihelperbot.com/我可以将其中一些切换为 lambda 函数吗?还是切换到ECS?或者切换到其他当前的云服务?也许吧。但我写这篇评论所花费的时间已经相当于这种转换节省了六个月的时间。如果它比“按下按钮,接收 100% 可靠翻译的服务”更困难,则很难证明其合理性其中一些也是因为云确实提供了一些其他功能现在的服务可以实现此类事情。我不需要运行 Kafka 集群来进行基本消息传递,它们都带有消息总线。我就用这个。我使用托管数据库选项。我使用 S3 或同等产品,等等。我发现当我每月支付个位数美元时,剩下的几乎不值得尝试将自己塞入其他范例的麻烦。只需在 EC2 实例上运行绝对不是每个人或每个项目都能做到这一点。我并不坚持将此作为最终目标。当它不起作用时,我立即采取适当的缩放操作。我并不是建议您基于此重新架构任何内容。我只是说,这不是一个值得鄙视的选择。它有很大的灵活性,并且计费非常一致(或者,换句话说,如果我突然有 50 倍的流量,我的系统就会开始明显地卡住和卡顿,而不是简单地向我收取数百美元的费用对我来说是一个功能而不是一个错误),并且您通常不会将自己扭曲成某种对某些云服务方便但对您来说可能不方便的范例您是否曾经需要管理其中一种环境?问题是,如果您想获得一些基本的多人可扩展性和适当的开发运营,那么您必须大幅过度配置(可能会浪费您的积蓄)您不可避免地会得到一个定制的解决方案,这意味着新加入者将很难掌握该系统,而离开公司的重要人员将带来他们对您的基础设施的深入了解。你又回到了宠物而不是牛。有些服务器很特殊,一段时间后,自动化意味着“到处都有大量的胶水 shell 脚本”,而操作系统升级意味着要么一半的基础设施暂时被淘汰,要么你根本不进行操作系统升级幸运的是,您需要扩大规模 您可能会发现令人不快的惊喜并且永远不要让我从网络方面开始。除非您租用整个机架并放置自己的网络硬件,否则您将得到您所得到的。假设您没有做任何花哨的事情,那么功能或性能可能会很差如果您想要 100.0000% 的正常运行时间,当然。但你通常不会。想要这种正常运行时间的公司通常都有专门的团队如果你垂直扩展的话,扩展在裸机上也能很好地工作 - 你知道扩展的数量吗您可以从单个服务器获得多少功率和吞吐量?当说话者表示“水平缩放”时,不断听到“缩放”是令人担忧的如果您的要求是“缩放”,那么垂直缩放将带您走得更远如果您的要求是“按需横向扩展”,那么云提供商当然会提供帮助。但是,很少有地方需要这种扩展我并不是说裸机 100% 正常运行时间很便宜,我是说 100% 正常运行时间通常是不需要的因为这个行业充满了追逐潮流和关键词的人,最重要的是在简历中添加这些关键词IME 旨在对于大多数服务/应用程序/任何东西来说,可扩展性是极其错误的。通常,您为“可扩展”解决方案付出了如此多的开销,然后您需要扩展来弥补我真的对此表示怀疑。您在几乎每个 AWS 支持者身上看到的一个主题是,对于 AWS 实际为您提供的保证存在大量错觉是的,当然。没有人会因为从 IBM 购买产品而被解雇好吧,如果大公司有决策能力,他们将是无与伦比的,在公司做其他任何事情都是没有希望的。全部。所以,是的,这是一项公共利益来源:近三十年的运营到目前为止,我还没有注意到如果我花更多钱对于我也获得更多报酬的公司获得与熨斗同等的可靠性比租用“两台专用服务器”要贵得多 - 现在您可能只需一台服务器和一个备份解决方案就可以了,这是公平的。但是创建所有这些的 sysad,即使是初始设置的短期合同并且无需维护,也将远远超出云价格差异,特别是如果混合中有一个数据库并且您关心该数据如今,云计算也类似 - 由于移动部件更少,上市时间更快。当经济低迷、增长放缓时,会计人员就会介入并做他们的事情每次都会发生这只会让 AWS 变得更富有在公司和云团队如果您的部署需要扩大或缩小,在几秒钟内自动配置和取消配置 EC2 实例非常简单。这就是它与裸机服务器根本不同的原因 现在,我并不否认,与 AWS 相比,配置比您需要的更多的专用服务器可能仍然更具成本效益,但是当您的工作负载确实不可预测时,要跟上它并不容易 如果您正在启动和关闭虚拟机以满足需求曲线 - 您的架构存在严重问题 您有没有想过,为什么 stackoverflow 使用约 8 台专用服务器来服务全世界,并且不需要启动和关闭虚拟机来满足全球客户的需求? -- 在规划计算基础设施时,重要的是要回归基础,不要被云供应商的宣传所迷惑 你自己也说了。并非所有应用程序都需要服务整个世界,因此当人们入睡时需求会降低 即使对于全球应用程序,也有法规要求您在特定区域托管应用程序和数据。想象一下欧洲、澳大利亚和美国的客户使用的应用程序。它们需要由区域数据中心提供服务,并且一个集群在另一个集群运行时大部分时间都处于休眠状态(由于时区的原因)。使用专用服务器,您会浪费 60-70% 的资源,而使用 EC2/Fargate 之类的东西,当您的区域处于休眠状态时,您可以将规模缩小到几乎 0 有一种疯狂的方法,这里叫“工作保障驱动开发” 因为这对他们的工作构成威胁 有一大群人拥有自我主持的技术能力,或者为他们的家人/朋友/协会/徒步俱乐部举办小型活动。这么小的利润,你可以多花一点钱,因为你想让它合适,但你不能证明支付这么多并花时间进行艰苦的维护是合理的。在许多情况下,只需要一个带有共享 Nextcloud 或小型网站的小型 VPS 为此,我什至在卧室里使用了一个小型 Raspberry Pi 400 httpsjoeldare.com/private-analtyics-and-my-raspberry-pi-4.. 我自己托管自己的东西已经近十年了。没有人尝试过 DDoSing 我的设置,因为他们为什么要这么做呢?他们可能从中得到什么好处?我几乎是唯一受到影响的人,一旦他们停止,很快就会恢复 几乎没有任何动机对个人设备进行 DDoS,更不用说通过互联网随机攻击了 你大大高估了青少年的能力 只是一遍又一遍地 ping IP 并没有多大作用。也许是 DoS 攻击,具体取决于目标网络在 IPS 方面的能力,但即便如此,他们更有可能在有机会真正攻击您之前用病毒感染他们的计算机 我个人曾因《GTA 5》中的作弊者而受到过其中一个的接收。这种事肯定会发生,而且一点也不好玩。 编辑:看起来这可能是自动的。这是一些有趣的事情,我应该研究一下。对于我的小服务器来说,这可能只是额外的复杂性,但我已经想到了一些用途 从技术上讲,我的家庭实验室也在静态公共 IP 上——这更多的是“我可以这样做吗”而不是“实际上有必要”的练习,但它仍然很酷,而且我很高兴 唯一的问题是我必须配置 Wireguard 以保持隧道处于活动状态,否则有时 VPS 会接收传入流量,如果我的实验室一段时间没有联系(这,为什么会这样?),隧道就会关闭,并且代理连接会。幸好这是内置功能 因此,在 jekyll 或 GitHub 页面网站上添加 RSS / Atom 提要似乎非常简单 1. httpsgithub.com/jekyll/jekyll-feed 2. httpsdocs.github.com/en/pages/setting-up-a-github-pages-s.. 3.httpspages.github.com/versions/ Atom 2c/4t、4GB 内存、1TB 驱动器、100Mbit 此时正常运行时间有几年 如果不间断:可能需要进行一些升级。 内核安全更新是一件事 我发现 Atoms 的速度慢得令人难以忍受,即使是在 Linux 下也是如此。当然,它足以为网站和其他服务提供服务,但令人困惑的是他们使用了多少电量却没有执行 确切地。这些低于 10 美元的 VPS 实例非常适合您不想签订长期合同或不想管理自己的服务器的小型项目 如果您正在经营一家利润微薄的实际企业,并且您有世界上所有的空闲时间来处理服务器问题(当它们出现时),那么探索那些大约 50 美元的专用服务器可能会很有趣 但如果您正在经营实际业务,即使每月 10,000 美元的 AWS 账单也比雇用另一位熟练的开发人员来帮助管理您的专用服务器便宜 这是在 HN 等地方有关云成本的讨论中通常会忽略的内容:是的,云很昂贵,但即使雇用一个额外的系统管理员/开发人员来帮助您管理自定义基础设施,也是非常昂贵的,而且灵活性也低得多。这就是为什么假设每月花费 5000 美元购买云托管解决方案,理论上可以在每月 50 美元的服务器上定制,并投入足够的时间,这仍然是一笔划算的交易。工程师费用昂贵且时间有限 呃,请问您要付给这个 DevOps 人员多少钱?这似乎是一个非常美国的视角,甚至是山谷地区。在欧洲,雇一个人会更便宜 满负荷的就业成本明显高于你带回家的工资。实际上欧洲的情况更糟。看看这些图表:httpsaccace.com/the-true-cost-of-an-employee-in-europe/ 如果您在英国向某人支付 1000 欧元,则公司总共花费 1245 欧元 如果您在罗马尼亚向某人支付 1000 欧元,则公司总共花费 1747 欧元 因此,对于欧盟开发人员来说,120,000 美元的满负荷成本可能只能以 68,000 美元的工资购买你 但你不能只有一名开发人员。如果你想让其中一个人休息一下,或者去度假,你至少需要 2 个 我可以在大约 3 小时内联系你 AWS 对于其他服务(S3、SES、SQS 等)来说非常经济高效,但虚拟机并不划算。你得到的内存更少& CPU,加上虚拟化开销,又要多付很多钱 特别是对于 Postgres,如果您使用 pgbench 运行一些测试,您可以真正看到为虚拟化付出的代价 也许能够构建自己的基础设施的系统管理技能正在成为一门失传的艺术,否则我无法解释为什么人们如此热衷于为较低的性能支付 5 倍的费用 Hetzner 在欧洲便宜又可靠,如果你在北美,可以看看 OVH。尤其是他们的节省成本的替代方案 SoYouStart。您可以花费 65 美元购买 4/8 4.5ghz、64 RAM 和 NVME 驱动器 (我与 OVH 没有任何关系,我只是一个拥有近 100 台服务器的客户,这对我来说非常有用) 我还要指出,我已经老了,呵呵,我的第一份工作之一是我们在现场有一个相当大的数据中心。处理 SAN、磁带驱动器(当时是服务器的自动磁带旋转器等)是一个巨大的 PITA。打包磁带并将它们运送到另一个办公室以实现位置冗余总是很有趣 我管理的特定应用程序确实受到低 GHz 的困扰,并且内存中没有所有数据。我在 EC2 上运行了基准测试,某些在大约 5 秒内完成的报告在成本约为 10 倍的同类 EC2 实例上可能需要一分钟多的时间。该应用程序确实需要原始 CPU。是的,我们有一个相当大的工程团队,已经优化了所有查询、索引等 至于复制、备份等,我都设置好了,老实说这没什么大不了的。这是 Postgres 书中的几个简短的章节,非常简单地解释了这一切,如何配置、持续(自动)测试等 我确实同意 SAN 是一场噩梦。这就是为什么我将所有 WAL(PG 备份文件)发送到 S3(最终发送到 Glacier)。这样我就不必担心丢失这些文件,而且非常便宜 我认为存在一种误解,认为此类配置对于单个工程师来说过于复杂,无法设置,并且需要永无休止的维护。实际上,您可以在不到一周的时间内完成所有设置,并且只有在您想要升级 Postgres 时才需要维护(某些设置可能已更改)。我估计每年维护大约需要5个小时 随着我们不断改进最后一英里交付并扩大光纤接入,自助服务基础设施似乎可能变得越来越可行。云会自我蚕食吗?绝对可能 云为您提供的是能够将您的数据/工作负载置于核心位置,而无需与本地 ISP 进行特殊交易,并且具有比您可能负担得起的更大的弹性,除非您至少在多个 20 英尺的集装箱满了服务器数量 计算需求规模 httpswww.cloudflare.com/products/tunnel/ httpsgithub.com/cloudflare/cloudflared httpsdevelopers.cloudflare.com/cloudflare-one/connections.. 编辑:如果有人对自托管感兴趣,那么使用 cloudflared 就很简单。我有一台 2017 年版的 Google Pixelbook,在自定义固件上运行 Ubuntu,该固件为基于 Flask 的网站提供服务。连接到访客 WiFi 网络时,它可以在我的办公桌上充电。它的移动 PageSpeed 得分为 100/100,完全加载需要 0.8 秒 从 DO 我得到了一家可靠公司的所有好处、可扩展性、自动备份等等。我没有办法改变 Hetzner 云现在在美国有两个地点,但仍然没有美国专用服务器 - 这些将是真实的。即使他们当前的云产品本身的价格已经是主要云产品价格的 30% 左右。 和您一样,我也从租用的物理服务器运行我的服务。我以前用过Versaweb,但是他们的机器太旧了。我以前不喜欢赫兹纳,因为我听说过他们干扰你正在运行的事情的坏消息 然而,我在 12 月份转向了它们,当时我的 Versaweb 实例刚刚死掉,可能是 SSD 老化了。我现在支付 Versaweb 费用的 50%,并且我可以运行 6 个这样的 Postgres 实例 然后,人们就会想,是否值得为一项具有精美云 UI、自动升级和备份等功能的托管服务支付 700 美元或 800 美元 对于 1 人表演或小型初创公司来说,我认为不是。使用可用服务并将备份转储到 S3 或更便宜的东西会更便宜 我曾经为 A 公司工作,报酬是 B 公司对完全相同的服务收取的费用的四倍,只是因为 A 公司愿意以与我们的发票系统配合良好的方式发送季度发票。对于公司来说,到处节省几百美元通常不值得引入任何额外的摩擦。 那里有一个隐性成本。如果只有其中一两个,只需使用托管服务 如果您开始扩展,请聘请管理员类型的员工以节省费用 否则,我必须雇用/签约经验丰富的人,或者投入整整一个月或更多的时间(这是不可用的),只是为了 100% 确定我们总是可以快速恢复记录的 PITR 备份 我可以在其他地方节省大量的云成本,但可靠的托管 PostgreSQL 是一个非常简单的选择(即使入门级的价格标签比您预期的要高) 一家早期的初创公司如果不能承受损失一个小时的生产数据,那么它可能太脆弱而无法生存。 这是一个早期的启动 - 将会出现比服务更大的中断,并且任何在生产数据丢失一小时后逃离的客户无论如何都没有足够重视该产品 (在我正在考虑的特定启动中,我已经有一些很好的自动化频繁 DB-online 转储到 S3,并强制保留,但我认为这对于这个特定场景来说不够好。但不确定我们是否可以恢复PITR/日记将为企业的成功添加新的单点故障赌博,否则企业可能会在几年/几年内退出超过 9 位数,只是为了节省几百美元。) 此外,我认为一些早期初创公司的需求要求不高,但对客户/用户数据的义务却很傲慢,但仍然忽视了最低限度的基本实践 也许有一种直观的欣赏方式:想象一下 HN 上的一篇商业新闻报道,关于一些初创公司运营失败,附有初创公司创始人的名字,故事说,结果证明他们没有良好的备份,然后其中一个联合创始人可能睡得不多,因为他们的公司正在崩溃,他们回答说“客户数据在早期初创公司中并不那么重要;如果是的话,我们就太脆弱了”(在联合创始人扔掉那个人的笔记本电脑之前输入)穿过房间阻止他们打字)。看起来不会很好看 我会在最后解决这个问题 >想象一下 HN 上的商业新闻报道,关于一些初创公司运营失败,附有初创公司创始人的名字,故事说,结果证明他们没有良好的备份 ITYM 结果发现他们没有备份最后一小时的数据 我可以想象你场景中的一切,甚至是未剪断的部分,这一切看起来都很正常,除非你读到“我们的初创客户,他们已经使用我们一个月了,当我们丢失最后一小时的数据时,他们都立即离开了” 我实在无法想象那个场景 现在,当然,有些企业使用它的好处是甚至不会丢失一个小时的数据 IOW,客户使用它是因为它不会丢失任何数据:例如在线文档协作[1][2]。如果您遇到崩溃,丢失了最后输入的一个小时的数据,那么当然,预计所有受影响的当前用户都会立即逃离 [1] 虽然,就我个人而言,我会在编辑时通过在本地存储中复制当前文档来降低风险 [2] 也许证券交易所也需要系统保留最后一小时的数据?还有什么? 我认为即使对于较大的团队来说,假设您有能力做好这件事,自己管理数据库也可能是有意义的。托管服务可能会出现很多问题,并且它们不会像块存储或对象存储等那样隐藏底层实现 峰值性能肯定更差 - 但如果某些事情需要更长的时间运行,我也不会太担心。您在配置服务器时拥有尽可能多的自动化当然是正确的,这是我在物理服务器上没有做的事情 我曾经为我的宠物项目拥有一个根服务器,但老实说,这没有意义。我没有在我的机器上运行高流量、计算密集型的 SaaS。这只是一个静态网站和一些项目。我的每月费用降至 24,其中包括一个 1 TB 的存储盒来存储我的所有数据 在任何涉及实际硬件的场景中,主要问题是您需要既精通硬件又精通 Linux/UNIX 系统的人员。许多人声称自己的简历上有这些内容,但后来却无法在工作中表现出来(无论如何,根据我的经验)。在我看来,云世界爆发的主要原因之一正是构建这样的团队的难度和财务成本。此外,应用程序开发人员和系统人员之间存在某种自然(且必要)的摩擦。系统人员应该始终反对并主张更高的安全性、更多的流程和更少的部署。开发团队应该始终主张更大的灵活性、更多的版本和更少的流程。良好的管理应该走在两者之间的中间道路。不幸的是,无能的管理者往往只是决定解雇系统人员并将其转移到 AWS 领域 最后,我想指出的是,云架构对地球不利,因为它需要云提供商的过度配置,并且由于存在多层抽象,总体上需要更多的计算机能力。虽然任何项目都不会对这种浪费负责,但整个全球云作为一个整体是非常浪费的。这让我很困扰,显然我的观点中可能存在情感偏见(上述所有内容都含有大量的盐) 可以提出的论点是,您可以开发一种在收入前租用物理服务器的方法,然后,在有意义的情况下,您可以使用标准折旧 - 或 - 第 179 条直接购买和/或第 179 条租赁 例如,您可以在不同的托管设施中部署一组功能极其强大的设备(假设有四台完全超额配置的 10 万美元物理 1U 机器)以实现冗余。这里有各种使用 XYZ 云服务、DNS、任播进行负载平衡和故障转移的技巧,无论您想要什么。您可以使用在世界各地运营数据中心的各种托管设施,将硬件从供应商运送给他们,然后为它们提供 Ansible 或任何您喜欢的东西,而无需看到设施或接触硬件 因此,现在您拥有冗余的物理硬件,绝对可以围绕大多数云提供商运行(尤其是 I/O),固定成本就像您可以使用的带宽(没有云服务的 800% 标记等) - 不再需要等待不可避免的 5 万美元云账单,或者试图(惊慌地)追踪导致您在一天而不是一个月内超出配置的云预算的原因。哦,顺便说一句,您不会将自己锁定在愚蠢的专有 API 中来配置甚至使用 $BIGCLOUD 提供的虚拟机以外的服务 如果您正在进行任何机器学习,您可以在自己的硬件或(或偶尔的云)上进行训练,并使用 NVIDIA A10 等设备 24/7 运行推理。 GPU 实例的持续云租赁费用高得令人难以置信,而且购买硬件的投资回报率通常在几个月内(或者根据第 179 条规定,几乎立即就能获得投资回报)​​。举个例子,我最近使用 Nvidia A10 对我们正在服务的模型进行了基准测试,它可以在 FP32 中每秒执行超过 700 个推理请求,延迟低于 10 毫秒。在四个运行状况良好的实例中,每个机箱有一个 A10,即 2800 个请求/秒(并且可能可以进一步调整) 然后,如果你真的很大,你可以开始购买橱柜和其他东西。就提到的硬件故障而言,我只能说是双PS RAID-ed,等等硬件(根据我的经验)非常可靠。过去有多个完整的硬件柜,硬件故障很少见,硬件故障也很少。供应商将提供令人难以置信的 SLA 来进行替换。您通知他们失败,他们会派技术人员过来< 八小时直接到主机并更换磁盘、PS等灯闪烁 我的经验是,一个(好的)FTE 资源可以轻松管理多达多个机柜规模的任务。就您的观点而言,当前的问题是,其中许多人已被大型云提供商抢走,并(在市场上)被可以导航到使用数十(如果不是更多)产品/服务的资源所取代。大云 我还发现这个配置实际上比大多数 $BIGCLOUD 更可靠。不再想知道他们甚至不会承认(并且您完全无法控制)的 $BIGCLOUD 中断发生了什么。来自电信和医疗保健行业的背景让我感到非常困惑,云提供商的正常运行时间实际上变得更糟了。通常你可以告诉客户“哦,互联网今天遇到了问题”,因为他们可能会看到有关它的头条新闻,但对于许多应用程序来说,这是完全不可接受的 - 我们应该期待更好 [0] - httpswww.section179.org/section_179_deduction/ [1] = httpswww.section179.org/section_179_leases/ 如果我想启动一个新项目或尝试托管新项目,需要几分钟时间,而且我已经获得了脚本。部署速度快,维护成本低,而且物超所值 对于任何感兴趣的人来说,这是我正在使用的粗略内容: * 能够管理一切 * 一些 DNS 条目的一小部分 terraform,我可能有一天会替换它们 * Restic用于备份,再次由ansible控制 *用于VPN的tailscale(我家里有一些圆周率运行,没什么大不了的,但tailscale让它变得简单和安全) * docker-compose 几乎可以处理所有其他事情 主要应用程序是 Clojure,所以我运行本机 JVM。数据库是完全分布式的,RethinkDB,现在正致力于迁移到 FoundationDB 重要的是不要手动管理任何事情,例如像对待任何其他云服务器一样对待物理服务器。无论是物理的还是虚拟的都不重要 我见过很多经验不足的人为 hetzner 和类似的产品支付过高的费用,而 5-10 美元的 vps 就可以了 是的,此时您正在支持自己的硬件。不,这不是一个很大的头痛 最大的额外成本是租用更多的 IPv4 地址,Hetzner 目前收取的费用很高,因为可用的地址太少了 无论您创建什么,都将从 0 个用户开始,而对于您将获得的 0 负载来说,整个真机完全是多余的。您将 VPS 升级为一对真实机器,然后升级为小型租用集群,然后升级为数据中心(如果有人不削弱该集群)。所有这些都具有可预测的账单和最高的价格性能 你在托管中心拥有的任何东西每月也会增加。当我有可以支付静态 IP 的连接时,通常是每月 5 美元 我现在租用一台相当低端的服务器,但价格是 30 美元/月。我需要的一切都多了,但它很好。他们并没有放弃对我的操作系统的支持,同时提高价格以改善支持或其他什么。 (虽然我确实有一些最初不稳定的硬件需要更换) 正如您所指出的,裸机是最佳选择。与云相反——开始时需要更多工作,但最终的费用会少很多 更多信息 httpseuropa.eu/youreurope/business/taxation/vat/cross-bor.. 设置和管理 Postgres 是一件痛苦的事情。如果有一个更简单的方法来解决这个问题就好了 1. 强制配置可重现,因为虚拟机将会停机 2.您可以在AWS上获得大幅折扣,减少痛苦 3.一旦你的东西已经在云中,你就可以在虚拟机上访问其他东西,这些东西会更便宜/更快 4. 拥有记录的系统配置(例如 AWS 文档)比培训人员/记录您内部拥有的特殊内容更容易。在雇用新人时特别有用 5.您不需要场地或冗余电源/互联网/等。足以让人们运行他们的笔记本电脑 我之前使用过 VPS,但后来停止并切换到物理 VPS,因为这是一个更好的交易,而且我们没有遇到 CPU 限制 不过,磁盘监控并不是太难。对于硬盘驱动器,每小时运行一次 smartctl,当重新分配或挂起的扇区快速增长或达到 100 时发出警报。对于 SSD,请祈祷;根据我对数千人的经验,他们往往工作得很好,直到他们从公共汽车上消失,再也见不到。制定数据恢复计划,不涉及将数据存储到具有非常相似的开机时间的相同型号设备上 开机时间相关的固件错误是真实存在的 毕竟,Hetzner 有一个用于订购专用服务器的 API,以及一个用于安装操作系统的 API(或用于重新启动以救援和刷新您想要的任何映像) 我想,如果我正在研究商业选项,我会在办公室使用商业 ISP 解决方案、静态 IP、良好的 IT 硬件对“主干”进行排序,但据我目前所知,如果客户需要托管,我'd 总是直接去租一个 vps 当时我更像是一名初级开发人员,所以也许我是,但我一点也不怀念它。理论上我同意你的说法,但是将 Dockerfile 部署到 Google Cloud Run 之类的东西要容易得多。是的,我支付的费用超出了我管理自己的 VPS 的费用,但我认为这足以抵消节省的开发时间 - 物理硬件有问题,例如风扇故障 ->我的虚拟机实时迁移到其他主机,我没有注意到或关心 - 物理硬件爆炸 ->我的虚拟机在不同的主机上重新启动,我可能会注意到,但我不在乎 使用虚拟机进行灾难规划要容易得多(即使是宠物而不是牛) 对于初学者来说,最便宜的就可以完成工作 我确信随着云计算的发展,这些产品将变得更加普遍 云计算还有另一个方面。大中型企业在计算成本时将云计算视为个位数百分比。这意味着经理和团队做出的决策通常会寻求可靠性和可扩展性(放在他们的演示文稿中),而不是“我的设置昂贵还是便宜” 我的雇主将云视为一种商业/金融游戏,而不是宗教游戏。我们经常在云中部署新的构建,并在适当的情况下迁移到数据中心 本地应用程序的成本降低了约 40%。在云中更具成本效益的应用程序会留在云中 我认为 AWS/GCP/Azure 在欧洲并不是非常具有成本竞争力的产品。我没有看到美国的证据 对于相同的规格,当然可以。我认为虚拟技术在两端都有意义 - 要么大 N 的动态可扩展性很重要,要么您实际上只需要物理盒子的一小部分。支付 45/月 的费用来购买 5/月运行 find 的东西也是不明智的,并且为您提供了更大的灵活性,让您不必为了使用服务器而将东西组合在一起 无论如何都要保留备份。最好在另一个提供商上或至少在不同的物理位置。当然,还要测试它们 如果您正在管理良好的备份制度,并无论如何监控您的数据/应用程序,那么监控驱动器是否会带来额外的困难? -- [1] 事实上,如果您将恢复过程自动化到另一个位置(我在几个位中这样做),那么您只需点击该按钮并在完成后更新 DNS,并且可能分配更多的 RAM+ 核心(我的测试镜像比实时虚拟机小,因为它们不需要服务实际使用模式) 这正是我为自己和我的客户所做的。节省大量资金 即使我确实想更新,也只需将最新版本拉入 docker-compose 模板并重新运行 ansible playbook 即可。显然,如果升级需要更多,那就这样吧,但这与任何其他设置工作方式没有什么不同 也许我唯一需要手动做的事情就是测试我的备份。但我为每个项目都有一个脚本来执行此操作,因此我只需打开 SSH,运行单行代码,检查结果即可完成。我大约每月这样做一次,但如果备份失败我也会收到电子邮件 所以根本就没有时间。如果我半定期更新,通常每月可能需要 1-2 小时。但这将随着您托管和管理的事物的增多而扩展 换句话说,唯一的区别是 ansible inventory 文件来自哪里。它要么是 IP 的静态列表,要么来自 terraform 如果你想要 ECC RAM,似乎是 60/月,并且还可以升级到更强大的 8 核 CPU 无论如何,如果我们谈论的是“完整的生产环境和重复的临时/备用环境”(引用您回复的人的话),那么与任何初创公司的 AWS 相比,60/月 *(2 或 3)仍然非常便宜我见过的账单 使用案例各不相同,但我倾向于同意 AWS/GCP/Azure 并不是所有问题的答案 对于能够将应用程序安装到 4 美元 VPS 上的人来说,这显然比任何裸机都便宜,但在许多情况下,云的扩展成本非常昂贵。裸机也不是所有问题的答案,但业内很多人似乎并没有意识到它何时可以成为正确的答案。