技术调研的经验分享
1 声明
本文是技术调研的个人经验分享,仅作交流,不喜尽管喷。
2 技术调研简介
随着数据更新和硬件的迭代不断加快,技术也加快更新的步伐,特别是像大数据、人工智能(AI)、深度学习等技术分支领域的遍地开花。作为技术人员,我们面对突入其来的技术风暴该怎样抉择呢?比如大数据、Flink比较流行,Deep Learning比较火,我们该从哪里入手呢?本文将结合笔者的经验来分享研究一些新的技术。
业务和场景决定技术选型
业务是上帝,业务决定了公司用到技术的类型。如果公司想上线一个海量数据的离线处理系统,这时很容易想到hadoop环境,如果是实时的场景,则要考虑spark、flink等。当然技术的选型绝大部分时候都不能很任性,如果公司是自有产品的,自然可以灵活的根据需要来选择。如果公司是服务于甲方但又没用技术选择决定权的,自然按照甲方指定的路线走。
调研前的环境储备
巧妇难为无米之炊,没有环境自然无非验证技术的可行性,所以服务器或者虚拟机环境是要有的。如果公司不方便,至少在自己的笔记本上装个虚拟机来演练一把。记得笔者往年为了验证1代apache hadoop升级到2代CDH hadoop时曾在自己笔记本上虚拟化出5台虚拟机,为得是完全模拟生产环境以确保验证的效果。
调研前的技术储备
既然环境有了,那么相关的工具和命令我们要熟悉。比如常见linux命令里怎么看系统的配置信息、用户的权限、查看并跟踪安装日志、升级配置系统包等等。我们这里常用的操作系统环境一般指的是Linux派系的,比如CentOS、Ubuntu、RedHat等。
调研前的技术选型
既然场景定了,技术选型自然也就明确了。比较简单的方法就是找度娘或者谷歌寻求一些开源的解决方案。如果当前调研领域是第一个吃螃蟹的,尽管这种情况很少,自然需要自己的官网探索。
构建自己的环境
如果网上有参考,可以借鉴该工具的部署方法但不能全部照搬,因为每个人的环境是不一样的。拿到别人的方案第一步显然不是直接动手操作,而是通读一遍,熟悉全部的流程和可能的出错点,这样做会避免走很多弯路。
上手官网文档
众所周知大部分的开源工具都是国外的 ,也就是说技术研究者不可避免的要有点英文底子,不然咋后续咋进行呢?!直接对着工具一个个的试试API显然效率太低,而且一般正规的开源工具都会有documentation(技术文档)。沿着文档的目录结构,我们一般先了解工具的架构、使用手册(适合直接外部使用的情况)、API文档(一般会有调用示例),当然这个环节最主要的就是多使用,试错。
形成技术文档
在工具调研(使用)时记录出错的问题和经验,有些方法或者命令可以按照传统的工具去套,但如果有差异就需要记录下来。为了方便技术的沉淀,有时间完整的记录下通俗版使用、调研、问题跟踪是最好的。
交流发布技术文档
交流时可以多看网上同类的问题,交流是为了更好的认识和完善对工具的认识,这个过程是持续的,需要像记笔记一样的记录并体现在现有的技术文档内。发布就要看自己公司的要求,如果有保密制度,自然要遵守。一般不涉及到公司数据泄密的技术文档都可以公开,毕竟分享是一种美德。