鲜为人知但功能强大的 AWS 服务
亚马逊云服务(AWS)在云计算领域一直处于领先地位,无论是在产品质量还是数量上。然而,正因如此,许多优秀的功能和服务可能会在众多选项中被淹没,难以被人发现。
AWS 的扩张速度惊人,即使是经验丰富的架构师也承认,他们对 AWS 的了解也可能仅限于其 20-30% 的深度。尽管更多的选择总是受欢迎的,但问题在于许多卓越的产品可能因此而被忽视。
这可能是因为这些产品的应用场景较为狭窄或具体,或者因为亚马逊并没有将推广它们列入其积极扩张计划的一部分。
本文将介绍五种这样的 AWS 产品。
你很可能从未听说过它们,而且很可能它们在未来仍然会被默默无闻地掩盖。这些产品非常实用且具有成本效益,但知晓它们的人却并不多。
Lightsail
除了成本较高之外,AWS 在小规模部署中难以发挥作用的一个原因是其复杂性。
AWS 的文档庞大且复杂,如果你能在周末完成研究并获得清晰的理解,那你绝对可以称得上是精挑细选的幸运儿。对于我们大多数人来说,AWS 意味着极其复杂的层次。仅仅是计算 AWS 服务的每月费用就足以令人头痛。因此,小规模部署通常由 DigitalOcean、Kamatera、Linode 等公司主导,这些服务允许你启动一个固定成本的实例并置之不理。
但现在,AWS 也有了自己的解决方案。
与大多数非顶级的 AWS 产品一样,Lightsail 低调地进入了亚马逊的产品清单,并未引起太多关注。它主要面向使用前面提到的 VPS 服务的开发人员,并被视为他们未来进入成熟 AWS 平台的跳板。Lightsail 具有你期望从其他提供商那里获得的所有功能:
简单、可预测的定价
Lightsail 的 VPS 起价为 512 MB RAM,每月 3.50 美元,最高可达 32 GB RAM/8 核处理器,每月 160 美元。带宽使用情况是可预测的,且非常慷慨,范围从 1TB 到 7TB,具体取决于你的计划。换句话说,如果你在 Lightsail 上每月支付 10 美元,那么你每月就只会支付 10 美元。😊
DevOps 天堂
Lightsail 还提供了许多已经成为云服务提供商标准的 DevOps 功能。无论是负载均衡器、托管数据库、对象存储,还是你喜欢的 Web 应用程序的预配置服务器(例如,你可以为 Node、Laravel 等进行一键式部署),Lightsail 都应有尽有。
完全的 AWS 访问权限
尽管 Lightsail 是一项独立的服务,但它并未完全脱离 AWS 生态系统。通过 VPC 对等互连,你可以在使用 Lightsail 的同时享受其他 AWS 服务带来的好处。
当你的需求变得更大并且你准备好应对复杂性时,Lightsail 可以无缝升级到 EC2。可以说,这就是亚马逊推出 Lightsail 的全部想法,但是有了 AWS 这样出色的服务,我不明白为什么有人会抱怨!
Neptune
我们 AWS 星系的下一个成员是 Neptune(抱歉,我无法抗拒这种相似之处!)。Neptune 是一种高可用、完全托管的图数据库。这是一个相对较新的产品,很可能仍然不为人所知,原因有两个:1)可用的 AWS 服务数量庞大;2)图数据库的应用场景具有高度选择性。
对于那些想知道的人来说,图数据库是 NoSQL 数据库的另一个子类,它以图格式存储数据。它们在实体之间存在大量关系的应用程序中表现出色,尤其是在这些关系具有不同内在价值时。一些需要图数据库的典型例子包括搜索、社交网络和推荐引擎等。
如果你正在使用(或计划使用)AWS 托管的数据库,如 Aurora、DynamoDB 等,并且你的下一个应用程序需要一个图数据库,那么 Neptune 就是你的理想选择!
Snowball
我们列表中的下一个产品是一个令人惊讶的产品——硬件产品!
亚马逊的 Snowball 是一种老式(但功能强大)的产品,当你需要处理大量数据时非常有用。
要了解这项看似奇怪的服务的用途,请考虑一下你的服务器在典型的一天中必须移动(进出)多少数据。如果你和我一样,它不太可能超过几 MB。在这种情况下,我们几乎不会考虑数据传输,因为互联网速度绰绰有余。但是,有些公司需要每小时移动几 GB 甚至每天几 PB (Petabyte) 的数据。我不清楚你如何,但如果我的任务是备份或恢复如此规模的数据,我会直接辞职!
Snowball 就是为处理这种情况而设计的。
它的工作方式如下:你需要从亚马逊订购一个 Snowball 设备,然后它会被运送给你。你将其插入你的系统,然后在夜间向其写入大量数据。完成后,你通知亚马逊,他们会取回设备,将其运回数据中心,然后将所有数据上传回你的 S3 帐户。
整个过程中最棒的部分是 Snowball 设备非常高效,支持多种协议,并且具有防篡改功能。因此,如果你一直处理非常非常大且主要用于存档的数据,不妨试试 Snowball!
Trusted Advisor
尽管名称很普通,但 Trusted Advisor 对 AWS 的广泛用户来说是一项非常宝贵的服务。
将 Trusted Advisor 视为一种工具,它可以帮助你规划新的基础设施,优化现有基础设施,或者简单地运行扫描以确保你的部署符合 AWS 的安全标准。鉴于即使是在单个服务器上执行这些操作也很困难,我想说 Trusted Advisor 是鲜为人知的 AWS 产品中隐藏的瑰宝之一。
这听起来可能有些抽象,所以让我们看一些具体的示例,了解 Trusted Advisor 如何帮助你。
EC2 优化
Trusted Advisor 可以扫描你正在运行的 EC2 实例,并报告 CPU 和网络利用率极低的情况。这将帮助你发现实际的使用模式,并通过在资源紧张时释放一些实例来节省你的 AWS 费用。如果没有 Trusted Advisor,你很难获取这些信息。
S3 安全性
因 S3 权限不当而导致的安全问题数不胜数。很多时候,公司会不小心将其 S3 存储桶公开,从而导致本应隐藏的敏感数据被暴露,并落入恶意实体手中。
理论上,修复非常简单:正确管理你的 S3 安全权限。但这很容易被忽视,尤其是在已经运行一段时间的项目中,有人意外更改了安全设置或进行了一些测试,但忘记恢复它们。使用 Trusted Advisor,此类情况将被检测到,并立即通知你。
这两个示例甚至没有触及 Trusted Advisor 可以为你提供的广泛帮助。由于许多检查都是免费的,所以我只能说,无论你的 AWS 部署级别如何,Trusted Advisor 都是必备的。
AWS X-Ray
微服务很有趣,尤其是对那些被告知微服务美好前景且无需实际编写微服务的布道者和管理者来说。但对于开发人员来说,微服务是架构和调试的噩梦。当消息从一个服务传递到另一个服务时,很难跟踪它们,而且通常无法判断为什么某些东西不起作用,或者为什么某些消息会丢失。
当涉及大量服务时,情况会变得特别糟糕。可能的交互次数足以让大脑超负荷,更不用说代码了。请看下面这张来自 StackExchange 论坛的微服务图,并想象一下你必须通过这种混乱进行跟踪的情况。
值得庆幸的是,通过 X-Ray,AWS 提供了一个工具,可以大大简化你调试微服务的方式。本质上,X-Ray 是一种服务,可以自动从你部署的每个服务中收集请求日志,按服务精简这些日志,并将其与延迟和吞吐量等其他数据相结合,从而实时呈现你系统中发生情况的信息丰富的快照。
X-Ray 适用于微服务和无服务器架构。需要注意的是,它并非在所有 AWS 产品中都可用(在撰写本文时,仅支持 Amazon EC2、Amazon EC2 Container Service (Amazon ECS)、AWS Lambda 和 AWS Elastic Beanstalk),并且目前仅支持三种编程语言/环境:Java、.NET 和 Node。这是因为 X-Ray 必须直接与你的代码交互,并且涉及到亚马逊方面的大量开发工作。
也就是说,我 100% 确信很快会支持更多语言(我个人认为 Go、Scala、Kotlin 等很快会得到支持,而解释性语言会在稍后得到支持)。
结论
在本文中,我只是想说明 AWS 不仅仅只有 EC2、ELB、RDS、S3 等服务。它不仅是基础设施,还包括 AWS 迅速展现出色的支持工具。我们之所以没有听说过这些出色的产品,是因为亚马逊没有足够的空间和预算来推广所有这些产品——截至本文撰写时,AWS 提供了近 100 种产品!
因此,你不太可能在重大活动中听到这些服务,或者找到关于它们的书籍/课程。最好的办法是订阅官方 AWS 公告,看看是否有任何新产品推出,可以使你的工作更轻松!
如果你有兴趣学习 AWS,请访问 Udemy,你将在那里找到数百个适合你需求主题的在线课程。