我如何使用 Render 轻松扩展我的微服务应用程序

每日分享最新,最流行的软件开发知识与最新行业趋势,希望大家能够一键三连,多多支持,跪求关注,点赞,留言。

当需要扩大/缩小规模时,时间就是金钱。看看使用 Render 扩展您的应用程序和服务是多么容易。

作为软件主管和功能开发人员,我亲眼目睹了一个团队学习了有关资源扩展和云的重要一课。剧透警 :教训是如果你不小心,缩放会变得昂贵!

该团队认为他们别无选择,只能不断增加负载较重的给定服务的实例数量。当他们完成扩展时,实例数比默认配置的实例数大几倍。他们当时没有意识到的是——尽管负载恢复到正常状态——他们的额外实例仍然存在。

每个人似乎都对这种“根据需要扩大规模”的方法没有意见……直到他们收到来自云提供商的下一张发票。

这种情况让我想到了Render,我在我的一些项目中越来越多地采用这个平台。这让我想知道使用 Render 在基于云的应用程序和服务中实现扩展是多么容易。另一个剧透警 :这很容易。

基于云的扩展的概念

您的应用程序或服务的消费者有一个共同的期望:他们的所有请求都应在合理的时间内得到处理。

同时,解决方案所有者有期望,其中包括:

  • 确保满足客户的期望
  • 将成本控制在计划预算内
  • 最大限度地减少停机时间和中断——尤其是那些与性能相关的
  • 当需求水平低于用于处理每个请求的技术的最大容量时,所有这些期望都很容易满足。当需求开始超过这些水平时,事情就会变得有趣起来。

    挑战在于找到满足预期并保持成本合理的最佳点。这就是基于云的扩展概念发挥作用的地方。通过基于云的扩展,重点是增加服务实例的数量以满足当前需求,但在需求消退时缩减。

    场景三重奏

    我们将讨论自动缩放的三个用例:

    1. 手动缩放
    2. 自动扩容
    3. 自动缩小

    让我们通过场景示例来探索每个用例。

    手动缩放

    手动缩放概念适用于对其应用程序或服务的需求有深刻理解的团队。

    例如,考虑一项与所得税相关的服务,该服务在客户填写纳税申 表时回答他们的问题。支持此服务的团队可能拥有数十年的有关使用模式的信息,使他们能够确定全年需要多少服务实例。

    掌握了这些信息后,手动缩放方法将使消费者感到满意,因为团队始终知道应该有多少实例可用。解决方案所有者很高兴,因为他们每月的支出完全在预算之内。

    当然,此信息并未考虑预期使用模式的重大变化。例如,可能发布了有关该服务的新闻稿,突然对需求产生正面或负面影响。

    自动扩展

    自动扩展方法将实例数量置于由服务所有者创建但由云提供商强制执行的预定义阈值的手中。随着超过这些阈值,实例数量将增加,直到需求下降到预期水平。大多数提供程序允许用户设置最大实例数以限制最终可以生成的实例数。

    虽然对每月预算的影响存在一些不确定性,但解决方案所有者可能会使用这样的理由,即对其服务的需求增加通常与新订阅或升级订阅有关,从而带来额外收入。

    这就是“你必须花钱才能赚钱”的概念发挥作用的地方。

    在实施自动扩展策略时,我总是建议对自动缩小策略也执行相同的操作。

    自动缩小

    自动缩减方法类似于自动扩展,只是服务数量会随着需求的减少而减少。虽然自动扩展功能可以非常快速地引入新实例,但自动缩小功能通常会延迟以避免过早缩小。

    回想一下我在介绍中提到的团队,如果他们对我提到的服务采用自动缩减,他们就不会遇到在高峰需求消退后让所有这些实例都运行良好的贴纸冲击。

    提供自动缩放的云提供商现在开始将自动缩放与自动缩放结合起来,因为这是此功能的更常见实现。

    使用渲染进行缩放

    今年我已经写过好几篇关于 Render 平台的文章。以下是我关于该主题的其他一些出版物的链接:

  • 第一次使用 Render and Go
  • 引擎盖下:渲染统一云
  • 目的驱动的微服务设计
  • 在一天内启动您的创业想法
  • 我了解到他们非常重视零 DevOps 承诺。正如人们所预料的那样,使用 Render 进行缩放很容易,并且由一个简单的用户界面驱动。

    对于以入门计划(或更高版本)运行的服务,手动缩放实例数量的能力就像在渲染仪表板的缩放菜单中滑动到所需级别一样简单:

    如果您有兴趣在 Render 中使用自动缩放,只需启用自动缩放,然后:

  • 选择实例数
  • 启用并设置目标 CPU 利用率
  • 启用并设置目标内存利用率
  • 请记住:可以将自动缩放限制为仅取决于 CPU 或内存利用率(而不是两者)。

    实施自动缩放后,渲染仪表板会在对运行的实例数量进行更改时进行通信:

    此外,还提供了指标来证明自动缩放实施的合理性:

    从计费的角度来看,成本结构的变化是基于给定月份新实例到位的时间量。这意味着,如果您在计费周期的一天内将实例数量加倍 7 小时,则该计费周期的成本不会加倍;相反,它只会在实例数量翻倍的那七个小时内翻倍。

    其他可用的集成

    使用 Render 部署的服务还可以与以下解决方案集成:

  • Datadog:将 Postgres 指标和日志流提供到 Datadog 观察平台
  • Scout APM:为基于 Ruby、PHP、Python、Node.js 和 Elixir 的服务提供应用程序性能监控 (APM)
  • 这些集成提供了洞察力,有助于在 Render 平台上运行的更大的企业级应用程序和解决方案。

    结论

    工作不到 13 年的技术人员很幸运,不必担心全球经济衰退的副作用。当今的经济学家认为,下一次衰退将很快开始,一些经济指标已经证明了这种说法是正确的。

    这意味着公司可能会更加保守地支出以维持其底线。企业的审查领域之一是云支出。

    我仍然相信基于云的产品和服务可以大大超过在专用数据中心内支持和维护类似配置的成本。也就是说,某些方面会显着影响与基于云的技术相关的定期成本:

  • 对每笔发生的费用有很好的了解
  • 了解如何以及何时扩展应用程序和服务以满足需求
  • 对于那些使用亚马逊、谷歌或微软云服务的人,像CleanSlate Technology Group这样的公司提供的服务可以帮助您解决这些问题。

    自 2021 年以来,我一直在努力遵循以下使命宣言,我认为它适用于任何技术专业人士:

    “将时间集中在提供可扩展知识产权价值的特性/功能上。为其他一切利用框架、产品和服务。”

    – J. Vester

    在我为自己的应用程序和服务使用 Render 期间,由于其零 DevOps 模型,我能够专注于强大的功能交付。对于那些希望简化其云架构的人来说,Render 提供了关键任务的可扩展性,而无需成为竞争对手采用的技术专家。

    祝你有美好的一天!

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2022年10月13日
    下一篇 2022年10月13日

    相关推荐