2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

技术实践干货 | 初探大规模 GBDT 训练

观远数据

人工智能 机器学习

怎样实现文档协同?

Baklib

一篇文章带你走进pycharm的世界----别再问我pycharm的安装和环境配置了!!!

是Dream呀

Python 后端 pycharm 编译器 环境

React Context

程序员海军

7月月更

数据管理的重点

奔向架构师

数据管理 7月月更

如何对话CIO/CTO

凌云Cloud

销售 企业管理系统 CIO To B业务

如何让个性化推荐即刻触达?云原生数据库GaussDB(for Redis)来助力

华为云开发者联盟

数据库 云原生 后端

小程序容器技术超有料,可以让移动研发效率大幅提升

Speedoooo

跨端开发 降本增效 研发效率 小程序容器

字节跳动Java研发面试99题(含答案):JVM+Spring+MySQL+线程池+锁

程序知音

Java 字节 程序员面试 后端技术 八股文

一种比读写锁更快的锁,还不赶紧认识一下

华为云开发者联盟

高并发 开发 ReadWriteLock StampedLock

低代码实现探索(四十五)业务参数

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

java零基础入门-如何统计字符串中每个字符的出现次数?

喵手

Java 7月月更

mysql 最大建议行数2000w,靠谱吗?

京东科技开发者

MySQL 数据库

一篇搞定Redis中的BigKey问题

知识浅谈

redis 底层原理 7月月更 签约计划第三季

一篇文章读懂人工神经网络

天狼

人工智能 神经网络 算法 ann

深度 | 自动驾驶数据服务进入2.0时代

澳鹏Appen

人工智能 自动驾驶 计算机视觉 智能驾驶 激光雷达

Starfish Os X MetaBell战略合作,元宇宙商业生态更进一步

小哈区块

面试官:4年经验没碰过Nginx? Nginx入门,图文超详细

LoneWalker、

nginx

Java之路必读与知识点分析

魏铁锤

8000字讲透OBSA原理与应用实践

华为云开发者联盟

后端 OBS 运价计算 OBSA

【图解】三次握手,四次挥手 —— 用心看这一篇就够了

攻城狮杰森

计算机网络 TCP/IP 数据传输 7月月更

如何查看蓝牙耳机的蓝牙版本

贾献华

7月月更

知识管理系统推动企业信息化发展

Baklib

如何实现一个好的知识管理系统?

Geek_da0866

带来高价值用户体验的低代码开发平台

力软低代码开发平台

AIRIOT答疑第6期|如何使用二次开发引擎?

AIRIOT

二次开发 物联网低代码平台

建筑云渲染的应用正在扩大,越来越多的行业急需可视化服务

Finovy Cloud

云渲染 GPU渲染

你的列表很卡?这4个优化能让你的列表丝般顺滑

岛上码农

flutter ios 前端 安卓 签约计划第三季

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