什么是 AWS?初学者指南。
如果您对商业或科技感兴趣,那么您肯定听说过亚马逊网络服务 (AWS)。就商业而言,AWS 的商业模式极具革命性,它通过将几乎所有基础设施托管在亚马逊数据中心,降低了其他企业的服务器成本。
对于技术,AWS 提供了许多不同的软件来帮助您作为初创企业而非企业扩展业务。
如果您不熟悉 AWS,理解它会非常困难,考虑到他们的网站上挤满了各种不同类型的服务......您会迷失方向。

本质上,AWS 为众多不同类型的公司提供服务,其所有产品都体现了其卓越的“按使用付费”定价模式。我不会逐一介绍每一项服务,因为那样我会在这里花上几个小时。我只会介绍 AWS 提供的最受欢迎的服务,并对每一项服务进行简单的解释。这样,您就可以了解 AWS 是什么,并思考 AWS 如何为您的应用程序或业务带来益处。
亚马逊 EC2
亚马逊的说法
Amazon Elastic Compute Cloud(明白“2”的含义了吗?)是一项 Web 服务,可在云端提供安全且可调整大小的计算容量。它旨在帮助开发者更轻松地进行 Web 规模的云计算。
让我们更容易理解这一点
云计算或云服务器并非新鲜事物。假设您需要将数据库或软件托管在一台机器上。过去,您可能会将其托管在某种实体机器上。根据您的业务,这种设置可能非常昂贵或风险很高。因此,像 Amazon EC2 这样的软件允许您租用更大机器的一部分,从而消除灾难风险并降低硬件成本。
这就是它的基本功能。它还附带其他一些很棒的功能,可以省去基础设施团队的管理工作。
假设我需要一台专用服务器来安装我的 WordPress。我可以使用 AWS 轻松完成,只需一键安装即可。之后,任何需要的更改,我都可以通过 SSH 连接到我的机器,获得完全访问权限。所有这些只需支付 GoDaddy 等共享主机的费用。太棒了。
亚马逊 S3
亚马逊的说法
Amazon Simple Storage Service (Amazon S3) 是一种对象存储服务,提供业界领先的可扩展性、数据可用性、安全性和性能。
让我们更容易理解这一点
Amazon S3 提供了一种非常快速可靠的存储方式。这些“内容”可以是视频、图片、文档,任何您想要的内容。您可以创建一个称为“存储桶”的东西,然后将要保存的内容存储在存储桶中。
这个例子更直接一些。假设我创建了一个应用程序,允许你上传狗狗的照片,并将它们随机发布给网站上的其他用户。首次启动应用程序时,将它们托管在你的应用程序上可能就没问题了。这些“对象”(这里指的是图像)的问题在于它们非常庞大。即使只有 10 张图片,其大小也可能超过代码库本身。如果在“国际爱犬日”那天,每个人都想分享自己家狗狗的照片,会发生什么?你的 Amazon EC2 实例内存不足。
理想的解决方案是将图片直接上传到 S3 存储桶,并将其路径保存在数据库中。这样,您就可以存储大量对象,而无需占用数据库或服务器的空间。
我最喜欢的网站之一 dev.to(你现在正在访问)上就有一个关于 Amazon S3 的非常好的例子,你可以上传一张图片,然后立即返回一个包含上传图片的 URL。这或许是 S3 工作原理最直观的例子之一。

哦,DEV.to 团队。我爱你们。
亚马逊 Aurora
亚马逊的说法
Amazon Aurora 是为云构建的与 MySQL 和 PostgreSQL 兼容的关系数据库,它将传统企业数据库的性能和可用性与开源数据库的简单性和成本效益结合在一起。
让我们更容易理解这一点
Amazon Aurora 是 MySQL 和 PostgreSQL 的托管关系数据库替代方案。如果您熟悉关系数据库的工作原理,则可以跳过此部分。对于不了解关系数据库的人来说,关系数据库是指使用关系模型存储数据的方式。简而言之,数据库被组织成包含行和列的表,类似于电子表格。这些表可以与其他表建立关系。
这里有一个很好的解释方法:
假设我想在我的宠物店存储顾客及其宠物的数据。这个例子很简单。我只需添加顾客的姓名、地址、邮箱和宠物信息即可。当然,我还想添加更多信息,比如姓名、宠物、品种等等。
我们将创建一个“客户”表,以便获取与该客户相关的所有信息。
然后,我们创建一个“宠物”表,其中包含一个“外键”列,以便将这些数据关联到该表(在本例中是客户)。这样,如果我想查找所有属于“Sally Smith”的宠物,我就能找到;如果我想统计“Sammy Salads”有多少只猫……嗯,我觉得最好还是不要去查了。
关系数据库有很多开源方法,但就像你的房间一样,管理数据库可能会变得非常混乱。Aurora 可以帮你解决托管、管理和保护数据库的所有麻烦。
亚马逊 DynamoDB
亚马逊的说法
Amazon DynamoDB 是一个键值和文档数据库,可以在任何规模下提供个位数毫秒的性能。
让我们更容易理解这一点
DynamoDB 是一个 No-SQL 数据库,可以根据传入的数据量进行扩展。No-SQL 数据库与 SQL 数据库的区别在于,它不使用 SQL,也不具备关系型数据库的特性。这样做的好处是,由于没有关系型数据库的特性,数据库可以变得非常轻量。
继续我们的狗狗数据库之类的东西,我实现了一个点赞按钮。现在,我想创建一个点赞数据库,这样我的用户就能看到他们当时点赞的帖子。我们可以用关系数据库来实现这个功能,但由于用户点赞的数量可能比他们创建的帖子多 100 倍,我认为最好使用 DynamoDB 来快速将这些数据插入数据库,这样当用户尝试创建帖子时,就不会给传统数据库带来负担。
由于它也是一个“键”:“对”系统,如果您正在开发允许接收类似 JSON 格式数据的“无服务器”应用程序,这将使其变得非常容易。DynamoDB 可以轻松在几秒钟内存储数据。您还可以获得 25GB 的免费存储空间。这可是个很大的存储空间。
亚马逊 Lambda
亚马逊的说法
*AWS Lambda 让您无需配置或管理服务器即可运行代码。*
让我们更容易理解这一点
AWS Lambda 让您无需配置或管理服务器即可运行代码...(哦,等等,这是亚马逊所说的)。
好的,所以如果你正在进行 Web 开发,你会遇到客户端和服务器端的运行问题。客户端会处理大多数 UI/UX 等事务,而服务器会管理任何需要运行的大型或私有操作。在“微服务”时代,如果你想添加一个简单的私有函数,而不必为其部署一整台服务器,会发生什么?比如:
需要 Stripe 身份验证的捐赠小部件
要发送的电子邮件
需要适量计算能力的大型计算或 API 调用。
Lambda 让您轻松实现这一点,无需部署任何内容。只需创建一个实例,插入您的 Node、Python 代码等,即可获得服务器的功能,为您返回代码结果。它的优点在于按使用量收费。您只需支付必要的费用。
这意味着您可以使用前端框架创建应用程序,而无需担心设置服务器。也许现在是尝试 JAMstack 的最佳时机 ;)。
亚马逊 Lightsail
亚马逊的说法
Lightsail 是一个易于使用的云平台,它为您提供构建应用程序或网站所需的一切,并提供经济实惠的月度套餐。无论您是云新手,还是希望使用您信赖的 AWS 基础设施快速上线,我们都能满足您的需求。
让我们更容易理解这一点
这个比其他的更直接。本质上,它把你需要的所有不同类型的应用程序(数据库、服务器等)都放在一个易于使用的容器中供你使用。
亚马逊 SageMaker
亚马逊的说法
Amazon SageMaker 为每位开发人员和数据科学家提供快速构建、训练和部署机器学习模型的能力。Amazon SageMaker 是一项完全托管的服务,涵盖整个机器学习工作流程,包括标记和准备数据、选择算法、训练模型、调整和优化部署、进行预测以及采取行动。您的模型可以更快地投入生产,并且工作量和成本更低。
让我们更容易理解这一点
这个问题需要更多背景知识。在如今“机器学习”时代,亚马逊的 SageMaker 可以完成整个流程。这意味着,对于那些拥有海量数据集并希望根据现有数据找到可操作见解的人来说,SageMaker 可以大大简化这一流程。
首先,我们需要了解机器学习的工作原理:
- 你有一个数据集(数据库、csv 文件、JSON 等),并且想要获得一些有用的信息。假设我有一个包含 1,000,000 张猫狗图像的数据集。我希望构建一个系统来识别图像是猫还是狗。
- 我们首先获取需要标记的初始数据,以便机器理解我们正在处理的内容。假设我帮助标记了 500 张狗或猫的图片。
- 利用这些信息,机器会尽力识别出它是狗还是猫。任何混淆的物体都会被重新分类,从而进一步提高机器对它是狗还是猫的理解能力。
- 现在是 2088 年。狗与猫机器现在明白了,必须消灭人类才能维持其生命周期。

现在,我的例子相当简单(而且相当可怕),但是当你是像 Intuit 这样的组织并且有时会生成数十亿个数据点时,能够从这些信息中获得结果以进一步改进你的产品或了解你的客户群是很好的。
然而,对于像我这样的文明人来说,我将致力于实现 2088 年统治世界的目标。
结论
AWS 乍一看似乎很难上手,让人不知所措,但它允许你根据自己的场景选择合适的软件。相信我,无论你身处何种境地,都可以在 AWS 上找到合适的方案。2018 年,AWS 的营收接近 260 亿美元(没错,就是 10 亿美元)。你可以随时使用他们的免费套餐体验 AWS 的生态系统。一旦你了解了部分服务,就可以开始理解其中的大部分服务,并了解如何将它们应用于你想要称霸世界的领域。
感谢阅读。如果您觉得这篇文章有价值,欢迎在这里或在 Twitter 上关注我 :)
文章来源:https://dev.to/lewismenelaws/what-is-aws-a-guide-for-beginners-p4l