【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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:001316
用户头像

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

关注

评论

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

应用实践|Lifewit 数据平台基于Apache Doris的建设实践

SelectDB

数据库 数据仓库 apache doris SelectDB

水果FL Studio最新20.9中文破解版下载

茶色酒

水果FL Studio

安势信息加入Linux基金会OpenChain项目,助力软件供应链安全

安势信息

Linux 开源 DevSecOps SCA 开源软件

使用Sonar来优化您的基础架构代码

龙智—DevSecOps解决方案

漏洞 SonarQube

ObserverPattern-观察者模式

梁歪歪 ♚

设计模式

MixNet解析以及pytorch源码

AI浩

人工智能 6月月更

字节跳动数据库的过去、现状与未来

火山引擎开发者社区

数据库 微服务 分布式数据库

特别的儿童节,OceanBase 送上一份特别的惊喜

OceanBase 数据库

oceanbase

MSVC编译动态库

Loken

音视频 5月月更

云图说丨应用宕机怎么办?MAS帮您实现业务无缝切换

华为云开发者联盟

云计算 MAS 宕机 多云高可用服务

从冬奥跳台飞跃向千家万户:联通“臻宽带”的起跳瞬间

脑极体

常遇到读多写少,教你用ReadWriteLock实现一个通用的缓存中心

华为云开发者联盟

缓存 高并发 开发 ReadWriteLock

科技成就伟大游戏 | 2022 亚马逊云科技游戏开发者大会

亚马逊云科技 (Amazon Web Services)

开发者 亚马逊云

ConcurrentLinkedQueue

急需上岸的小谢

6月月更

Agora Web UIKit:快速构建视频通话或直播

devpoint

React 直播技术 视频通话

那些年,我们在Apache SeaTunnel 2.1.0部署中踩过的坑【含源码分析】

Apache SeaTunnel

Apache 大数据 开源 workflow Seatunnel

八大误区,逐个击破:担忧安全防护与合规性?这可能是您对云最大的误解

龙智—DevSecOps解决方案

Atlassian atlassian云版 Atlassian白皮书

对话ACE第三期:数据库技术生态应如何构建

OceanBase 数据库

oceanbase

StrategyPattern-策略模式

梁歪歪 ♚

设计模式

磁盘I/O性能测试工具

穿过生命散发芬芳

6月月更 磁盘测试工具

DataPipeline:让数据生产力的历史进程,再前进一步

DataPipeline数见科技

DataOps 数据管理

2022 核心服务动手训练营

亚马逊云科技 (Amazon Web Services)

Amazon 亚马逊云

对不起,我错了,这代码不好写

捉虫大师

Java Go sentinel 6月月更

换个角度带你学C语言的基本数据类型

华为云开发者联盟

开发 C语言 数据类型位数

字节跳动一站式数据治理解决方案及平台架构

字节跳动数据平台

数据治理 元数据

深入剖析 | HeartBeat方案的标准设计

九叔(高翔龙)

架构 dubbo 源码解析 HeartBeat 心跳设计

leetcode 547. Number of Provinces 省份数量(中等)

okokabcd

LeetCode 搜索

TemplateMethodPattern-模板方法模式

梁歪歪 ♚

设计模式

InfoQ 极客传媒 15 周年庆征文|深入理解 ELK 中 Logstash 的底层原理 + 填坑指南

悟空聊架构

运维 Logstash ELK 6月月更 InfoQ极客传媒15周年庆

将虚幻引擎5与Perforce Helix Core集成使用吧!

龙智—DevSecOps解决方案

perforce 虚幻引擎5 Helix Core

儿童节,和 AI 一起通关 “超级马里奥兄弟”

华为云开发者联盟

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