如何避免程序员和产品经理打架?“微服务”或将成终极解决方案

程序员与产品经理打架,早已称不上互联网圈的新闻。怀揣改变世界的远大抱负,却要每天和多变刁钻的需求战斗,这是许多程序员的“生存困境”。那么除了板砖和拼死不从,程序员就没有别的对付变态需求的办法吗?

如何避免程序员和产品经理打架?“微服务”或将成终极解决方案

持续更新是产品常态

不否认存在过于异想天开或需求不清的产品经理,诸如要求“App随手机壳变色”,此时程序员只想抡起板砖,拍死产品经理。然而在这个互联网成为基础设施的数字经济时代,需求的变化是常态,不论哪个行业,不管是为满足客户或是出于竞争压力,都会有需求的变动挑战程序。很多时候,程序员即便把产品经理打到生活不能自理,也无助于解决企业发展的问题。

根据IDC《数字经济创新引领——2018中国企业数字化发展报告》,数字化创新需要打造的多项能力与变化有关,譬如:

敏捷能力:企业在不断变化、不可预测的经营环境中快速反应并给予恰当应对措施的能力。

数字化产品与服务:通过不断迭代、实验和测试的方式开发新产品与服务,并实现频繁乃至连续更新,不断提供客户价值的能力。

鉴于当前市场竞争的激烈程度,我们甚至可以推论,企业所允许的迭代频率,决定了这个企业成长的下限。在这种情况下,程序员的工作变得更繁忙、更琐碎也是必然。

微服务的曙光与阴影

解决这种矛盾,必须把目光投向一直在迭代中发展的互联网公司,新的答案将是“微服务架构”。以不追逐风口稳健发展的网易为例,网易考拉采用微服务架构之后,每天的发布次数从2次做到了1000次,500倍的提升,可谓从步枪到大炮。

所谓微服务架构,就是将应用服务按功能拆分成一组相互协作的服务,每个服务负责一组特定、相关的功能,可以独立开发、部署。用网易副总裁、网易杭州研究院执行院长汪源的类比解释,就是把系统划分成多个非常小的模块,而且这些模块都可以通过一套标准的服务接口进行沟通,从而持续发展——类似人类社会,基于人这个最小单位,设计了标准的语言、文字、货币、法律,发展形成了发达的文明。

微服务对整体问题的分解,为迭代带来了好处——局部的技术选择、变更不会影响整个系统,而且不同模块的开发可以同时进行。然而,整个系统的完善程度,也受限于微服务“分”与“合”的各项标准,这正如文字、法律等标准的成熟度决定一个文明的高度。

微服务的“标准”至少需要解决如下问题:微服务之间的调用和通信、服务之间的发现、服务调用链的跟踪和质量问题、微服务的测试因依赖关系变得复杂、跨服务的更改。

当然,还有分区的数据库体系和分布式事务这样的问题。

立体化的微服务方案缓解矛盾

解决上述问题的,有不少微服务框架。在微服务技术迅速普及的今天,Spring Cloud、Dubbo等开源微服务开发框架在某种程度上成为了微服务的代名词。知乎上有不少相关的讨论。

如何避免程序员和产品经理打架?“微服务”或将成终极解决方案

微服务框架并不能解决所有的问题。比如Dubbo在服务治理方面很优秀,但功能不如Spring Cloud完善;Spring Cloud虽是一个体系化的微服务解决方案,却也没有覆盖整个应用生命周期,比如对微服务测试就鞭长莫及。

网易考拉使用的工具,是网易云在2018网易云创大会上发布的“轻舟”微服务解决方案。汪源表示,轻舟微服务基于微服务这个基本单元,构建了多维度完整的解决方案,让架构可以像人类社会一样持续发展。

根据网易云官方资料显示,轻舟微服务包括微服务框架、API网关、DevOps、容器服务、AIOps和测试平台等模块,是一套复杂的解决方案,但是对用户来说是功能完整、易接入、易运维——因为该平台兼容开源微服务框架,并整合了网易微服务架构实践的各种工具,借助智能化、自动化的能力,能够快速分析整个服务链路,技术发现和解决问题,让微服务顺畅运行。

如何避免程序员和产品经理打架?“微服务”或将成终极解决方案

相信这个立体化的微服务解决方案,能够启发企业建设新的开发流程,使企业的数字化产品与服务能够更快、更好地迭代,程序员也有更多的时间去和产品经理进行有效的沟通,让双方的矛盾得以缓和,而企业业务目标的完成也不会受到影响。

极客网企业会员

免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。

2018-08-13
如何避免程序员和产品经理打架?“微服务”或将成终极解决方案
程序员与产品经理打架,早已称不上互联网圈的新闻。怀揣改变世界的远大抱负,却要每天和多变刁钻的需求战斗,这是许多程序员的“生存困境”。

长按扫码 阅读全文