我们只需4/30即可调整Futureestack注册。条款和条件适用。 现在注册

在构建无服务器Web应用程序之前,您需要知道什么

7分钟阅读

无服务器的Web应用程序是云工程空间中最讨论的趋势之一,并且已经引入以来AWS lambda.返回2014年。今天,无服务体系结构赋予团队,以提高客户面向客户的应用和关键工作负载的敏捷性,可扩展性和效率。

当然,无要的Web应用程序仍在服务器上运行,但服务器管理的许多方面都是AWS责任。您可以专注于您的应用程序代码,忘记暂停的任务,如提供配置,配置和维护服务器。

对于研究小型和大型应用程序的Devops团队,无操作系统提供了大量的承诺 - 但您如何利用这种实际潜力?

在构建第一个无服务器的Web应用程序之前,这里有六件事。

1.确保您已准备好不必要

在您踏上第一个旅程之前,请考虑您的经验。无服务器的工具可能很容易到达“Hello World”,但它们不是针对初学者的目标,如果您已经在比例下处理了生产Web应用程序,部署和监控工具将更有意义。

您在自托管服务中努力的时间越长,您将越令人愉快地找到进入无服务器的过程。也就是说,如果您非常依赖于Bash脚本或直接操纵服务器环境的工具,您将确保您准备采用无状态,仅用于管理新服务的云模型。

2.从一开始就计划可观察性

在开始创建第一个Web应用程序之前,可观察性计划。决定你会记录什么以及如何。你会跟踪什么样的指标?你会在哪里发送这些指标?您将使用什么样的指标工具?

对于无服务器采用的早期阶段,人们对他们所做的事情感到善意,这一切都太常见,但完全不确定他们的系统内部发生了什么。

想象一下你是厨师。你只是煮熟了一个辉煌的披萨,但花了太久了。您的客户已厌倦了。因此,您需要加快披萨的生产。但是,你怎么能这样做,而不知道过程中的每个阶段都花了多长时间?

也许你可以更快地焚烧奶酪或炖西红柿酱较短的时间。你能烘烤它的几分钟少,或者这个阶段已经完全优化了吗?

正确的可观察性平台- 像新的遗物一样自动化一大吨仪器的仪器 - 可以给你这种洞察力。新遗物可以帮助你监视器在单一体验中,可视化,故障排除和警报您的无服务功能。

每个Lambda功能都涉及大量配置

务必允许Lambda和API网关配置的足够时间。您需要通过以下功能完成以下任务:

  • 上传代码
  • 配置功能
  • 创建API端点(例如,标识它必须服从的HTTP方法)
  • 为函数创建IAM安全角色
  • 设置HTTP请求(例如,如何接收请求中所涉及的变量并转换为lambda函数参数)
  • 配置HTTP响应(例如,返回变量如何传递给呼叫者并转换为HTTP格式)
  • 创建暂存端点
  • 部署API.

映射项目时间表时,必须考虑所涉及的每个函数所需的配置时间。虽然这似乎是一种令人沮丧的长过程,但请记住,Lambda功能是纳米服务 - 配置是部署过程的嵌入式部分。更重要的是,该架构使事情超级易于操作。

4.最小的文件可能需要侦探工作

第一次创建无服务器Web应用程序时,您可能会惊讶于一般的文档。错误消息较少描述性和更多的密码,并且有了如此多的配置选项可用,故障排除可能是具有挑战性和耗时的。

在某些情况下,通过缺乏社区支持,诊断问题的尝试更加困难。在上行程序上,由于无服务器架构获得了流行,文档和社区知识将成熟。

5.在确定申请结构时,您需要找到合适的余额

在构建第一个无服务器的Web应用程序时,您可能会面临的一个挑战是设计结构的方式。在无服务器击中市场之前,功能存在于具有呼叫堆栈和集体内存的大型凝聚力应用中。另一方面,无服务器,Web应用程序的出版缺乏发布,预定的设计架构。

使用AWS Lambda时,您基本上在没有更高级别的应用程序的情况下部署一个单一函数。共享功能和常见配置设置 - 您认为授予的那些东西 - 不再是。怎么办?

一种解决方案是将应用程序中的每个功能作为Lambda函数 - 一种纳米级纳秒的极端版本​​。然而,在实践中,这可能被证明是非常噩梦。您将面临大量的配置工作。部署工具如无务框架或者堆积物如果要为每个单个API路由部署Lambda,则是必须的。

另一种选择是部署Lambda函数,该函数与整个应用程序的控制器类似,利用参数值正确处理请求。虽然这种方法确实纠正了共享代码问题,但它创建了一个自己的一个:复杂性。对于控制器功能来说,它只需要一段时间膨胀并难以管理。

根据您的Web应用程序的性质,您可能希望在两者之间的某个地方落地。

6.创建开发工作流程

无服务器Web应用程序的开发工作流程与您的库存标准项目急外不同。您没有本地开发环境 - 所有在基于云的组件上运行。此外,虽然每个功能在凝聚性应用程序的更广泛的上下文中存在,但是分离出隔离每个Lambda函数的配置和部署。

功能需要访问共享代码,但没有一定尺寸适合的方式分享它。

为了克服这些挑战,您需要创建一个有效的开发工作流程,即团队中的每个人都知道,了解,并且批判性地,遵循。它可能需要一些实验,但一旦你有一个框架,无法量是值得的最初的努力。

你想上看无服务吗?

在阿森纳的正确知识和工具中,无服务员的成功不仅可能,而且也是非常有益的。我们的AWS Lambda监控解决方案提供对托管服务数据的关键洞察力,为您提供无服务器应用程序的全面视图。

凭借这一统一的可视性,进入无服务器应用程序最详细的行为,您可以在无服务器架构上提供信心。

了解有关你的方式功能更快,新的遗物无法无手为AWS Lambda,并免费注册。