使用无服务器后端加快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:00992

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

评论

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

等级三整理之深信服

Lane

Gitlab Pipeline+Supervisor 实战Python项目CI/CD

雪雷

gitlab jenkins CI/CD Supervisor

曾经每个手机上都有的游戏,作为前端如今你也能开发出来了,附教程

web前端程序猿

html5 前端 前端训练 前端教程 web前端

支付宝蜻蜓刷脸支付

诸葛小猿

支付宝 蜻蜓 刷脸支付

Guacamole实战

雪雷

guacamole 远程登录 堡垒机

GitOps工具Argo CD实战

雪雷

DevOps CI/CD gitops argo cd

RabbitMQ实践

雪雷

RabbitMQ 消息队列

Go: 使用pprof收集样本数据

陈思敏捷

go golang pprof

K8s事件监控之kube-eventer

雪雷

k8s事件告警 k8s资源监控 k8s管理

三分钟搞懂依赖注入

喵叔

Prometheus + Grafana详解

雪雷

监控 Grafana Prometheus 告警

业务容器化改造

雪雷

Docker 容器 微服务 服务化改造

mPaas-RPC拦截器各种场景下的使用指南

阿里云金融线TAM SRE专家服务团队

RPC

Kubernetes config多集群管理工具

雪雷

k8s kubecm k8s多集群管理 kubeconfig

K8s可视化监控之-Weave Scope

雪雷

k8s k8s可视化 k8s监控

Ceph集群部署

雪雷

分布式存储 Ceph rdb pvc

搜狗联合清华天工研究院推出ChoreoNet模型:让数字人随着音乐翩翩起舞

脑极体

Gitlab CI进阶之共享CI库

雪雷

DevOps gitlab CI/CD gitlab ci

Istio微服务治理笔记(一)

雪雷

istio 服务治理 server mesh

Kubernetes-学习必备(awesome-kubernetes-notes)

雪雷

k8s学习 k8s入门 k8s文档 k8s知识

玩K8S不得不会的HELM

雪雷

k8s Helm

微服务API网关-Kong详解

雪雷

kong api 网关

Java单例模式一文通

喵叔

Gitlab CI之单元测试和代码扫描

雪雷

单元测试 CI/CD gitlab ci 代码扫描

使用null条件运算符调用事件处理程序

喵叔

API统一管理平台-YApi

雪雷

YAPI API接口管理

微服务注册发现配置中心-consul

雪雷

Consul 服务注册与发现 配置中心

SonarQube集成gitlab/jenkins

雪雷

jenkins sonar gitlab ci 代码扫描

极客公园张鹏对话百度CTO王海峰,揭秘中国AI的今昔与前路

脑极体

微服务链路追踪之Jaeger

雪雷

全链路监控 Jaeger

一文带你检查Kubernetes应用是否为最佳实践

雪雷

k8s k8s最佳实践

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