一份实践性超强的架构部操作手册,拿走不谢!

2018 年 1 月 24 日 DBAplus社群 史海峰


作者介绍

史海峰现任饿了么技术创新部高级总监,超过15年传统IT、互联网领域研发、架构实战经验。个人微信公众号: IT民工闲话。

注:本文已经作者授权转载。


本人曾经负责某互联网电商公司架构部,离职交接时写过一篇交接文档,叫做“架构部操作手册”,如今时过境迁,里面很多信息已不再敏感,脱敏处理后分享,大家可以从中看到架构部的具体工作情况。


PS:每个公司的部门分工、流程、机制由其文化、历史、人员背景等决定,无一定之规,仅供参考。



一、部门简介


架构部属于技术部中的公共部门,面向技术部整体,在架构层面负责,包括三个小组:架构与规范、应用架构研发、性能测试,并组织技术委员会。


1.1职责


1.1.1架构与规范


负责系统架构蓝图设计,系统设计的合规,架构的持续改善与治理,研发流程的规范制定与审查,提升整体技术架构水平。研发公共技术组件,推进技术体系规范化,架构合理化,实现平台化、功能通用化,提高技术能力,使系统具备更强的灵活性,满足公司业务战略发展需要,实现业务技术一体化。


1.1.2应用架构研发(基础平台)


负责技术基础应用平台体系的搭建,包括项目管理、自动化编译部署、应用监控告警、报单处理、数据库元数据管理等通用系统的设计开发。提升技术部的自动化、工具化水平,提高工作效率,强化运维能力和信息化管理能力。


1.1.3性能测试


负责对性能要求较高的核心系统、技术组件进行线下和线上性能测试,提前发现性能问题、验证系统性能指标达成情况,确保系统更为稳定。


1.1.4技术委员会


根据公司业务发展战略需要,关注电商业务场景需要的大流量、高并发、高可靠性、实时性、平台化、服务化的底层技术。针对不同领域组织专家小组、课题小组,实现跨团队技术共享与协作。定期组织技术沙龙,分享外部技术热点,挖掘内部技术成果,收集技术资料供技术部学习。与外部协作举办线下技术沙龙,邀请外部专家,与其他公司进行技术交流,向业界技术会议推荐专家讲师(进行报备及主题审核),进行主题分享,发表技术文章,活跃团队技术气氛,强化公司技术品牌。


1.2人员组成


1.2.1架构与规范

已略,主要由架构师组成。


1.2.2应用架构研发

已略。


1.2.3性能测试

已略。


1.3产品线


1.3.1 技术框架、组件

已略。


1.3.2 基础平台


项目管理系统PDLC

自动化运维部署平台

应用监控平台

服务监控系统

报单跟踪系统

资源管理平台

代码构建仓库

代码检查工具


二.日常工作


2.1架构与规范


2.1.1架构


  • 业务架构


系统列表


收集整理系统列表:参见Twiki


因采用PDLC进行技术团队项目管理,PDLC中包含此功能,应以PDLC为准。


系统架构总图


最新版参见:架构部工作文档\01.规划\系统清单


系统分级


根据系统重要程度分级,参见文档:架构部工作文档\01.规划\系统分级

为评估双十一影响,曾对一级系统进行过梳理,参见Twiki


为便于管理,PDLC上已有可填写级别的功能,但未强制填写和管理。


系统分层


复杂系统需要有清晰的层次划分,一般自上而下调用,避免逆向依赖而导致循环依赖。


一般分为前台、中台、后台。


前台包括面向用户的页面、我的订单、营销活动等系统。


中台包括通用服务,搜索、推荐、数据、购物车、交易、客户信息、商品信息、价格、库存、促销、礼券、礼品卡、商家、积分、支付、全站配置等系统。


后台包括订单、退换货、客服、TMS、WMS、财务、结算、ERP等系统。


架构规划


对未来系统架构进行规划,明确边界划分,指导产品线设计,避免重复建设、长期缺位等问题。


参见:

架构部工作文档\01.规划\业务架构蓝图

架构部工作文档\01.规划\业务系统架构蓝图规划汇总V7.0.2.pptx

架构部工作文档\01.规划\电商云平台可行性调研报告V1.0


  • 系统架构


系统成熟度


根据不同的系统类型,定义成熟度标准,梳理各系统当前实际水平,指导系统演进。参见Twiki。


项目支持


根据需要对具体项目进行支持,包括:

  1. 前期调研,设计方案,如:O+O、拍卖、直播。

  2. 根据项目需要,参与项目需求分析、技术方案设计、上线部署准备。

  3. 主导项目架构设计、核心代码实现、技术难点公关,如:WMS、TMS


架构评审


技术设计方案评审,在PDLC上登记,每周三下午定期举行,特殊情况可临时评审。


要求尽可能早、同一个项目各系统一起进行架构评审,这样可能根据建议进行调整。

架构评审重点在于把关,提高研发设计能力,考虑全面,达到基本要求。

有争议的设计方案可以打回,无法达成一致则升级决策。


技术部自发的重点重构项目往往忽视架构设计评审,导致后续开发、测试、上线、运行出现问题。


  • 技术架构


技术调研


对互联网、电商领域新兴技术进行调研,跟踪趋势,分析优劣,根据公司实际情况提出实行建议。比如日志中心、Redis集群、容器化、微服务等。


技术组件、框架、平台


公司技术架构体系并不完整和统一,需要逐步完善,并重在解决实际痛点和获得技术部广泛认可。技术架构作为基础,逐步完善意味着整体技术水平提升,并以技术提升效率,降低成本和风险,创造价值。


路线是组件到框架到平台,由易入难,由轻落重。


重点: 稳定性、易用性、分布式场景可靠性、持续升级。


技术支持


响应各技术团队技术咨询、协助解决技术问题,重点在于架构部推广的框架、组件、平台。


  • 技术债


架构部应关注技术维度问题,立足当下、面向未来、对过去心中有数,知其然亦知其所以然。


总结解决方案、建议,参见:

架构部工作文档\09.分享\公司建议-史海峰.docx

架构部工作文档\09.分享\战略会建议.xlsx


2.1.2规范


汇总技术规范并发布,规范可来自其他部门。


  • 设计规范


技术方案设计规范

数据库设计规范

项目架构设计文档规范


  • 开发规范


CodeReview规范

代码质量检测

SQLReview规范

Maven使用规范

PHP/JAVA开发规范

单元测试规范


  • 流程规范


PDLC流程

域名申请流程

开源申请流程


2.2应用架构研发


2.2.1管理机制


各系统有主要负责人,相当于内部PO。

采用PDLC敏捷方式进行任务管理,跨职能,交叉测试。

架构部自身管理也应结合在PDLC之中。


2.2.2关注重点


待完成任务登记列表:

  • 系统稳定性、易用性、监控全面性。

  • 技术部各团队潜在需求。

  • 通过PDLC、Pangu、监控系统数据统计分析使用情况及发现问题。

  • 关注线上系统运行情况。

  • 监控系统的监控方案。

  • Nagios年底下线。

  • 跨机房部署方案。

  • Tracker告警短信接口超时问题。

  • 告警是否可以扩展到钉钉、微信等通知。


2.2.3发展方向


完善基础平台,各系统打通,发挥协同作用。


作为自研技术组件和新技术的试点应用平台。


2.3性能测试


2.3.1流程


测试任务由架构部内部发起,或其他部门通过项目经理提出,任务需登记在PDLC中。


性能测试的发起来源:

  1. 研发部门根据项目改动发起,包括页面性能测试。

  2. 架构部参与项目设计时明确。

  3. 架构部评审项目设计时提出。


2.3.2重点


测试项目文档、结果、报告、脚本做好备份。

尽可能了解业务场景,有针对性制定性能测试方案,最大程度发现问题。


对测试结果负责,了解问题原因,有问题务必通知到项目经理,避免影响上线决策。

测试环境尽可能与线上一致,模拟请求符合业务场景,线下测试主要目标发现性能瓶颈及隐患。


2.3.3发展方向


开发自动化测试工具,实现自动化、平台化、可复用,节省人力,提高效率。

对线上系统实现常态化、自动化性能测试,以性能指标、趋势衡量系统。

将性能测试工程师升级为测试开发工程师及性能测试专家。


2.4技术委员会


2.4.1内部沙龙


定期举行技术沙龙,邀请外出参会人员、内部有成果成员、新加入架构师进行分享。


2.4.2专家小组


根据实际需要,组成针对专门领域的跨部门技术专家小组,加强协作,以强化对专门技术的掌握,提高整体技术能力。


2.4.3外部交流


与其他公司进行技术交流。

邀请外部专家到公司分享交流,可从HR培训部申请经费。


2.4.4外部沙龙、大会


分享外部沙龙、大会信息,与HR培训部沟通,申请参加。

推荐技术骨干作为嘉宾,到外部技术沙龙、大会进行分享。

在业界技术社区、网站、公众号发表文章。 


2.4.5开源社群运营


基于自研开源产品,通过GitHub、QQ群、微信群维系社群,响应问题,发掘贡献者,进行技术支持。


2.4.6内部社群运营


通过技术部组织跨部门技术QQ群、微信群,增加部门沟通,便于咨询交流。


三.部门长管理职责


3.1部门管理


3.1.1部门周会


每周五上午10点-11点,结合部门周报,总结工作成果及问题,明确后续工作,传达公司、技术部信息,记录会议纪要,安排内部分享。


注意:会议室预约可能会被定期清理。


3.1.2技术部周会


每周一下午2点,会前会收集其他议题。

架构部周报经整理后写入sharepoint。

会上各部门汇报上周工作情况,架构部应了解各部门情况,并参与相关问题讨论。


3.1.3部门绩效


目前技术部实行季度考核,每季度各部门与HR指定KPI,季度结束后进行考核,其中一定比例为CTO打分。

每季度会发放绩效奖金,部门绩效会影响部门总奖金数及人员考核结果分布比例。


3.1.4月总结


每月会安排各部门反馈月总结及下月计划。

月总结通过周报汇总即可获得。

一般更关注各产品线情况。


3.1.5与CTO1V1


每两周周四下午3点-4点,汇报架构部各项工作进展及问题,反馈一些想法,与CTO进行深入讨论。

听取CTO的指导和建议,保持思路同步。


3.1.6招聘


与HR招聘组对口负责人协作,通过邮件筛选简历,安排面试时间及人员,架构师也需要笔试。

架构师需要CTO终面,终面时间可另行安排。

其他职位负责终面,介绍架构部情况,明确具体职责及加班要求,询问待遇要求及当前offer情况,将结果反馈给HR。


对新员工指定导师,确定试用期目标,结束前评估达成情况,打印签字后交给HR,以便转正。

发布招聘信息,尽快招聘到位,避免长期空缺造成人员浮动。

新入职架构师需安排在技术部范围内进行分享。


招聘JD参见:架构部工作文档\08.招聘\架构部JD.txt


3.1.7培训交流


负责对技术部新员工进行系统架构培训、技术方案设计培训,包括应届生,并针对应届生安排Java基础培训。

负责对有需要的业务部门和外部公司讲解公司系统架构。


3.1.8资产管理


管理部门成员使用的办公电脑、开发测试环境服务器、线上生产环境服务器。

关注申请服务器到货情况。

TOP100奖牌1个。

架构部T恤3件(L/M/S)。

技术沙龙背景海报易拉宝1个。


3.1.9开发管理


敏捷管理:项目经理负责,迭代任务计划制定、任务分配(注意交叉测试)、站立会、迭代总结。

代码备份、SQL备份

代码规范、检查

测试要求、报告

登记待完成任务。


3.1.10日常审批


OA报销。

E-HR请假、外出、补签,关系到工资发放,需及时审批。

Tracker审批上线、SVN权限开通等。


3.1.11其他


传达公司、技术部政策、公开信息。

配合协调加班、系统巡查、双十一支援等其他事宜。

要求部门成员请假、外出设置邮件自动回复、以及工作代理人。

查看各系统运行情况,关注监控。


3.2团队管理


3.2.1绩效考核


每季度对部门成员进行绩效考核,根据HR要求分配考核结果。

考核结果会影响未来的晋升和加薪资格。

架构部因职责、能力差异较大,主要以集中答辩评分、部门长主观评价及参考工时确定。

需关注、强调成员平均工时情况,进行提醒,此为公司要求,HR会进行统计。


3.2.2晋升及加薪


每半年技术部有一次晋升答辩,高级水平以上需要公开答辩,初中级各部门自行评审。

晋升一般要连续两次考核B以上,以HR提供规则为准。

晋升会获得较大加薪,每半年也会有普调,两者资金隔离。

晋升加薪及普调加薪,需部门长根据情况分配。


3.2.3 1V1


定期(如每两周)与团队成员1V1,半小时,沟通近期工作、问题、后续工作方向,个人成长目标,对公司、团队的想法。


3.2.4内部分享


每周安排一名同事进行内部分享,分享内容尽量以技术为主,30分钟以内。

强化内部交流氛围,提高分享技能。


3.2.5资金管理


每季度每人150元左右活动经费,由部门福利专员管理。


3.2.6团队建设


可根据需要定期举行团建活动,可安排部门福利专员组织。


3.2.7申请奖项


每月HR会征集总裁认同奖及技术部部门认同奖,包括个人奖及团队奖,可根据情况提报。

申请到的认同奖,可留一部分作为团队经费,一部分聚餐,剩余大部分根据贡献分配发放到个人。


3.2.8通讯录管理


新员工入职,要收集手机号,并加入微信群、QQ群,确保加入正确的邮件组。


四.通讯录


HRBP

HR招聘

HR-E-HR管理

HR-BP-Header


五.备注


架构部Twiki主页:

架构部相关历史Twiki:

架构部Sharepoint主页:

外部技术大会资料(上传需在ITSupport申请开通权限):

\\file\技术部\技术部分享\技术部培训资料\外部培训及会议资料

架构部资料:

\\file\技术部\技术部分享\架构部

架构部人员信息: E-HR可以查询。




近期热文

独辟蹊径:基于产品思维驱动运维自动化建设

虎牙直播的SRE实践与思考

纲举目张:打通MySQL架构和业务的任督二脉

抛开噱头与调侃,认真谈运维的职业发展和自我修养

Hadoop跑满状态下的Yarn资源管理谈


近期活动

深圳:互联网金融技术沙龙

(点此链接或图片了解更多详情)


青岛:运维与架构管理技术沙龙

(点此链接或图片了解更多详情)

登录查看更多
0

相关内容

【干货书】现代数据平台架构,636页pdf
专知会员服务
255+阅读 · 2020年6月15日
最新《自动微分手册》77页pdf
专知会员服务
100+阅读 · 2020年6月6日
华为发布《自动驾驶网络解决方案白皮书》
专知会员服务
125+阅读 · 2020年5月22日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
235+阅读 · 2020年5月21日
Python导论,476页pdf,现代Python计算
专知会员服务
260+阅读 · 2020年5月17日
【大数据白皮书 2019】中国信息通信研究院
专知会员服务
137+阅读 · 2019年12月12日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
如何做数据治理?
智能交通技术
18+阅读 · 2019年4月20日
金融风控面试十二问
七月在线实验室
20+阅读 · 2019年4月9日
OLAP引擎这么多,为什么苏宁选择用Druid?
51CTO博客
12+阅读 · 2018年12月20日
《人工智能转型手册》,吴恩达 著
人工智能学家
21+阅读 · 2018年12月14日
Arxiv
102+阅读 · 2020年3月4日
Heterogeneous Deep Graph Infomax
Arxiv
12+阅读 · 2019年11月19日
Self-Attention Graph Pooling
Arxiv
13+阅读 · 2019年6月13日
Few-shot Adaptive Faster R-CNN
Arxiv
3+阅读 · 2019年3月22日
Arxiv
4+阅读 · 2018年4月29日
Arxiv
5+阅读 · 2018年2月26日
VIP会员
相关VIP内容
【干货书】现代数据平台架构,636页pdf
专知会员服务
255+阅读 · 2020年6月15日
最新《自动微分手册》77页pdf
专知会员服务
100+阅读 · 2020年6月6日
华为发布《自动驾驶网络解决方案白皮书》
专知会员服务
125+阅读 · 2020年5月22日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
235+阅读 · 2020年5月21日
Python导论,476页pdf,现代Python计算
专知会员服务
260+阅读 · 2020年5月17日
【大数据白皮书 2019】中国信息通信研究院
专知会员服务
137+阅读 · 2019年12月12日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
相关资讯
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
如何做数据治理?
智能交通技术
18+阅读 · 2019年4月20日
金融风控面试十二问
七月在线实验室
20+阅读 · 2019年4月9日
OLAP引擎这么多,为什么苏宁选择用Druid?
51CTO博客
12+阅读 · 2018年12月20日
《人工智能转型手册》,吴恩达 著
人工智能学家
21+阅读 · 2018年12月14日
相关论文
Arxiv
102+阅读 · 2020年3月4日
Heterogeneous Deep Graph Infomax
Arxiv
12+阅读 · 2019年11月19日
Self-Attention Graph Pooling
Arxiv
13+阅读 · 2019年6月13日
Few-shot Adaptive Faster R-CNN
Arxiv
3+阅读 · 2019年3月22日
Arxiv
4+阅读 · 2018年4月29日
Arxiv
5+阅读 · 2018年2月26日
Top
微信扫码咨询专知VIP会员