使用无服务器后端加快Web App迭代速度

2020 年 10 月 18 日

使用无服务器后端加快Web App迭代速度

最近,AWS 在一技术系列文章(共 3 篇)中展示了通过构建无服务器后端来加速迭代 Web 应用程序以及跟踪产品需求变化的优势。这些开发方法和架构带来了灵活性,但增加了与云供应商服务的耦合。


AWS 高级开发者布道师 James Beswick 以州立公园的“Happy Path” Web 应用程序为例,解释了这个项目的目标:


本系列介绍如何构建灵活的解决方案来适应用户需求的变化。需求可能会快速发生变化是构建现代Web应用程序所要面临的一个挑战,对于那些正在寻找适合其产品市场的新应用程序来说尤其如此。很多开发团队在一开始只构建满足一组需求的产品,但很快就发现需要构建具有不同特性的产品。


第一个版本允许终端用户上传地图和照片,在后续迭代中添加了更复杂的功能,并转向一个全新的市场——餐馆。代码可以在GitHub存储库中找到,并可以使用AWS无服务器应用程序模型,这是一种用于构建无服务器应用程序的开源框架。


API 层通过调用 Lambda 函数来完成任务,在存储层存储和获取数据,在 Amazon S3 上部署二进制文件,在 Dynamo DB 里存储元数据。业务逻辑被封装在 AWS Step 函数工作流中,Amazon CloudFront 则为最终用户提供内容。



架构总览,来源:https://aws.amazon.com/blogs/compute/using-serverless-backends-to-iterate-quickly-on-web-apps-part-1


第一篇文章介绍了如何部署应用程序、测试上传过程和架构评审。第二篇文章解释了如何使用 AWS Step 函数(一个用于排序 AWS Lambda Function 的无服务器函数编配器),以及如何部署用于调整镜像大小的自定义工作流。在第三篇(也是最后一篇)文章中,作者展示了如何引入更高级的带有自定义分支和镜像调节的工作流。系列文章以一个示例结束,该示例从最初的想法转到一个不一样的市场,并能够重用大部分逻辑。



来源:https://aws.amazon.com/blogs/compute/using-serverless-backends-to-iterate-quickly-on-web-apps-part-1


在另一篇文章中,James Beswick 在分析无服务器应用程序中的业务逻辑流时评论道:


好的无服务器应用程序具有固有的灵活性,可以在用户需求变化时更快地添加新功能。这是因为工作流的各个部分都是专门化的、松散耦合的。这有助于加快迭代开发,还有助于减少在设计发生变化时需要重写的代码数量。


虽然本系列介绍 AWS 技术并依赖于 AWS 的无服务器应用程序模式,但类似的方法可以在任何为无服务器工作流提供功能和编排的云平台上使用。例如,可以使用Azure Durable FunctionCloud Composer(这是谷歌云平台的服务,基于开源的Apache Airflow)来实现迭代。


正如 Nick Gottlieb 所建议的那样,依赖无服务器技术并将开发人员从服务器端工作中抽离出来,并不一定要将服务与云提供商绑定。对于一些开发者来说,迭代速度变慢才是他们更担心的,正如 Lumigo 的开发者布道师 Yan Cui 指出的那样:


在你忙于构建自己的云计算解决方案时,一个比你更快进入市场、迭代速度更快的竞争对手会在亚马逊把你锁在自己的王国之前就把你锁在这个市场领域之外。


原文链接


Using Serverless Backends to Iterate Quickly on Web Apps


2020 年 10 月 18 日 09:001035

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

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

面试专题-Java基础面试技术

李浩宇/Alex

架构师训练营第 1 期 - 第 9 周 - 学习总结

wgl

极客大学架构师训练营

甲方日常 56

句子

工作 随笔杂谈 日常

市值管理机器人、自动跑k线机器人开发

t13823115967

市值管理机器人 自动跑k线机器人开发

Python进阶——什么是元类?

Kaito

Python

LeetCode题解:169. 多数元素,分治,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

双指针算法和位运算&离散化和区间合并

落曦

《华为数据之道》读书笔记:第 2 章 建立企业级数据综合治理体系

方志

数据中台 数据仓库 数字化转型 数据治理

彻底搞懂 IO 底层原理

vivo互联网技术

Java Netty 服务器 语法

第一周 架构方法 作业一 「架构师训练营 3 期」

feiyun123

极客大学架构师训练营 架构方法

市值管理软件,交易平台挂单机器人,做市机器人

WX13823153201

市值管理软件

Web前端如何实现断点续传

QiyihaoLabs

Web 断点续传 upload pl

区块链应用场景有哪些?区块链应用开发

t13823115967

区块链应用场景有哪些 区块链应用开发

我是面试官,我来分享一波面经!看看我的内心OS

比伯

Java 编程 架构 面试 技术宅

面试JVM一问三不知??来看看这个

程序员的时光

JVM Java虚拟机

【薪火计划】05 - 坦诚是领导力的根基

brave heart

管理

在线K歌的发展和优势

anyRTC开发者

音视频 WebRTC RTC sdk

moon不讲武德!!!一个类加载机制给面试官说蒙了!!

moon聊技术

Java JVM 类加载 类加载器

百度的五年乌镇行旅:AI如何穿越过漫漫时光,成为世界的发展新动能?

脑极体

Appium上下文和H5测试(一)

清菡

App

About Me

翎君

android

【JAVA】List转换为array

莫问

马士兵最新2020涵盖P5—P8Java全栈架构师学习路线,跟着老师学我已拿P7Offer!

Java架构追梦

Java 学习 架构 面试 马士兵

他在滕王阁上醒来,见到智慧视觉第一城

脑极体

大厂经验:埋点数据质量之埋点验证

阿亮

埋点 数据验证

如何基于App SDK快速地开发一个IoT App?

IoT云工坊

App 物联网 sdk 智能家居

视频作品播放量低:自媒体作者如何走出新手村

石头IT视角

英特尔与南京溧水经济技术开发区共同成立智能交通研究院

intel001

MySQL如何实现万亿级数据存储?

冰河

MySQL 分布式 微服务 高可用 mycat

30分钟开发一款抓取网站图片资源的浏览器插件

徐小夕

Java chrome 前端 前端进阶 chrome扩展

架构师训练营第 1 期 - 第 9 周 - 命题作业

wgl

使用无服务器后端加快Web App迭代速度-InfoQ