Amazon 客户经常告诉我们,他们希望更多地了解我们构建和运行业务的方式。在零售方面,他们参观了 Amazon 物流中心,并了解了我们组织仓库的方式。企业客户经常询问我们的领导原则,有时候将其采纳(然后改编)以供其自用。我定期在我们的执行简报中心 (EBC) 中与客户沟通,并与他们谈论反向推动工作、PRFAQ、叙述性内容、提供标准、接受失败作为长期成功的一部分以及我们的创新文化。
人们对我们业务感到好奇,同时对我们的发展文化也感到好奇。经常有人问我们如何设计、构建、测量、运行和扩展构成 Amazon.com、AWS 和我们的其他业务基础的硬件和软件系统。
新的构建者库
今天,我很高兴宣布推出 Amazon 构建者库。我们将推出一系列详细的文章,准确地告诉您我们如何构建和运行我们的系统,每一篇文章都是由在我们这一领域具有深厚专业知识的高级技术领导者撰写的。
该库旨在使您直接访问构成我们工作基础的理论和实践。学生、开发人员、开发经理、架构师和 CTO 都会发现此内容很有帮助。这些内容“不在商店出售”,并且在学校也不教授!
该库按类别组织:
架构 – 我们在设计云服务时做出的设计决策,可帮助我们针对安全性、持久性、高可用性和性能进行优化。
软件交付和运营 – 将新软件发布到云中并在此之后保持正常运行和高可用性的过程。
库内部
在撰写本博文时,我快速浏览了其中两篇文章,并学到了很多东西!
避免不可能完成的队列备份日志 – 总工程师 David Yanacek 探究消息队列的来龙去脉,探究优点和风险,包括可能出现的许多故障模式。他谈到了如何使用队列为 AWS Lambda 和 AWS IoT Core 供电,并描述了用于维护响应性并实现(用他的话来说)“神奇的资源隔离”的先进策略。 David 共享了多种模式,这些模式用于创建具有弹性的异步多租户系统,包括使用多个队列、随机分片、延迟队列、背压等等。
分布式系统的挑战 – 高级首席工程师 Jacob Gabrielson 讨论了分布式系统可能发生故障的多种方式。在定义了三种不同类型的系统(脱机、软实时和硬实时)后,他使用比扎罗的类比来解释为什么硬实时系统(再次用他的话)“坦率地说,有不好的一面。” 他以基于吃豆人游戏的示例为基础,添加了一些请求/回复通信,并列举了所有成功或失败的方式。他讨论了命运共享,以及如何用它来减少测试案例的数量,另外还讨论了测试分布式系统涉及的许多其他困难。
这些只是其中的两篇;请务必查看整个系列。
更多功能即将推出
我们准备了更多内容,也对您的故事感兴趣。请尽管留下有关此博文的反馈,我们会与您联系。
– Jeff;
作者介绍:
本文转载自 AWS 技术博客。
评论