Nitro系统的软件和固件由不同的全球分布的工程师团队开发。所有与Nitro系统相关的配置和代码更改都要经过多方审查和批准,并在测试和生产环境中分阶段推出。软件开发从设计文档和评审开始,并通过代码评审。独立AWS安全团队和亚马逊EC2工程团队将对重大更改或功能进行安全审查。
所有变更均由至少一名额外的工程团队成员或利益相关者进行审查,并由一名拥有大量EC2任期的工程师进行审查,该工程师是我们变更管理Bar Raiser项目的成员。除了专家人工审查之外,所有代码签入都必须通过一系列的自动质量和安全检查,这些检查无法通过,并且在中央构建服务的控制下自动运行,确保遵循部署最佳实践,包括适当的监控和回滚。
一旦代码审查和批准完成,并且所有自动化检查都通过,我们的自动化包部署过程就接管了。作为自动化部署管道的一部分,构建二进制工件,团队运行端到端、验证和安全特定测试。如果任何类型的验证失败,部署过程将停止,直到问题得到补救。
软件和固件二进制文件使用非对称私钥进行加密签名,该私钥只能通过记录所有密钥签名活动的自动管道访问。
签名的软件和固件由专门的EC2部署系统部署到EC2车队,该系统配置为遵循定义的部署策略和时间表。更改在可用性区域和地区之间一波又一波地展开。对部署进行监控,以确保只有按预期运行的软件版本保持部署状态,并且任何异常行为都会触发自动回滚。
笔记
有关Amazon如何构建和操作软件的更多信息,请参阅Amazon Builder的库。具体而言,AWS高级首席工程师Clare Liguri自动化了安全、无需手动的部署,AWS软件开发高级经理Mark Mansour加快了持续交付,AWS高级主工程师Sandeep Pokkunuri确保了部署期间的回滚安全。
最新内容
- 1 day 19 hours ago
- 1 day 19 hours ago
- 4 days 21 hours ago
- 5 days 10 hours ago
- 6 days 21 hours ago
- 1 week ago
- 1 week ago
- 1 week ago
- 1 week ago
- 1 week ago