微服务开发要先打造面向服务的开发团队
极客时间编辑部
讲述:杜力大小:1.04M时长:02:16
近日,在旧金山 QCon 大会上,Datawire CTO 兼首席架构师拉斐尔(Rafael Schloming)提出了“面向服务的开发”,他认为,那些想迁移到微服务的组织必须要寻求一种方法,来打破单一的开发过程,而不仅仅是试图打破传统的系统架构。
企业可以将新成立的微服务团队看作是内部的“衍生品(spinoffs)”,他们具有团队边界,并且鼓励他们自给自足和自我管理,除此之外,这些团队必须得到有效工具的支持,以便在生产中调试、部署和监测服务。
在开发应用程序或服务时,应用程序的交付生命周期可以划分为三个阶段,分别是原型阶段、生产阶段以及关键任务阶段。当产品交付从生产阶段转移到关键任务阶段时,为了提高稳定性往往会牺牲速度。对于应用程序中的所有组件来说,使用单一交付过程是十分低效的,因为这样做往往会导致在单一稳定性与速度间侧重点的选择。
而基于微服务的系统开发一个应用程序时可以使用多个流程:每个微服务产品团队都可以根据当前所处的交付生命周期中的阶段来选择合适的流程。
微服务可能是一个分布式的开发架构,但它们也可以使用分布式的开发工作流,该工作流由各种的同步开发过程组成,并且具有不同的速度与稳定性间的侧重程度。然而,采用这种工作方式需要组织的变革以及技术的改变。
站在组织的角度来看,创建一个围绕产品开发自给自足、自治的软件团队是很有好处的。然而,从单一过程到微过程的转变需要训练、交流和代理(delegation)。微服务产品团队中的每个人都将经历完整的开发生命周期,包括从本地编码到通过持续交付将代码部署到生产,再到监测应用程序,而这个过程需要额外的训练。
最终,这种变化意味着专家有机会成为多面手,从而使得整体系统以及各项操作的实现更加完善。
拉斐尔在最后总结道,当一个组织开始进行微服务迁移时,除了分解整体架构之外,还应该优先对整体流程进行分解。将微服务产品团队组织为自给自足和自治的“衍生品”是非常有好处的。除此之外,组织必须创建相关的工具来实现有效的面向服务的开发。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论