如果AWS的十项服务是宝可梦(亚马逊宝可梦?)
TL;DR - 😪 唉,直接往下滚动看一些很酷的插图吧。
AWS每年都会推出新的云计算服务,目前他们已经拥有超过150种服务。你能想到还有什么其他东西的服务种类超过150种吗?🙃
我之所以敦促初学者学习云计算服务,是因为 10 年前许多功能都需要在单个服务器上的 Web 应用程序中构建,而现在则需要使用现有的云服务,这样他们的应用程序就可以扩展到数百万甚至数万亿次请求。
所以我想对你们这些即将成为全栈开发人员的后辈们说,仅仅构建一个应用程序是不够的,你们还需要云计算知识,尤其如果你们想让自己的简历脱颖而出的话。
但举例来说,DEV.to 利用云服务,使用 Angolia 进行搜索,使用 Pusher 进行实时事件处理,使用 Fastly 进行 CDN 分发。
AWS 是云服务的领头羊,大约 60% 的初创公司都在使用 AWS。初创公司之所以如此青睐 AWS,是因为 AWS 几乎涵盖了所有功能。当你融入整个 AWS 生态系统时,其各项服务之间的协同效应远胜于使用单一第三方服务,无论该第三方服务的功能多么强大。这就像你在电子游戏中集齐一套完整的盔甲,就能获得大量技能点数奖励一样。
其他云服务提供商拥有漂亮的图形用户界面,但 AWS 拥有最重要的东西:支持和文档。
AWS 提供多种认证,其中入门级的认证是认证云从业者 (Certified Cloud Practitioner)。通过这项考试的关键在于了解 AWS 各项服务的功能,而不是如何使用它们,而是能够一一列举出来。
所以我想到一个有趣的学习或了解 AWS 服务的方法,就是把 AWS 服务变成宝可梦。或许可以叫它们 Amázmons。试试大声念出来,有点难。
我已经把 40 个 AWS 服务变成了 Amázmons,目前正在制作一个 Amázmons 恶搞说唱视频(顺便说一句,订阅我的 YouTube 频道,这样你就不会错过我发布这个视频了)。
那么,经过一番介绍,以下是 10 项用宝可梦形象来表示的 AWS 服务!
X射线
借助无服务器和微服务架构,代码模块化变得更加容易,我们可以混合搭配不同的语言和功能。但缺点是,数据传递过程中会有更多组件在运行,因此很难找出问题所在。X-Rays 正是为了解决这个问题而生的,它可以追踪所有这些相互关联的服务中故障发生的时间和位置。
S3
S3(简单存储服务)通常是人们最先接触的 AWS 服务。它不仅可以用来存储文件,还可以用来托管静态网站。如果你觉得 GitHub 也能做到这一点,那我得说,S3 在静态网站托管方面要好得多。如果你用过 Dropbox,它实际上就是 S3 的图形用户界面版本。
麦茜
Macie 会持续监控 S3 存储桶的内容和访问用户,以确定是否存在任何异常情况。一个很棒的用例是,假设您将信用卡信息存储在 S3 上,但忘记对其进行加密,Macie 会检测到此问题并发出安全漏洞警告。
Lambda
AWS Lambda 是一种无服务器函数。因此,如果您只想运行一段只需运行几秒钟的代码,但又不想费心配置服务器,那么 Lambda 就非常适合。例如,ExamPro 的联系表单就是由 Lambda 函数驱动的,这使我们能够将不属于核心 Web 应用程序的代码从主代码库中分离出来。
亚马逊 Rekognition
假设你有成千上万的视频素材,需要从中读取车牌号。Rekognition 可以帮你做到这一点。我之所以提到 Rekognition,是因为我觉得它的演示看起来真的很酷。
雅典娜
Athena 可以将 JSON 或 CSV 格式的 S3 文件转换为内存表,方便您进行查询。如果您查阅 Apache Presto,就会发现 Athena 正是基于此原理开发的。因此,Athena 的一个应用场景是检测 AWS 账户中的可疑活动。另一个默认启用的 AWS 服务是 CloudTrail,它可以监控您账户中所有 AWS 服务的 API 调用。由于 CloudTrail 可以将 JSON 日志输出到 S3,您可以利用 Athena 将这些日志转换为表,并创建查询来检测例如是否有人在异常时间段从外部网络访问服务。明白我说的“协同效应”是什么意思了吧?
海王星
Neptune 是一个托管图数据库。如果你听说过 Neo4j 或查阅过相关资料,它就类似于那种类型的数据库。我只用过一个图数据库的案例,那就是存储构成食物食谱的各种食材之间的关系。
红移
当你需要存储海量数据以便日后分析时,Redshift 就是你的理想之选。我们说的是 PB 级的数据。Redshift 采用列式存储,这意味着数据是按列存储的😋 这也正是 Redshift 数据查找速度极快的原因。
CodePipline
CodePipeline 就是你的 CI/CD 工具。我们在 ExamPro 使用 CodePipeline,这样当我们执行 git push 操作时,它会自动触发我们的 Web 应用程序开始部署。我们还设置了一个测试阶段,只有当我们的测试套件通过时,才会部署更改。
EC2
在 AWS Backbone 服务推出之前,EC2 一直是 AWS 的骨干网络。EC2 类似于 Digital Ocean 或 Linode,它是一个服务器,您可以根据需要选择操作系统等。几乎所有您能想到的 AWS 服务都运行在 EC2 上。例如,当您使用 RDS 时,它实际上是在 EC2 上运行 Postgres/MySQL 服务。因此,如果您了解 EC2,就能更好地理解所有 AWS 服务。
这难道不是一种学习AWS服务的好方法吗?
文章来源:https://dev.to/exampro/ten-aws-services-if-they-were-pokemon-amazmons-16hj









