首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >35岁程序员那些事 >基于亚马逊AWS-如何快速搭建Lambda架构

基于亚马逊AWS-如何快速搭建Lambda架构

作者头像
35岁程序员那些事
发布2020-02-24 13:03:34
1.3K0
发布2020-02-24 13:03:34
举报

基于亚马逊AWS-如何快速搭建Lambda架构

在Amazon Web Services (AWS)中,Lambda是最流行的服务之一。要定义它,Lambda是一个无服务器的计算软件,它自动将您作为函数上传的任何代码上载到它。使用AWS Lambda,开发人员无需编写太多代码、启动服务器、配置服务器或为它们的运行支付费用。Lambda让节省成本和资源完成任务工作成为可能。它还允许用户编写简单的函数,然后将这些函数连接到一个请求或一个事件,在此之后,每当请求/事件发生时,Lambda都会执行该函数。此外,用户只有在代码运行时才会实行收费。

由于所有AWS服务都与其他服务集成在一起,Lambda可以使用其他几个AWS服务(包括DynamoDB、Alexa、S3等)来使用这些服务中的事件来激活用户的操作。因此Lambda是测试Amazon cloud和开发每个人都需要的东西的有效方法。

用户只需12步就可以开始使用Lambda。

步骤一:创建AWS账户

第一步是创建一个AWS帐户。许多人已经拥有了一个账户,因为他们可以使用与购物相同的亚马逊账户。一旦用户拥有了该帐户,他们就可以租用计算机并部署他们喜欢的任何东西。

步骤二:规划架构

最好不要立即开始使用Amazon中的示例编写代码。理想情况下,用户应该设想整个过程:在应用程序中创建、分析和分发数据的方式。

步骤三:选择一个Amazon数据源

这是数据存储的一个重要步骤。这对于所有应用程序都是至关重要的。一旦用户确定了数据流,他们就应该对其存储做出决定。这变得很困难,因为在Amazon中有太多的选项可用。S3存储足以存储基本的位块;对于更结构化的数据,在Amazon中可以使用Aurora、DynamoDB和其他复杂的选项来分析和组织数据。

应该考虑数据结构和用于分析相同数据结构的代码。例如,Aurora是一个支持sql的数据库,其功能类似于PostgreSQL/MySQL;用户可以使用SQL代码并直接应用它来获得高级查询和现有表格结构的好处。

步骤四:准备一个事件列表

Lambda函数由事件(如新文件的开始或用户访问网页时)提示。这个事件列表将有助于理解Lamda应用程序,并将说明它对数据和时间做了什么。

几乎所有Amazon的服务都可以创建Lambda函数。例如,它可以像调用web地址一样简单。

步骤五:看看其他AWS服务

AWS提供了许多服务来帮助用户。因此,对于用户来说,探索是否可以通过使用Amazon Run API来跳过代码编写是更可行的,这样可以使用户更快地完成工作。AWS提供分析、安全、机器学习、游戏开发和其他一些领域的服务。Lambda可以看作是所有AWS选项的链接。使用Amazon服务,可以替换管道沿途的各个站点。

步骤六:选择编程语言

Lambda直接支持几种编程语言,包括Java、Python、c#和JavaScript。如果用户需要使用任何其他编程语言中的其他一些代码,那么很有可能它可以被Java或JavaScript复制。

在用户选择一种编程语言之后,他们应该下载开发工具并熟悉demo示例。需要搞清楚的是Lambda不同于任何其他开发程序,比如Python或Java。使用Lambda,开发者将只编写一个函数,该函数功能的生命周期将很短。用户将不会体会到其他平台的灵活度。Lambda运行时将假设开发者的代码会接收一小数据包数据,然后做出决策,然后选择继续处理数据。

步骤七:搭建开发环境

用户应该为他们选择的编程语言选择合适的环境。使用流行的工具和模型,Amazon试图吸引开发人员,即使可能会有重叠。Amazon还为任何功能提供了良好的基于web的编辑器,这意味着用户不必在本地做太多工作。

步骤八:编写函数

写一个函数。该函数将使用户能够向他人调用其他函数,如库;这与编写大型应用程序没什么不同。

步骤九:打包应用

用户的Lambda应用程序有可能先于自己部署,特别是如果他们使用云开发工具的话。Amazon提供了多个级别的生产和登台,使用户能够设置一个更好的测试工作流和开发。

步骤十:意识到这些限制

当用户为他们的计算机编写软件时,可以把他们的软件看作是最终的权威。他们应该记住他们的机器是由他们的软件控制的。他们编写的lambda代码就像一个根据AWS lambda运行的客户机。因此,他们编写的函数应该知道它在AWS手中的位置或终止的风险。

对于大多数适合Lambda模型的简单任务,都有许多限制。例如,用户的函数只有300秒的响应时间,否则就会被关闭。它只能使用3008mb内存、1024个文件描述符和1024个线程。

其中大多数可能并不适用于所有用户。然而,最好是精通极限,而不是做假设。Lambda肯定会扩展用户的应用程序以帮助满足需求,但它不会以所有可行的方式对其进行扩展。

步骤十一:调试应用

最简单的调试方法可以在用户的本地机器上的开发环境中进行。它可以通过Eclipse、命令行或Visual Studio实现。这里有可能解决大多数简单的bug。

Lambda的内置日志函数可以执行更复杂的调试。Lambda的日志是监视数据流和用户代码对事件的反应的一种简单而有效的方法。

步骤十二:实践

Lambda一开始可能看起来很经济。然而,一旦用户超过第一个百万次请求和第一个400,000 GB的免费计算时间,他们必须支付一小部分美分。很难准确地预测应用程序在未来将花费多少。

对于生成事件的频率,用户可以从简单的体系结构决策中获益。例如,如果他们正在开发传感器网络,并将其应用于AWS云计算,他们就可以让这些传感器网络每秒钟或每小时呼叫一次。虽然提供几乎实时且良好的服务似乎很有吸引力,但他们应该始终牢记,第一种方法在第二种方法之前还使用了3600次调用。所以在做决定之前,他们应该考虑权衡,需求,评估计算,然后就市场所能承受的成本做出决定。

部署验收

用户可以在安装和运行代码之后放松。与许多需要持续监视和管理的web应用程序不同,Lambda自动化了大部分任务,包括检查满桌/超负荷的服务器

但是,用户仍然应该定期进行监视,以确保他们的代码正常运行并且功能正常。在它正常运行一周以上之后,他们就可以得到一个稳定的标记,知道运行它需要花费多少钱。如果成本是不可行的,那么是时候让他们探索其他的选项来简化代码的工作,从而降低成本。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 架构随笔录 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
关于作者
35岁程序员那些事
杭州独角兽企业资深技术专家
目录
  • 基于亚马逊AWS-如何快速搭建Lambda架构
    • 步骤一:创建AWS账户
      • 步骤二:规划架构
        • 步骤三:选择一个Amazon数据源
          • 步骤四:准备一个事件列表
            • 步骤五:看看其他AWS服务
              • 步骤六:选择编程语言
                • 步骤七:搭建开发环境
                  • 步骤八:编写函数
                    • 步骤九:打包应用
                      • 步骤十:意识到这些限制
                        • 步骤十一:调试应用
                          • 步骤十二:实践
                            • 部署验收
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档