很荣幸跟几位同事一起参加了 GMTC 全球大前端技术大会。本文按主题梳理我的现场笔记与思考,涵盖工程化、性能与监控、团队管理等方向。

全干工程师

会议第一天继会议主编发言之后,就开始了由快手俞天翔大佬带来的《从“全干”工程师的发展路径看前端的定位与价值》。在分享中俞天翔老师表达了对前端定位和价值的观点。前端技术具有先天的优势,可以在不同的平台上运行,为前端同学提供了更多可能性,从跨端到全栈再到“全干”。从整个产品的开发交付流程上看,前端几乎在所有流程节点中都能有应用场景。包括各类前台业务支持:大型活动页面、直播、电商等业务,各类管理中台系统,各类提效后台系统和各场景上的基础建设。俞老师认为前端的挑战和价值的重点在工程化。如何理解工程化呢?探索并应用合适的技术,通过合理的抽象与分层,完成平台建设、业务落地、完善基建,辅助业务落地持续拿战功的同时,体现自身价值。

那在工程化上我们该如何实践呢?俞老师从价值、路径和结果,三个方面分析了对工程化的思考。首先在实现路径上我们需要对方案做简化降维,将复杂的问题拆解成单一的问题,然后再进行逐个击破。这样对于系统的可维护性和实现成本都有明显的优势。平常我们在做工程化项目的时候,往往目的都是为了保证开发流程的稳定、高效运行,不受限于某个开发同学或某项特定技术栈的支持。那么就需要将零散、复杂的提效工具整合成完善的服务或平台形态,减少‘人’在系统中的依赖,降低用户使用和理解成本,并且可以保障各项关键节点的溯源和权限管理。像这样完成项目后,在价值体现上我们可以从降本维度,包括直接成本和间接成本,如服务器数量、cdn费用、人力投入上去考虑。还可以通过交付质量层面,对业务系统的表现力、性能情况、稳定性提升等方面去考量工程化系统的价值所在。

性能与监控

下午场去参加了大前端监控话题的分享,现场异常火爆。可能是因为随着互联网业务稳步发展,整个前端体系也逐渐走向精细化运营和质量开发,用户体验问题也越来越受到开发者重视,前端监控变得尤为重要。在本专题会上各位老师都介绍了自家公司监控产品的实现方案和探索方向。

  • 前端监控演进——如何提升问题发现率

阿里的墨辉老师,从问题发现率的角度出发,探索了在技术指标稳定的情况下如何快速发现线上业务问题,如何通过异常检测方案、业务监控和告警策略,提升线上业务问题的发现率。

  • 大前端精细化治理——组件 ID 机制

去哪儿网的江保贵老师,从精细化治理角度出发,通过建立全端层面的组件ID机制,解决线上快速定位问题能力。并通过建立用户体验评分模型,对各维度数据进行汇总计算,得出相对全面的用户体验评分系统。从而实现对平台应用质量的全面把控,及时发现各应用的薄弱环节规避风险。

  • 北斗大前端监控系统建设与实践

58同城的李祎老师,给我们详细介绍了北斗大前端监控系统的架构方案。包含SDK层:JSSDK、RNSDK、NativeSDK;数据收集层:数据采样、清洗、转换、转发;数据存储层:日志明细、指标数据;核心服务层:告警分析、采样率计算、日志整合、可视化平台业务;可视化平台:日志查询、可视化图表分析。

另外在多端异常问题定位上,李祎老师也给我们提供了不少思路。在JS异常分析过程中为不同场景提供不同的定位工具。包括源码自动映射,智能维度分析,执行链路日志,场景模拟还原和自定义日志查询,尽可能为所有问题场景提供可用的数据支持和解决思路。在智能维度分析上,通过对维度占比排序和逐步减少条件的方式,找到占比最大的条件组合来实现智能分析。

  • 腾讯前端监控体系建设

腾讯的李振老师,从多平台监控SDK、百万QPS上报的接入层和限流与网关这几个方面,给我们分享了他们的实践方案。目前腾讯的RUM(Real User Monitoring)支持的接入平台数量众多,通过单一平台单个sdk的方案,存在代码维护困难,协同成本高,发布版本不一致等问题。为了解决这些问题,他们采用了胖内核、异步插件、灵活配置插件组合的方案。中间经历过多次重构迭代,通过不断重构使设计模式和架构更趋于合理,提高SDK的拓展性和维护性。

另外在监控系统中,还有一个比较常见的问题就是数据量太大,对服务和性能的要求太高,并且可能出现不可预期的数据高峰情况,导致系统崩溃。通过在上报前的数据限流,清洗数据时的数据丢弃,定时缩扩容等方案处理之后,还是无法解决流量突增的问题。在不断摸索和试错过程中,他们通过新增动态中间网关层的方式,解决了流量突增的问题。这样的场景可能在一般的企业中是不太会出现,但是不乏也是一个解决相关问题的思路。

团队管理

在团队管理专题场上,汇集了各位业界大佬的经验总结,满满都是干货。第一个分享,来自京东零售的盖旭天老师 – 《低碳背景下的技术管理》。在全球低碳背景下,业务追求创新愈加强烈,技术团队需要在无法大范围扩张的前提下,该如何考虑技术团队的管理呢?盖老师从技术战略的思考,低碳组织打造和成本减法与提升效能案例上,对其做了阐述。低碳组织打造,主要分为五点:组织飞轮,组织战略屋,定高起点,管好过程,拿量化结果。

第二位则是58集团前段技术委员会主席井铎铎老师 – 《二手电商前端团队价值之路》。从前端团队价值、决策力,个人突破阐述了对团队管理的理解,并根据他的经验做了详细介绍。前端团队价值在于高效保证业务交付,创造更好的用户体验。决策力是管理者为实现总体目标,解决局部重要问题的一种选择。决策的本质是基于收益、损失、时间纬度的取舍。个人突破关键在于向上管理、升维思考、非正式网络构建和自我意识,最后让自己的工作进入心流状态。

总结

由于篇幅有限,无法把所有分享都列出来,这里只是列举了让我印象深刻的几位老师的分享,最后谈谈我对这次大会的一些感受。

  1. 这次大会上听到最多的词应该就是“提效”了吧,在很多分享上都能听到老师提到这个词。面对全行业都在说提效的大环境,作为一个基建团队的开发同学。我们应该调整思考问题的方式和角度,应该更多的去倾听业务线团队的声音,解决他们现有的痛点和问题,以保证业务持续增长为最终目的。做基建项目的节奏应该调整为以满足单一业务需求为起点,保证拓展性的同时,尽可能降低开发成本。直到公司内多业务线,多场景都有相同需求时,才去做公司层面的抽象,形成平台化的产品,这样对开发效率和开发成本都有很好的控制。尽量避免一开始就做大而全的产品,这样最后可能不一定有很好的ROI。
  2. 在目前前端体系也逐渐走向精细化运营和质量开发,用户体验问题也越来越重要,很多时候在现有复杂的业务场景下,很难只通过某种技术迭代或技术架构重构,就让产品的体验上升一个台阶。这种情况下,就需要我们对线上体验情况有更加精准的掌握,也对我们的前端监控能力提出了更高的要求,不能只停留在基础的技术指标层面。需要对指标变化的根因有细致的分析和处理。
  3. 团队管理方面,在目前的大背景下,很多时候不能通过直接招聘的形式来获取更多生产力,那就需要团队自身能够更加高效。高效的同时还需要对需求有清楚的辩识,哪些需要做减法,哪些需要持续投入。
  4. 个人成长方面,练好内功在什么样的环境下都是保护自己的最好方式。在工作时,时刻要提醒自己,不要做工具人。通过技术方案让自己不做工具人,通过沉淀输出方法论,避免自己做工具人。在保证身体健康的同时,多实践,多学习,持续保持竞争力。

以上是基层小前端的浅显总结,有什么不对的地方欢迎批评指正。