时隔16年Jeff Barr重返10.23-25 QCon上海站,带你看透AI如何重塑软件开发! 了解详情
写点什么

O’Reilly 软件架构大会第二天要点概述

  • 2016-04-22
  • 本文字数:2591 字

    阅读完需:约 9 分钟

O’Reilly 软件架构大会的第二天从 The Home Depot 高级架构师 Christopher Grant 的主题演讲开始,他演讲的题目是“走向微服务:HomeDepot.com 如何转变”。The Home Depot 第一个面向客户的 Web 页面是在 1996 年部署的,自此以后,他们的 Web 网站和软件应用资产已经实现了大幅的增长。新老技术 & 应用程序的整合导致了日益延长的提前期和脆弱的部署。他们转而采用一种敏捷的工作方法,定义职责的“领域空间”,利用持续集成实践极大地减少了冲突。2015 年,The Home Depot 技术团队全面采用了云和微服务,那对架构提出了新的挑战。

为成功实施重大架构调整,Grant 提出了四条建议:制定规划、了解目标、选取重点、分步实施。进一步的建议包括:“分析和定义边界”——清楚定义业务产品和领域(及相应的数据模型和人员结构),绘制责任地图;“架构设计要考虑变更”——设法预见未来的变化(在可能的情况下),预计(但要最小化)未来的工作;“落实安全措施”——尽早自动化,根据情况尝试就地升级和全新的做法(没有哪种方法适合所有情况)。最后的建议是 Grant 从实际的工作中学到的,包括利用功能开关和流量阀门限制和控制问题,鼓励团队之间互相独立——不要过分依赖集中指挥。

在实施重大架构调整时:制定规划、了解目标、选取重点、分步实施。

Chip Childers 是 Cloud Foundry Foundation 的技术副总裁,他做了上午的第二场主题演讲,题目是“迈向云原生:这需要一个平台”,他认为,采用一个“平台”是创建“云原生”和基于微服务的应用程序的关键。平台应该简化软件开发的流程,提供开发模式和流程,管理横切关注点,如安全和日志,高度自动化,并易于扩展。那些已经按照“十二要素应用”原则设计,或者作为微服务系统构建,或者已经打包在容器中的应用程序特别适合如今的平台即服务(PaaS)产品,比如 Cloud Foundry Heroku OpenShift

Childers 表示,他建议使用一个平台,“不只是跟技术有关”——经济上也经过了充分的论证。恰当的平台有助于“工业化软件开发工艺”,他还讨论了“节拍时间( Takt time )”的概念,这与使用平台标准化特定的操作(比如部署)所带来的好处有关。节拍时间来源于德语词汇 Taktzeit,是指“开始生产一个单位到开始生产下一个单之间的平均时间,这些生产起点的设置与客户需求的速度相匹配”。Childers 在总结中讲到,平台约束了软件系统,但“恰当的约束在最重要的地方释放了我们的创造力”。

在最后题为“让痛点可见”的开幕主题演讲中,New Iron 首席技术官兼 Open Mastery 创始人 Janelle Klein 介绍了“Idea Flow”学习框架,该框架提供了一种度量开发者冲突的策略,可以让问题可见。Klein 指出,传统的软件开发过程常常遵循一种在各组织中普通存在的消极重复模式,从“各类问题,到痛苦的发布,再到系统抖动,最终项目崩溃”。显然,必须改变使用的策略,必须让软件开发的“痛点”更加可见。不过,这里有两个主要的障碍——第一个是“管理层”通常说一种与“工程师”不同的语言(即管理层和开发团队之间的“无明墙”),第二个是开发人员所做的改进经常毫无作用。

Klein 指出,在软件开发过程中,导致大多数痛苦和“冲突”的问题通常是“人的因素”,而不是人们常常怀疑技术债务。

可以说,软件开发最困难的部分是“准确确定需要解决的问题”,但许多组织都没有一种有效的方法来处理这个问题。 Richard P Rumelt 曾经说过,“一个良好的策略是对发展阻力的一种明确而一致的反应(和克服方法)”,Klein 问与会者,我们现在使用的策略,在识别和消除由“高质量代码、低技术债务、易维护的代码和良好的代码覆盖率”所带来的冲突和痛苦时,是最好的吗?他在演讲结束时发出呼吁,在让软件开发的痛点更加可见(和可控)方面,“作为一个行业整体,我们要一起学习和分享”。关于他在演讲中提到的想法,可以查看 Leanpub 图书“ Idea Flow:如何度量软件开发之痛”来了解更多信息。

Mark Bates 是 Meta42 Labs 的创始人兼首席架构师,他介绍了“微服务的反面”,并详述了他的经历,从使用基于 Go 的微服务和 Angular.js UI 为一家创业公司构建一个全新的 Web 应用程序,到最终将整个代码库改造成一个 Ruby on Rails 单体应用。他向软件开发团队传递的关键信息有助于企业寻找合适的产品市场组合,然后尽可能做最简单的事。Ego 可能会驱使开发人员选择“最新最好”的技术和架构风格,比如微服务,但 Bates 发现,对他而言,最小化开发应用程序所需的认知“范围”是最重要的价值,因为他业余时间要忙于创业公司的工作。采用基于 ROR 的单体架构,可以最小化所需的活动组件和编排。

由于我是兼职做软件开发,所以我希望最小化变更所需的 [认知] 范围。在这种情况下,RoR 单体架构是最好的选择。

James Stewart 是 UK Government Digital Service 的技术架构主管,他演讲的题是“作为教练的架构师”。他在演讲开始时断言,“大 IT”的时代已经结束,如今的架构师和开发人员(而不是供应商)有很大的权力,他们必须负责任地行使这种权力。Stewart 认为,由于全部公共和私人部门的技术所普遍具有的特性,“软件现在就是政治”,相应地,架构决策会产生广泛的影响。Stewart 提出了一个问题,就是作为组织的“高级技术负责人”意味着什么,对此,他表示,你的职责范围通常不限于培训,该角色的职责一般是纵观全局,推动组织沿着正确的方向变革。这个职位的一项关键技能是,对于组织的方方面面,知道提出什么问题,而且要明白,没有高层的支持,变革目标无法实现。

下面是贯穿整场的 7 个推动变革的关键点:

  • 了解受你影响的人;
  • 影响有影响力的人——大多数高层领导通常都非常忙,很难接近并影响他们。不过,他们一般由一个团队协助,这些人比较容易接近和影响;
  • 提早交付价值,并理解这样做的价值——争取快速反馈;
  • 找出共同的参考点和原则;
  • 说他们的语言——理解高层领导,并务必使用与他们相同的词汇和术语描述问题;
  • 要接受变革需要时间的现实,不能自以为是;
  • 让团队同你站在一起。

关于在纽约举行的O’Reilly 软件架构大会的更多细节,可以在大会网站上找到。 O’Reilly 软件架构大会的其他活动将于 2016 年 10 月 18~21 日(提案征集截止日期5 月2 日)和11 月13~16 日(提案征集截止日期6 月1 日)分别在伦敦旧金山举办,相应提案征集页面现在已经可以使用了。

查看英文原文: Key Takeaways from the O’Reilly Software Architecture Conference: Day Two

2016-04-22 19:002066
用户头像

发布了 1008 篇内容, 共 438.8 次阅读, 收获喜欢 346 次。

关注

评论

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

2021Java面试心得,淘汰机制、缓存雪崩

Java 后端

2021年Android工作或更难找,深入剖析原理

android 面试 移动开发

百亿级日志流分析实践 | 剖析个推SDK后效分析功能实现原理

个推

消息推送 sdk

Jenkins: 重置管理员密码

吴脑的键客

jenkins

阿里淘技术带佬新作:设计模式的完美演绎,共计1290页

Java 程序员 架构 面试 计算机

2021Java进阶者的新篇章,做了5年Java

Java 面试 后端

2021Java面试心得,Spring的XML解析原理

Java 面试 后端

个推0代码数据可视化实操:基于Tableau的中国奥运数据探索

个推

直播回顾 | seL4基金会主席谈物理系统安全工程实践

鉴释

自动驾驶 操作系统 微内核 在线研讨会

2021年Android工作或更难找,2021Android面经

android 移动开发

如何用人工智能技术优化 WebRTC 产品(内附具体方案)

融云 RongCloud

2021Java网络编程总结篇,三年老Java经验面经

Java 面试 后端

M-SQL:超强的多任务表示学习方法

华为云开发者联盟

sql 自然语言 M-SQL SQL语句 多任务

2021Java高级进阶学习资料,StringBoot编程式事务与声明式事务

Java 面试 后端

2021年Android大厂面试,送大厂面经一份

android 面试 移动开发

2021年Android岗位BAT大厂面试题知识点小结,阿里巴巴安卓面试题答案

android 面试 移动开发

2021Java最新大厂面试真题总结,入职阿里啦

Java 面试 后端

2021Java最新大厂面试真题,37岁程序员被裁

Java 面试 后端

个推融合实人认证服务和视觉智能技术,推出青少年网络游戏防沉迷解决方案

个推

AI 人脸识别

2021一位Java中级程序员的跳槽面经,springmvc源码解析pdf

Java 面试 后端

2021年Android大厂面试,劲爆

android 面试 移动开发

2021互联网大厂Java面经合集,阿里面试官必问

Java 面试 后端

2021Java最新大厂面试真题,Java面试宝典pdf

Java 面试 后端

2021Java精选面试实战总结整理,Java程序员面试算法宝典

Java 面试 后端

分布式服务下,消息中间件改造

Java 架构 面试 分布式 后端

科创人|华映资本章高男:好奇心顽童,趋势焦虑者,反套路投资人

科创人

2021Java者未来的出路在哪里,怒斩获了30家互联网公司offer

Java 面试 后端

2021京东最新Java面试真题解析,2021Java开发面试解答

Java 面试 后端

2021Java高频精选面试题讲解,2021Java大厂面试真题

Java 面试 后端

三维可视化数字能源系统,助力智慧园区高效能源管理

ThingJS数字孪生引擎

大前端 物联网 可视化 数字孪生

2021华为Java高级面试题及答案,Java技术成长

Java 面试 后端

O’Reilly软件架构大会第二天要点概述_架构_Daniel Bryant_InfoQ精选文章