认识团队
DevOps 提供许多功能和工具,可帮助团队进行协作并改善其过程。 在你开启 DevOps 旅程之前,先来认识一下虚构的软件团队成员,我们假设该团队发现他们需要改善其发布过程。
Tailspin Toys 或简称为 Tailspin,是一家电子游戏公司。 Tailspin 在本地数据中心托管其游戏服务器和网站。 该公司刚刚为新款赛车游戏的发布庆祝了一番。 他们将在未来几个月内发布一款太空射击游戏,名为“Space Game”。
你将与之协作的团队会构建网站来支持新的游戏名称。 这些网站提供这款游戏的相关信息、获取方式以及显示最高分数的排行榜。 每个网站均必须在游戏发布的同一天上线,这需要团队协作,也给这个网络团队增加了一些额外的压力。
Space Game 网站是一个用 C# 编写并部署到 Linux 的 .NET 应用。 该网站尚未完成,其现状如下所示:
排行榜如下所示:
可按模式或游戏映射筛选排行榜。 你还可以选择玩家姓名来查看其个人资料和游戏成就:
以下是你的团队成员:
Andy 是开发主管,他自孩童时起就一直从事计算机行业。 他喜欢在业余时间从事个人编码项目。 Andy 总是希望他能有更多的业余时间。
Amita 是 QA 人员。 她处事冷静,这对一些喜怒无常的开发人员大有裨益。 她擅长组织和设置优先级,并立志发现边界案例。
Tim 是执行人员。 他喜欢切实可行的解决方案,并且十分谨慎(然而有些人可能会使用“偏执”一词),这有点儿道理,因为他是那种出事时会在凌晨 3 点打电话的人。
Irwin 是产品经理。 他已在电子游戏行业中工作数十年。 Irwin 对开发团队很友善,但每个人都知道他喜欢给员工的日程安排得满满的。 Irwin 思维方式相对固定,但如果有任何能帮助团队以更少的精力让游戏更快上市的办法,他也会洗耳恭听。
Mara 是新人。 她是刚加入 Tailspin 的开发人员,向 Andy 汇报工作。 她加入 Tailspin 是因为喜欢游戏,并且她认为小型企业会有很多创新的机会。 她是 DevOps 的铁杆粉丝。
早上好
团队的产品经理 Irwin 已召集所有人到会议室,并且心情很不好。 赛车游戏排行榜更新了以下几个新功能,然后他在当地的一家游戏公司展示了这一排行榜。 不夸张地说,玩家的反应却令人失望。 他读了列出的最主要问题:
- 部分功能仅在特定游戏模式下才能正常使用。
- 即使玩家很少,更新排行榜花费的时间也会很长。
- 每个玩家的多项得分显示为多个玩家。
- 新的排名功能返回的结果有误。
- 不能根据特定的日期或游戏环节对得分进行分组。
- 制作新版本花费了数月的时间(而它还出故障了)。
他逼问道,“解决这些问题需要多久?”
Andy 心想:我敢打赌,写这个代码需要一个月。
Amita 心想:我至少需要一周时间来测试该代码,而且 Andy 完成之后我才能开始,他还总想要插入新代码。
Tim 心想:我至少需要一周时间来设置环境并将该代码部署到生产环境。 Amita 完成之后我才能开始,而她总是不愿轻易敲定候选发布。
Mara 心想:接受这份工作是一个错误吗?
Andy 看看四周他的同事们,然后说道,“我们会尽快给你回复。”