【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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:002391
用户头像

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

关注

评论

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

毕设-电商秒杀系统

曾竞超

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

设计一款照片一键加水印的小工具

DS小龙哥

3月月更

毕业总结

AUV

「架构实战营」

架构实训营模块一作业

michael

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

Prometheus 监控系统

yuexin_tech

Prometheus

设计电商秒杀系统

AUV

「架构实战营」

《给新中产的理财课》之定投学习笔记(23/100)

hackstoic

投资理财

拆分电商平台为微服务

smile

Flink对接kafka

云原生

flink kafka 流计算 实时计算

架构实战营四期-毕业设计

木几丶

「架构实战营」

对校招生做 Offer 选择的一点心得

踏雪痕

offer 3月程序媛福利 3月月更

架构实战营四期-毕业总结

木几丶

「架构实战营」

架构实战营

踩着太阳看日出

【51单片机】矩阵键盘

謓泽

3月月更

模块六

Geek_28cf33

架构训练营-作业六

默光

架构训练营5期 电商小程序

模块一作业

Dean.Zhang

架构实战营

Centos7安装单机版Redis

云原生

redis Redis 数据结构

架构实战营 模块九

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

模块九毕业设计

沈益飞

架构训练营 架构训练营4

到底为什么不建议使用SELECT *?

蝉沐风

MySQL

关于DDD的一些思考

meacial

DDD 架构设计 领域模型

PHP session反序列化漏洞原理解析

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

毕业总结

圈圈gor

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

解决QT编译Android程序不支持openssl问题

DS小龙哥

3月月更

毕业设计 - 电商秒杀系统

圈圈gor

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

kratos 微服务框架商城实战初识 kratos

Aliliin

Go Kratos

电商系统微服务架构拆分

李大虾

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

模块六作业-拆分电商系统为微服务

卡西毛豆静爸

「架构实战营」

架构实战营毕业总结

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

架构训练营毕业总结

沈益飞

架构训练营 架构师训练营 4 期

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