AWS如何做软件开发?
极客时间编辑部
讲述:杜力大小:2.52M时长:02:45
近日,AWS 开发者工具总经理肯·埃克纳(Ken Exner)在采访中透露了 AWS 的软件开发方法。他谈到,扩展就好比有丝分裂。团队分成一个个小组,每个小组都全面拥有一项服务。
那么,软件在亚马逊是如何开发的?埃克纳总结了以下的经验:
1. 亚马逊喜欢分解。
亚马逊过去拥有整体式组织和软件架构,他们将整体式系统分解为一项项服务和小组,彼此间独立自主,拥有所有权。每个小组全面拥有一项服务,处理客户、开发、测试和支持等。
2. 亚马逊喜欢自动化。
首批工具就使构建和发布过程实现自动化,然后使部署实现自动化。亚马逊也会进行几种不同的测试,比如集成测试,基于浏览器和 Web 的测试和负载测试。
3. 试图找到在预生产环境或生产环境中部署失败的原因。
如果发现问题,就回滚到已知良好的状态。在整个过程中妥善做好安全工作,开发人员需要像安全工程师那样思考问题,这是亚马逊文化的一部分。
4. 在整个过程中妥善做好安全。
开发人员需要像安全工程师那样思考问题。这是亚马逊文化的一部分。工程师需要是开发人员、运维人员、架构师、测试人员和安全专家。
5. 在开始一个新项目时,开发人员首先要做的是架构和威胁模型。
威胁模型由安全工程师审核。开发人员做好自己的安全,因为他们最靠近问题,所以最有可能发现问题。
6. 通过结合本地和全局执行策略,将检查机制融入整条管道。
如果可以检查管道,就可以确定其是否遵循最佳实践。如果可以描述最佳实践,就可以创建规则,以便管理管道的形状、结构和内容。
7. 预计亚马逊的领导者对重要事项进行建模。
运维在亚马逊很重要,因为领导者在运维上会花很多时间。最佳的计划方式是自下而上,最靠近产品的小组最靠近客户,知道客户想要什么,这些人反过来可以告诉亚马逊该做什么。
8. 管理层对不同请求作出公断。
公断的想法仍然来自最靠近客户的小组。小组也被分配了实现这些目标的资源,就好比是初创公司,而管理层充当董事会,审核目标、度量指标,以此管理不同的初创公司。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论