架构设计到底是做什么?每个人都有不同的答案,毕竟在不同的时间,不同的系统层级,不同的需求背景上,架构设计的任务都有所不同。那么换另外一个问题,如何成为顶尖的架构师?
先使用程序员的拆分技能:成就优秀需要划分两个阶段,先成为普通的架构师,然后再想办法成就优秀。
虽然 2022 年已经过了快六分之一,但我们的新年还没开始,常言道种树最好的时间是十年前,其次是现在,学习架构也是一样,希望以下的学习小结可以给你帮助。
自我成长所学即所得
架构师之路怎么走,我们将学习过程划分为个终身阶段:初识架构与持续进阶
初识架构
作为程序员,如果你经历过几次项目重构,应该对架构规划的必要性有一定了解。在几次重构中你可能只是做了一次业务逻辑梳理,也有可能只是升级了 API 和迭代了新功能,但在这个过程中如果你深切感受到陷入了 bug 修复和开发的死循环,你应该会认识到规划和设计的重要性,这或许就是第一代架构师的来源。
先了解架构师关注的重点:
内聚与耦合、功能性、可变性、性能、容量
生态系统、模块化、可构建性、产品化、安全性
架构原则:分而治之
再了解为什么架构需要演进:
项目需求扩张,旧的架构不适应新的需求
开发团队人员增加,协作要求变高
新技术引入
更高的软件质量要求
持续进阶
架构能力培养
有人说产品经理是 CEO 储备,而架构师是 CTO 储备。
架构师的基本要求之一是知识面广,从数据库到前端,从大数据到人工智能,虽不要求面面深入,但需要协同开发伙伴将目前复杂需求一一拆分继而整理在统一框架内。
架构师基本要求之二是在所在领域中有卓越的代码能力,诸如人工智能领域、金融领域、游戏以及视频领域等等。不写代码的架构师如 PPT 架构师,脱离实践迟早会被多变的互联网环境所淘汰。
领导力培养
架构师是必须带领队伍的,并主导项目的核心部分代码的撰写,将乐器项目合理分拆给对应执行的人。即所谓:架构师负责扎根与发芽,其他程序员负责开花与结果。
一个产品会有多部门合作,架构师在其中的沟通极为重要,直接影响产品进度与质量。架构师不仅要与开发人员沟通,也要和项目经理、分析人员甚至用户沟通,来实现产品的各种可能性。
所以,对于架构师来讲,不仅有技术方面的要求,还有能够横向沟通与领导队伍的要求。所以,如果你具备某些程序员的固有印象,请学习隐藏并逐渐抛弃他们:“闷骚”、“不善言辞”...
他人顶尖经验为我所用
一个没有经历失败的架构师一定不是好的架构师,尤其在新领域与新技术的探索上,唯有经历各种苦难,越过各种坑和痛苦方成就优秀。虽然失败如此必要,但你可以学习与借鉴他人的经验与教训,让你的苦难和坑无比缩短。
2021 年 7 月 6-9 日,将在深圳举行 ArchSummit 全球架构师峰会,分为大会演讲与深度培训两个环节。
此次大会邀请了来自 Google、Facebook、Netflix、Pinterest、eBay,以及国内 BAT、网易有道、出门问问等诸多资深架构师从云架构到边缘计算,从国际化体系架构到移动端开发、从人工智能到大数据平台架构、从微服务到数据库架构等诸多方面为大家一一解惑,同时阿里达摩院、Microsoft、Amazon、IBM 的分享内容仍在筹备。
目前大会 7 折报名仅剩最后一周,这里简单列举一些国内外经典架构案例,希望能够对到场的你有所启发。
Facebook | 机器学习在安全和完整等方面的探索
随着电子商务的崛起,云计算的爆发以及社交网络的大面积普及化,使得商业业务创新和开展越来越容易,轻而易举使用大规模资源和服务,全球化信息互动和共享已经可以同步,总的来说世界正在变得越来越小。
但是,信息安全和商业诚信问题却不断增加,面对每天超过 PB 级的不平衡和模糊大数据,实时机器学习和解决方案面临着巨大的挑战。这样的要求在各个领域越来越多,促发了许多突破性的研究成果和应用。
Facebook 软件开发经理 Bin Xu 将会带领大家快速浏览一些安全问题,然后讲述 Facebook 机器学习平台,重点讲解能够处理当下棘手问题的相关先进技术和解决方案以及一些真实的应用效果。最后会分享几个最近机器学习在安全应用上的特别案例。
Google | 深度学习在大规模推荐系统中的应用
Dekun Zou 是 Google 研究院的资深研发工程师,负责研发 Android 应用商店、Google 广告排名等基于深度神经网络的推荐系统,曾就职于 Apple 与 AWS。
随着深度神经网络在图像视觉领域的突破,很多研究人员开始利用神经网络搭建深度推荐系统,推荐质量显著超越传统基于线性回归系统,而深度推荐系统被广泛应用于 Google 多项面向用户的产品,一次又一次的突破质量瓶颈。
此次 Dekun 的分享将会由浅入深探讨如何构建基于深度学习的推荐系统,并讨论最新的技术发展,涉及 Google 深度学习中信号类别、深度挖掘、最终排序、离线训练、在线训练、损失函数等实践细节。
Netflix | Going FaaSter
Netflix 是业界微服务和 DevOps 楷模,是欧美地区最大的网络视频提供商,也是全球最大的云计算实例,此次将和大家探讨 100% 业务运行在 AWS 上的未来 IT 架构模型。此次 ArchSummit 上 Netflix 首席软件工程师 Yunong Xiao 将前来谈谈当前热点实践之一:Function as a Service。
FaaS- 函数即服务的最终目的和 PaaS 类似,让开发者关注在开发本身,服务由服务商提供。那为什么 FaaS 是未来开发的一个趋势?现在 FaaS 的说法还不太一致,但是可以明确的是 FaaS 是 PaaS 能力的一种缩放,缩放到 Function 级别。
eBay | QE 团队向工程效率团队转型的实践之路
目前,包括 Google 等跨国互联网公司的研发团队都在经历“去除 QE(Quality Engineer 质量工程师)”的组织架构转变,为此 Google 也暂停了 2017 Google Test Automation Conference 并寻求向工程效能(Engineering Productivity)的转型。
相应地,QE 团队也正在逐渐向工程效率团队转型。在此过程中,如何运用原本 QE 团队积累的技术优势来设计和构建高效的测试基础架构,CI/CD,DevOps 以及其他的支持工具链生态体系以应对工程效率提升就变得尤其重要。
eBay 此次分享将围绕在这一领域的工程实践,探讨 eBay 的最佳成果,也会详细讲解什么样技术特质的组织适合“去 QE”;以及 eBay 测试架构的微创新项目设计思想和应用场景。
阿里巴巴 | Flink SQL:使用标准的 ANSI SQL 驱动大数据流计算
近些年随着大数据技术的不断发展和成熟,无论是传统企业还是互联网公司都已经不再仅仅满足于批处理,对流处理的场景和需求也越来越强烈。SQL 是大数据处理中使用最广泛的语言。它允许用户简明扼要地声明他们的业务逻辑。数据分析师通 常没有复杂的软件编程背景,但他们可以使用 SQL 来分析数据并为业务决策提供支持。
在流计算领域,除了 Flink 之外,其他一些流处理框架(如 Kafka 和 Spark Structure Streaming)也具有类似于 SQL 的 DSL,但它们与 Flink 的语义不同。Flink 的 SQL 完全遵循 ANSI SQL 标准,而 Spark 和 Kafka 提供的 DSL 都是非 ANSI SQL 标准的。
阿里巴巴的核心业务现在完全由数据处理引擎 Blink 驱动,它是一款阿里巴巴实时计算部基于 Apache Flink 改进的项目。阿里内部几乎所有的 Blink 作业都是由 Flink SQL 编写的。
本次分享将介绍遵循 ANSI SQL 标准的好处,以及 Flink SQL 是如何实现这一目标,以及 Flink SQL 在阿里内部的大规模应用的场景和经验。