写点什么

Autodesk 无服务器微服务架构样例

  • 2016-08-23
  • 本文字数:1049 字

    阅读完需:约 3 分钟

在题为“什么比微服务更好?无服务器微服务”的网络直播中,Alan Williams(Autodesk)、Asha Chakrabarty(Amazon)和 Alan Ho(Apigee)讨论了一个无服务器微服务的架构。其中,该微服务的构建使用了 AWS lambda 函数和运行在 AWS 上的 Apigee 端点。

据 Chakrabarty 介绍,无服务器是一种相对比较新的架构风格,其中的计算单元不是虚拟机,而是一个封装了待执行代码(事件触发)的函数。Williams 指出,无状态计算模型的主要特点是:“代码为主(code focused)”、没有需要管理的服务器、没有需要配置和管理的 EC2 实例、无需人工扩展、没有空闲资源、没有 SSH 或 RDP。

下图简单地描述了一个由 Autodesk 实现的无服务器微服务的架构(点击查看大图):

该微服务有多个入口点作为 HTTP 端点(由 Apigee 管理)暴露。用户发起一个 HTTP 调用,并不知道其请求会由一个无服务器微服务提供服务。该服务由多个 Python 编写的 lambda 函数组成,这些函数之间通过 AWS SNS 异步通知进行通信。Lambda 函数是相互独立的,可以使用不同的语言开发,可以由不同的团队维护。

由于 lambda 不是短期的,所以它们需要将状态在某个地方持久化,其中一个选择是使用 DynamoDB 表。这些表的访问通过 IAM 角色控制,并且仅限于那些需要对它们进行读 / 写访问的函数。这可以避免将不需要的数据暴露给某个 lambda 函数,如果存在安全漏洞的话,这还可以缩小微服务的攻击面。Autodesk 之所以选择使用 DynamoDB 存储状态,是因为它简单,可以将数据作为 JSON 传递,不需要管理一个服务器实例,并且支持自动向上扩展。

上图底部的 DynamoDB 表(talr-taskstatus)将来自多个 lambda 函数的状态持久化,并在表被修改时产生流式事件。这些事件由另一个 lambda 函数监控(talr-validator),它会在必要时采取行动。

对于在 AWS 上实现一个无服务器架构,Williams 列举了如下好处。

  • 敏捷性:只需数周就可以实现。
  • 不需要管理基础设施,无需 EC2 或 ELB 实例,不需要打安全补丁。
  • 开发人员只需专注于他们编写的代码。
  • 通过无服务器框架管理代码的能力。
  • 成本。根据他们的经验,运行 lambda 解决方案的成本只是传统云解决方案的一小部分(约 1%)。由于不需要雇佣运维人员配置和监控 EC2 和 ELB 实例,所以成本还会进一步降低。

Williams 还提到,无服务器架构不适合运行长期工作负载或者第三方应用程序。在那些情况下,他认为容器更合适。

本次直播还展示了如何在 AWS 上通过无服务器框架组织代码、部署和运行演示程序。

查看英文原文: A Sample Serverless Microservice Architecture from Autodesk

2016-08-23 19:003047
用户头像

发布了 1008 篇内容, 共 448.2 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

【架构实战营】模块九作业

liu🍊

毕业设计

Geek_cb2b43

记中山公园全马--一场无准备的马

wood

跑步 300天创作

电商秒杀系统设计

天天向上

架构实战营

一文带你快速了解 Java 线上问题快速诊断神器 Arthas

zuozewei

性能测试 Java性能 性能分析 Arthas 1月月更

一条 Git 命令减少了一般存储空间,我的服务器在偷着笑

沉默王二

云原生训练营 毕业总结

张大彪

云原生

特聘专家朱嘉明:2022,数字经济迈入历史新阶段

CECBC

物联网场景中灵活实施对设备的控制管理

亚马逊云科技 (Amazon Web Services)

loT

5Why根因分析法:通过好问题引出一个好答案

石云升

1月月更 分析方法

架构实战营-毕业设计

21°Char

hw9-毕业项目设计

WWH

架构实战营

为什么您的企业需要移动CRM系统

低代码小观

移动 CRM CRM系统 客户关系管理系统 企业管理工具

Three.js 入门指南

devpoint

WebGL 3D渲染 three.js 1月月更

物联网场景中灵活实施对设备的控制管理

亚马逊云科技 (Amazon Web Services)

loT

设计电商秒杀系统

Steven

架构实战营

ReactNative进阶(十九):React Native 按钮 Touchable 系列组件使用详解

No Silver Bullet

​React Native 1月月更 Touchable

Go 语言快速入门指南:Go 指针

宇宙之一粟

指针 Go 语言 1月月更

模块五

Only

架构实战营 「架构实战营」

架构训练营 毕业设计

吴霏

架构训练营 「架构实战营」

zip文件自动打包

你?

设计电商秒杀系统

Mars

架构实战营 「架构实战营」

架构实战营 第 4 期 模块五作业

架构实战营 模块五 「架构实战营」

Hoo虎符研究院 | 投资前沿——过去一周顶级投资机构动向

区块链前沿News

虎符 Hoo 虎符交易所 区块链投资

低代码实现探索(二十一)微流动作返回值类型

零道云-混合式低代码平台

低代码实现探索(二十)功能的路径

零道云-混合式低代码平台

架构实战营模块九作业

孙志强

架构实战营

基于Mysql,ssm食材采购系统

叫练

ssm 餐厅采购

手把手教程|通过部署 Apache Superset 实现 Amazon S3 的数据可视化

亚马逊云科技 (Amazon Web Services)

analytics

架构实战营-毕业设计

瓜子葫芦侠

「架构实战营」

当使用Vue2+Babel时,如何实现组件重新渲染

吴脑的键客

Vue babel

Autodesk无服务器微服务架构样例_架构_Abel Avram_InfoQ精选文章