郑昀 建立于2016/3/30 最后更新于2016/4/8 html
关键词:技术预研课题,平台设计,应用场景,故事,信息架构,业务流程,数据流程 redis
本文档适用人员:全体研发 算法
提纲: 数据库
如何从零开始搭建一个技术平台? 缓存
应用场景其实就是咱们的愿景 服务器
从应用场景推导出故事 微信
从故事推导出信息架构和业务流程 架构
一,如何从零开始? 运维
若是让你把下面这套技术体系串联起来,从零开始构建一个技术平台,你如何作需求分析呢,在没有产品经理帮助你梳理的状况下? 异步
下面这些系统涵盖了咱们研发测试运维平常工做的方方面面:
idCenter:它定义用户、用户组、权限。研发测试都有了惟一的身份和权限集合,贯穿全部系统。
iDB:数据库自动化运维系统能把数据库建账号、授予权限、建表、改表结构、刷库这些平常操做都变成流程,DBA审核经过后就能够自动执行,以及自动回滚。
Touchstone:容器私有云的管理控制台,管理镜像库、应用、容器、主机等。平常发布就在这里作。
JobCenter:定时任务调度和管理。
Summoner:大型计算任务的调度和管理。云纵佣金计算就是在这上面跑的。
Notify:异步消息可靠推送。全部的异步消息都走这个中间件。
Discache:管理memcached和redis。
OAP:运维自动化系统。主要是资产管理、资源管理和发布。
Secret:天机和鹰眼。数据库、Java、PHP、业务指标,监控报警都作进来了。
你就是一个说故事的人,为了保证你们对故事的理解没有误差,因此你们『都但愿你说得具体点儿(User Story),把故事落实在产品的需求点(Product Backlog),而后在这些需求点里面排出优先级(Sprint Backlog),而后排出版本(Version),这样兄弟们作开发和不断燃烧(Burn Up)』。[注1]
即,
/*
先有场景, \
再有故事, \
经过故事拆解出信息架构,即菜单结构和功能点, \
最后纳入某个版本, \
在全部的故事、功能点和版本都肯定以后,咱们就进入不断的排序优先级和循环的过程。
*/
二,何谓应用场景?
你们也许会注意到,当我发起技术预研课题时,我一般都会给出我想象中的、心目中这个课题的愿景,以一个目标用户是如何使用这个平台的应用场景的方式。
譬如说:
本地生活服务商户“魔镜”计划
|
这就是愿景和场景。
咱们对于上游业务部门流转过来的需求,也必须熟练运用下面这种逆推能力:
先构造出合乎逻辑的多种应用场景,而后回头审视本身的概念设计、功能设计、信息架构设计是否正确。若是你的表结构等设计不符合这些应用场景,一定是你的设计不对。
WHY?
不合逻辑,必有问题。
再举一个应用场景例子:
预研课题:CloudEngine |
场景CE-main-004:服务器申请 |
服务器申请的步骤有:
使用者:研发经理,配管,SA 目的:既能在环境初始化时解决 stable 环境的发布,也能在环境就绪以后新建临时应用时的服务器申请和发布。 |
有了应用场景,就能够针对不一样的用户设计故事。
三,从应用场景推导出故事
顺着场景展开,就能够获得一个又一个的故事。
譬如说,对于上面的场景,咱们能够针对用户“研发经理小丁”来设计 User Story,咱们看到了什么,操做了什么,又获得了什么结果:
对应的场景:场景CE-main-001,登记和维护应用 |
||||||||
用户:研发经理小丁 故事CE-main-001-story-01:
|
||||||||
越细越好,越有助于设计页面,理解系统须要提供哪些接口和数据。
四,从故事推导出信息架构和业务流程
顺着故事,咱们能够假想出人们是怎么抵达这些故事的。与此同时,即便是同一个应用场景,也会有多种进入途径。
譬如说,小丁同窗既能够在首页的工做台上进入应用维护功能,也能够在二级菜单上找到对应的入口。以下图所示:
经过上图,咱们能够整理出信息架构:
首页(工做台):应用快捷入口,环境快捷入口,……
应用管理-应用列表(建立应用、编辑应用)
环境管理-环境列表(公共配置查看、公共配置编辑)
故事越写越多,进入途径梳理清楚以后,咱们就能总结出须要哪些 Dashboard、一级菜单、二级菜单,进一步还能整理出业务流转流程。
以上这种思考问题和推演方法,有助于咱们从零开始,一点点切入平台,而不是像下面这样“拍脑壳”地逆向设计:
先构想一级菜单和二级菜单
再构想菜单点击以后须要实现的功能点
最后在作页面组织
咱们的技术预研课题通常都围绕着这四个核心概念:
资源
数据
流程
操做
开始构建一个体系。
咱们顺着 场景——>故事——>信息架构——>业务流程——>版本——>功能点,就能够把咱们所掌握的资源(虚拟机集群、Docker集群、物理机、……),外界采集的数据(组织架构、员工信息、有效门店、交易……),业务流转的流程,各个部门的操做,顺利地结合起来。
注1:
这段『User Story-Product Backlog-Sprint Backlog-Version-Burn Up』的文字出自于《产品的视角:从热闹到门道》(百度产品架构师鲁克著)。
延伸阅读:
技术平台方案集:
#研发解决方案#分布式并行计算调度和管理系统Summoner
#研发解决方案#基于Apriori算法的Nginx+Lua+ELK异常流量拦截方案
#研发解决方案介绍#基于StatsD+Graphite的智能监控解决方案
#数据技术选型#即席查询Shib+Presto,集群任务调度HUE+Oozie
-EOF-