Categories
程式開發

一个经典的100%无服务器架构在AWS上是什么样?


一个经典的100%无服务器架构在AWS上是什么样? 1

本文由Xavier Lefèvre发表在medium.com,经原作者授权由InfoQ中文站翻译并分享。

Lambdas如此吸引人有两个原因:自动缩放功能(扩容、减容)以及按使用量计价的模型。为了利用这些能力 ,并从无服务器架构的优势中获得最大利益 ,我们需要其他基础架构组件也具有同样的灵活性。

在一个 Web 项目中,这样的架构是怎么样的呢?

在Theodo,我们热爱无服务器架构技术,并将这项技术应用到越来越多的项目中。 今天, 一些服务和模式开始被行业广泛使用。所以,我们决定分享 Web 应用的基础架构最佳实践。如果你不了解无服务器架构,并且希望找到回答这些问题的高级指南,那么你就来对地方了!

先来看看这个简单粗暴的全文“剧透”吧!(别担心,我们将深入讲解其中各个方面)

一个经典的100%无服务器架构在AWS上是什么样? 2

在上述图表中, 方框代表的是存在于大多数无服务器架构中的典型并且明确界定的领域或技术功能。他们不一定代表微服务或CloudFormation术语中的堆栈(Stack)(我们在下文会提到) 。

我们的实践

我们的目标是拥有一个稳健且完全托管的系统,并使开发者拥有舒适的开发体验。为了实现这个目标,我们选择了:

AWS

云技术的竞争很激烈:亚马逊云服务(AWS)、谷歌云服务(GCP)、微软云服务(Azure)、IBM云服务、阿里云服务。他们都提供了一些令人惊艳的产品,并且以前所未有的速度在快速发展。 Ben Ellerby在这篇文章中比较了前三名的云服务提供商,而我们更青睐于AWS的解决方案。在无服务器架构方面,AWS是最先进的。借助AWS的解决方案,我们可以尽可能接近无服务器架构。为了说明这一点,我们将在下文中详细介绍构成我们架构模块的每个AWS服务。

原文链接:【https://www.infoq.cn/article/jN1xQLu1w39UQe3f63bq】。未经作者许可,禁止转载。