进化的系统需要进化的系统工程
By James TurnbullInes Sombra March 20, 2018
https://www.oreilly.com/ideas...
在过去的几周,我们一直在反馈从我们第一次站在职场时就在变化的工业技术。我们在寻找在两个不同的但是重叠领域的变化:技术的变化与方法学的变化。我们大部分人第一次接触的系统是第一代的CS应用。它与它的上一代系统有很大不同:其通过控制台连接到一个运行在大型机或中型机的中心化应用。工程师像增强服务器一样学习它的客户端逻辑。连接性,传输的数据,安全,延迟与性能,客户端与服务器间的状态同步成为管理系统时需要考虑的问题。
复杂性的提高需要其对应的管理这些系统的方法与技能的提高。新类型的系统意味着新技能,理解新工具,框架,与编程语言。我们可以发现现在很多以前集中在一个角色的技能开始分散:前端工程师,后端工程师,数据科学家,设计师,UX/UI专家,还有其他专家。我们可以发现这个阶段建立了很多孤岛功能并且在转换这些孤岛间的复杂性。DevOps与SRE社区在试图消灭以上的孤岛。
从第一代CS系统,我们可以看到很大的变化。大部分是由于技术对于做生意至关重要-对所有行业的任何生意都是这样。这与客户要求快速在不同地理区域的设备上部署结合。举个例子,从街角录像带店租赁录像进化为在Netflix与Hulu上的流媒体。我们期望分发内容的延迟从小时或分钟降低到秒。我们期望内容分发可以24 7 365 天在我们所有地区的设备上:从我们的家和办公室到移动中。我们作为客户,不需要关心基础设施或系统达到此目的的复杂性:我们只想看新赛季的比赛。
每次进化都需要我们打造与管理所需的技术需要的技术,系统,技能变化。在大多数时候,这些变化引入了更多的复杂性:我们曾经管理CS系统需要的技能与知识与现代分布式系统需要的弹性,低延迟,高可用的需求有很大不同。所以,我们需要知道哪些我们之前不知道的呢?
重定义最小可用产品
作为从业者,我们要做得更好。由于可用性与弹性已经是主要考虑的问题,应用程序的最小可用产品需要被重定义。好的设计目标现在需要把包括基本的对于运维性,安全,性能与可观察性的架构目标。每个工程师,从在React组件上工作的前端工程师到在构建一个分布式数据集的后端工程师,需要考虑他们系统的小部分是如何影响整个系统的。
用户对性能的需要已经对计算模型与状态管理策略产生了新的限制。计算模型开始转向Serverless与边缘计算架构,期望能降低用户延迟。这是我们学到的新一课:计算节点越靠近用户越有效率。
对于状态管理也是这样。应用正在从最开始的分布式状态,共享存储,甚至数据迁移从中心存储向边缘或云计算升级。接近最终用户可以保证更快速的决策,但大大增加我们应用的复杂性。
每一处约束都代表工程师需要理解他们自己维护的部分与其他部分的变化可能对宏观系统造成的影响。当这些内容由于复杂性或缺乏对系统的深刻理解不能在心里建模掌握时,就需要用程序的方式来建模,如观察,插桩,追踪,测试。
我们现在已经不能使用简单的方式来监测故障或使用简单的方式来调试故障。复杂架构与分布式的应用,看起来很适合用探针,但可能对终端用户无法实现良好的性能。就算在观测事件与指标,由于不同系统间的相关性与平衡性,而且计算延迟在分布式系统中也不够精确,我们很难用传统方式获得一张全图。
应用的instrumentation在开发过程中已经是一个必选项而不是一种事后行为了。每个工程师都需要考虑如何清楚的表示他们系统的状态,性能与可观测性。这需要工程师学习与适应新技术来交付这些新的能力。
进化的技术生态
新的框架,架构,过程,一个成长的工具生态帮我们完成这些挑战。他们有些还处于孵化阶段,但会快速变成熟。我们已经看到了这种变革:只花了四年容器已经成为了主流技术,并且我们正在致力于使用类似kubernetes工具来支持复杂应用级别的抽象。部署上也有类似的变更正在发生,serverless,边缘计算技术,安全,性能与系统可观测性。
最后,没有变化能存在在人与组织之外。我们需要开发必须的领导技能去构建跨功能团队,并保证够构建这些系统所需的快速迭代。我们需要继续投入在DevOps与SRE社区来打破估到,无缝改造团队并提高开发效率。围绕快速交付高质量,安全与高性能应用的团队组织可以创造高创新性的产品与组织。
对于刚开始或正在路上的组织和行业从业者, O'Reilly's Velocity会议有一系列计划来帮助公司处理这些现代复杂性。来自于Google,Netflix,Microsoft,Amazon,Twitter,Nordstorm,Slack,Fastly的开发者与工程师会来分享他们的在构建,伸缩,加固分布式系统的成功与失败的经验。你会有机会学习,社交,欢笑,并与观众和行业领袖进行分享。
本文来自微信公众号「麦芽面包,id「darkjune_think」
转载请注明。微信扫一扫关注公众号。
交流Email: zhukunrong@yeah.net
进化的系统需要进化的系统工程相关推荐
- ar面部识别_【华为P20Pro评测】系统的进化:面部识别、AR该有的都有_华为 P20 Pro_手机评测-中关村在线...
系统的进化:面部识别.AR该有的都有 华为P20系列搭载了基于Android 8.1的EMUI 8.1,EMUI 8.1正积极地创造一个良好的AI生态,这也是麒麟970的使命所在.除了AI方面,EMU ...
- 主流应用系统的进化路线
下面是企业应用系统的进化路线: 1)单机应用: 单机应用有CS模式,也有一体化模式,这个时候很多的数据库本身就提供界面功能,比如Foxpro等. 2)局域网应用: 一般是CS模式,数据库和客户端分离, ...
- 侏罗纪世界为什么显示服务器超时,侏罗纪世界进化服务器无法访问解决方案推荐_侏罗纪世界进化全系统详解及上手指南推荐-魔盟网...
侏罗纪世界进化轻型钢栏该怎么通电?本文小编会为大家详细介绍有关于轻型钢栏的通电技巧,希望可以帮到大家,感兴趣的小伙伴们,一起和小编来看看吧!2018-06-30 侏罗纪世界进化游戏中,进入沙盒岛很多人 ...
- 互联网公司IT系统架构进化之路
一日,与一高手在茶馆聊天.他问道:在鞋厂剑派这两年,可习的什么高深的剑法?我不由一愣,细细想来,这两年每日练习的都是简单的劈砍动作和一些简练的套路.并没有去练什么高深的剑法.不过鞋厂剑派在江湖上也算小 ...
- 王阳明:越是多变时,越要学会进化(附个体进化的底层心力逻辑)
受疫情影响,全国范围内各种黑天鹅事件层出不穷,难以预测,正常的经贸活动已经受到阻碍,发展为健康弯腰,给经济带来了极大的负面冲击,世界格局与秩序加速转变,我们正在经历千年未有之大变局,生存环境日复多变且 ...
- 神经网络进化能力分析,神经网络进化能力指标
神经网络的泛化能力差吗? 泛化能力,英文全称generalizationability,指机器学习算法对新鲜样本的适应能力,一种预测新的input类别的能力. 通过学习找到隐含在数据背后的规律,并对具 ...
- 方舟原始恐惧mod生物代码_方舟:生存进化荒岛醒来有人进化到工业社会,有人进化到未来!...
游戏简介 <方舟:生存进化>故事主要讲述,一群人醒来便出在神秘海滩,为了生存而探索远古开放世界,玩家需要通过合作/竞技来获取生活必需品.人类需要打猎.收获.研究技术,甚至要根据动态天气变化 ...
- 差分进化算法_差分进化算法
差分进化算法(Differential Evolution Algorithm,DE)是一种高效的全局优化算法.是一种模拟生物进化的随机模型,通过反复迭代,使得那些适应环境的个体被保存了下来.它的进化 ...
- 差分进化算法python_差分进化算法Python实现
本文you清华大学硕士大神金天撰写,欢迎大家转载,不过请保留这段版权信息,对本文内容有疑问欢迎联系作者微信:jintianiloveu探讨,多谢合作~ 导语 差分进化算法是一种寻优算法,提出时间比遗传 ...
- 口袋进化服务器维护,口袋进化平民攻略
<口袋超进化>! 所行之处,绝非安稳尘世: 高墙于侧,困此虚假乐园. 凶残的巨兽步步紧逼,咆哮着带来末日的狂潮: 权力的游戏愈演愈烈,黑暗中罗织重重阴谋: 伟大的艾兰特王国岌岌可危,等待着 ...
最新文章
- Java NIO 学习笔记 缓冲区补充
- Oracle RMAN 清除归档日志
- @bean注解和@component注解的区别_阿里面试题一:spring里面使用xml配置和注解配置区别...
- no.8 C控制语句:循环 01
- 程序的又一次测量学实际应用(程序对全站仪测量学导出数据文件的读取与修改)...
- SpringBoot新版
- php mysql html 转义字符_php, html, javascript, mysql 之间的特殊字符处理
- openfire 插件开发例子
- linux下iostat命令无效,linux iostat命令详解
- verilog异步复位jk触发器_异步复位同步释放原理
- python分配红包程序_Python版微信红包分配算法
- easyui validatebox设置默认值时 去掉校验
- 这个世界有一种无形的力量~梦想
- Xcode9 调整模拟器大小
- 计算机概论读后感,电子商务概论读后感.doc
- 矢量、梯度——数学、物理不可混谈
- 前端微服务框架single-spa
- 深入理解计算机系统(第三版)家庭作业 第九章
- 最新YGbook小说网自适应源码 自动采集笔趣阁 附详细图文安装教程
- html 自动 生成 日期,自己生成Select列表日期时间
热门文章
- 〇、什么是全栈工程师
- One Mathematic Problem
- No coverage information was collected, exit without writing coverage informa
- ffmpeg批量将图片合并为视频
- 如何用VBA制作工资条
- UML学习_1_模型
- 门禁卡怎么弄到手机上,手机变成门禁卡,手把手超详细(建议收藏)
- 什么是RF、IF信号
- 【ORA-RAC】ORA-15045: ASM file name '+DATA01' is not in reference form
- Cell子刊:成年同卵双胞胎的病毒组多样性与肠道微生物组多样性相关