【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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

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

关注

评论

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

深度学习keras像搭积木般构建神经网络模型

AI_robot

Mac openssl 未找到/加载失败问题处理

潮湿了我押韵的心情

SQL 自连接的魅力

披头

JVM技术专题-逃逸分析介绍

洛神灬殇

Java JVM

基于 docker 部署 jenkins(二)

李日盛

简单架构图

李朋

架构 架构图

寻找音乐API接入正版音乐曲库?了解HIFIVE音乐开放平台!

HIFIVE音加加

音乐api 正版曲库 音乐sdk

区块链农产品溯源--保护舌尖上的安全

13530558032

阿里巴巴研究员叔同:云原生是企业数字创新的最短路径

阿里巴巴云原生

云计算 容器 微服务 开发者 云原生

Linux后端服务器网络编程之线程模型丨reactor模型详解

Linux服务器开发

reactor 后端 网络编程 Linux服务器开发 网络io

芯翌科技:技术理想主义的务实之旅

朋湖网

springboot+redis+rabbitmq实现模拟秒杀系统(附带docker安装mysql,rabbitmq,redis教程)

yk

redis Docker 高并发 RabbitMQ

Apache IceBerg表规范(最全版)(翻译者:聚变)

聚变

大数据 hive 数据湖 iceberg 聚变归来

教育部:探索推动区块链技术在招生考试、学历认证等领域的应用

CECBC

教育管理

iOS开发:git上传代码到开源中国的步骤,以及pod的更新方法

花花

ios

阿里巴巴研究员叔同:云原生是企业数字创新的最短路径

阿里巴巴中间件

云计算 Serverless 容器 云原生 Faas

面对不可避免的故障,我们造了一个“上帝视角”的控制台

阿里巴巴云原生

容器 微服务 云原生 监控 应用服务中间件

区块链和物联网如何实现万物互联?

CECBC

区块链

tensorflow实现深度卷积生成对抗网络(DCGAN)生成手写数字图片

AI_robot

访问管理未来的四大趋势

龙归科技

网络安全 身份和访问管理

gorm mysql表关联的一个例子

werben

pandas apply 应用套路详解

披头

数字化浪潮下,“坐不住”的豪车品牌如何破局?

脑极体

专访孙立坚:印度经济发展实力几何 ?

了了Vita

keras深度学习框架

AI_robot

有道云笔记新版编辑器架构设计(上)

有道技术团队

架构 大前端

大厂面试必问!2021新一波程序员跳槽季,附大厂真题面经

欢喜学安卓

android 程序员 面试 移动开发

ndk开发前景,某大厂开发者对于Android多线程的总结,系列篇

欢喜学安卓

android 程序员 面试 移动开发

【OpenYurt 深度解析】边缘网关缓存能力的优雅实现

阿里巴巴云原生

容器 云原生 k8s 边缘计算 Go 语言

一个提高领导力的极简工具

石云升

领导力 28天写作 职场经验 管理经验 3月日更

区块链落地应用瞄向海洋生态可持续场景,来看Trace Protocol如何改变人们生活?

CECBC

渔民

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