QCon 全球软件开发大会(北京站)门票 9 折倒计时 4 天,点击立减 ¥880 了解详情
写点什么

微服务的应用需要哪些支持?

2015 年 12 月 30 日

GOTO Berlin 2015 大会上的一场演讲中, Fred George 谈论了组织怎样才能成功地实施微服务的话题。InfoQ 与 Fred 进行了一次访谈,内容涉及业务部门与 IT 在微服务的应用上如何互动、组织应当怎样支持使用微服务的团队、微服务架构的优点、以及微服务未来的发展方向等内容。

InfoQ:你能否为我们分析一下,在组织实施微服务的过程中,IT 将怎样支持整个业务的发展?

George:通过微服务,新的业务构想就能够得到快速的交付。业务部门的思维不再是基于硬性规定的需求(通常这种思维已经深深地植入了企业文化中),而是专注于在最短的时间以及一定的成本范围内尝试新的构想。如果业务部门没有为快速交付做好准备,那么微服务为业务所带来的许多价值也无法体现。确实,在过去的几十年间,IT 部门的做法为业务部门建立起了一种项目开发必须坚守前期设定的需求的印象。如今,代表 IT 部门的我们也需要肩负起改变这一印象的职责。这种情形的产生是由于所参与制订这些硬性需求的各个部门共同造成的,这样的结构实际上只会影响对于微服务的应用。

InfoQ:如果业务部门希望正确地应用微服务,他们与 IT 部门之间应当怎样开展互动?

George:对于某些类型的问题来说,业务部门需要一种根本的思想转换。我们所希望的是从以“需求”(或者说是用户故事等各种类似的说法)为根本转变为以“尝试新的构想”为根本。对于一些没有标准答案的“模糊性”问题来说,这一思想尤为必要。以下这些问题领域属于推荐引擎,包括每日交易、Google 广告、Amazon 的推荐书籍、以及类似于“我应当借钱给你吗?”这样的提问。由于这些问题本身没有固定的标准答案,因此他们必须不断地对算法进行改进。有一些新的构想可能会带来令人惊叹的成功,还有一些想法可能会产生巨大的挫败,但大多数构想所产生的结果是微忽其微、乃至于无的。这里的关键在于尝试新的构想、对结果进行评估、然后进行相应的调整。并且日复一日地重复这一过程。

而业务部门对于这种程度上的互动往往准备不足,实际上,在他们看来,尝试新的构想并接受失败这种概念简直是一种自杀性的行为。这一现状需要得到改变,一旦业务部门的态度能够转变过来,那么他们与 IT 之间的互动方式也将产生变化:业务部门将为 IT 部门解释核心的概念,并指出关键绩效指标(KPI)。而 IT 部门在理解了这些内容之后,他们就能够在业务的指导下尝试新的构想。这种方式所产生的结果是两者的关联更密切、更持久。实际上,传统的业务分析师这一角色在这里只会起到妨碍作用。

InfoQ:你能否举出一些业务与 IT 部门之间互动的成功案例?他们又能够从中获得哪些益处?

George:位于伦敦的 Forward Technologies 公司的创新型工作就是一个很好的例子。早先,他们所从事的是互联网广告业务,这是一个模糊性的问题。开发者首先从业务专家那里学习领域知识,并指出了 KPI 指标。随后,他们就开始了各种尝试。由于开发者们具备了快速响应的能力,因此为业务带来了巨大的竞争优势。而他们也将相同的概念应用在别的领域中:通过一些实验项目尝试电子商务,以及通过 uSwitch 这一产品实现在各种能源之间进行选择与更换。而 Compare the Market 也吸收了他们的工作模式,并且也应用了微服务。顺便说一句,在 Forward 公司中没有设立业务分析师与 QA 的角色!

在金融交易这一领域也能够找到许多案例,快速尝试的思想在这一环境中也能够带来极大的收益。

InfoQ:当团队应用微服务时,组织应当怎样支持团队的工作?

George:对于组织来说,最重要的一点就是信任团队。就像其他任何一种组织或技术上的变革一样,总免不了有些事会出错。但反对者会紧咬着任何一点失败不放,并视为整个变革的失败。反对者总是倾向于无视快速交付所带来的益处,他们不相信“创新是由不断的尝试所驱动的”这一思想,而这正是 Forward 公司的指导思想。他们希望看到完美的产品交付,这其实是崇尚整体性交付的组织的一种不切实际的想法。在 GOTO Berlin 大会上, Nicole Forsgren 博士在一场报告中介绍了她这些年来对于快速交付的研究,她的结论是快速交付能够减少业务发展的总体风险。

第二点也非常关键,那就是各种支持性的流程需要提供对于快速交付的支持。包括应用云计算、与客户进行持续性的交互、以及发展全栈开发者。

InfoQ:你能否为我们详细描述一下,应用微服务技术的组织能从中得到哪些益处?

George:最明显的益处是产品能够快速地推向市场,并且组织由此能够把握住一些意外的利润点。而一些糟糕的构想也能够快速地被指出,这也减少了在错误的道路上越走越远的成本。

而有一项益处是有些令人惊讶的,那就是它促进了创新的思想。当业务部门首次被快速交付所带来的影响所震撼之后,他们就会开始提出新的构想。在抛弃了长产品周期所带来的负担之后,新的点子就会开始不断浮现。“我们是否能够尝试一下……”这样的问题将成为常态,并且往往会得到积极的回应。整个业务将被这样的改变所激励。

InfoQ:你对于微服务将来的发展有什么期待?

George:我相信很快就能够看到这一架构快速地成熟起来,各种相关书籍与模式会不断涌现,而针对性的技术会议与专家顾问也会越来越多。而不幸的是,随之而来会出现各种相关流程与过程的介绍,以试图让微服务“标准化”,从而控制组织的环境。显然,这种方式的负面效应就是减少了快速交付与创新思维所带来的益处。

查看英文原文: Support for Microservices

2015 年 12 月 30 日 18:001624
用户头像

发布了 428 篇内容, 共 151.1 次阅读, 收获喜欢 23 次。

关注

评论

发布
暂无评论
发现更多内容

新版犀牛书该不该入手?

清秋

JavaScript ecmascript ES6 技术书籍 4月日更

Linux chmod命令

一个大红包

4月日更

树莓派简介

IT蜗壳-Tango

IT蜗壳教学 4月日更

【得物技术】前端工程师要知道的Nginx知识

得物技术

nginx 负载均衡 前端 得物技术 知识

Golang interface 模型

Alihanniba

golang 源码分析 模型 简易架构图

Apache Oozie基本原理与工作流类型

大数据技术指南

大数据 oozie 4月日更

2021字节大厂面经分享:Java面试高分宝典!GitHub已标星86.7K

比伯

Java 编程 架构 面试 计算机

javascript

wudaxue

JavaScript

Golang map 模型

Alihanniba

golang 源码分析 模型 简易架构图

Golang channel 模型

Alihanniba

golang 源码分析 模型 简易架构图

头条二面:你们公司怎么处理MySQL的 Binlog 日志?

Java架构师迁哥

云计算防火墙对象(组)的实践

Python测试开发

云计算 防火墙 对象组

Redis split-brain 脑裂

escray

redis 极客时间 学习笔记 Redis 核心技术与实战 4月日更

Kafka 零拷贝模型

Alihanniba

kafka 模型 简易架构图

新基建:“区块链+物联网”,是否生活将会改变?

电微13828808271

物联网 区块链标准

手写函数

wudaxue

JavaScript vue.js

架构实战营 - 模块1 - 作业

Ming

软件架构

不想写代码偷懒之配置化

顿晓

前端 配置化开发 4月日更

Golang Map 模型

Alihanniba

golang 模型 源码剖析 简易架构图

升级dubbo,小心default.version

捉虫大师

Java dubbo

Java 继承

anuyyy

Java 继承 static关键字 super 4月日更

dubbo几个问题整理:优雅停机、线程池配置

程序员架构进阶

dubbo 28天写作 4月日更 优雅停机 线程配置

人生好走的路那么多,你偏要选这条难走的走

小天同学

自我思考 个人感悟 人生修炼 4月日更

比较运算符

在即

28天写作 28天挑战 3月日更

聪明人的训练(二)

Changing Lin

4月日更

关于Object,你所必须知道的!

Chalk

前端 Object 4月日更

时代之盾,国之重器:华为带给政务数据保护的新可能

脑极体

Tidb模型

Alihanniba

架构· TiDB 简易架构图

大数据计算生态之数据存储

小舰

4月日更

睿象云智能告警平台cloudalert排班可以帮你做什么

睿象云

运维 告警 运维人生 智能告警 告警管理

Java一套拳法刷掉n个遍历树的问题 John 易筋 ARTS 打卡 Week 43

John(易筋)

ARTS活动

边缘计算隔离技术的挑战与实践

边缘计算隔离技术的挑战与实践

微服务的应用需要哪些支持?-InfoQ