赞
踩
对于传统的软件研发而言,开发,测试,运维,运营,有不同的岗位进行分工协作,以保证质量和专业度,同一件事情,依赖不同岗位的排期、沟通、协调,效率难免会有打折。而对于互联网业务来说,快速的迭代,对人力的需求非常强烈,不大可能有足够的人力支撑这么多岗位。同时跨部门的沟通,强烈影响了项目的进度,因此一些快速发展的团队,开始推行DevOps,自己做测试,保证代码质量,自己上线运维,监控告警。亚马逊很早就开始推行"you build it, you run it"的文化。由于自己对自己的做事情很清楚,因此效率也会很高。这就是DevOps。
DevOps责任多,事情多且杂。一天的时间怎么分配?我作为研发,肯定是希望一天90%能够专心的写代码。但实际上只有20%的时间来写代码,其他的时间做什么?帮用户调查问题,处理工单。做线上的运维等等。用户提了一个工单,你要立马放下手中的工作去帮用户调查问题。结果就发现时间被碎片化了,一天中很难有大块的时间去专门做研发。
怎么解决研发过程中时间碎片化的问题?我们原来做了很多重复性的工作,这些工作可以总结和沉淀下来,通过工具帮我们去沉淀。我们原来需要调查问题的时候,才登录集群要抓日志;现在做一个采集日志的工具,把所有日志的实时采集到云端,当需要看日志的时候,我立马就可以在服务端看到所有的日志信息。原来需要到机器上搜索日志,现在在云端做倒排索引,直接就可以搜索到整个集群的日志。原来我可能要用excel做一些数据分析的工作,去分析我的运营效果怎么样。现在在服务端实现一套实时分析的计算引擎,再加上可视化功能,帮助做各种各样的报表。原来调查问题的时候要登录集群上,用vim打开集群上的日志,看文件上下文是什么样子的。现在在云端做一个上下文关联的功能,直接在云端就可以看到所有集群上的日志和上下文信息。原来调查问题可能依赖于人的经验。现在通过AI帮我们做自动化的事情。
所以总结下来我们希望通过数据中台帮我们实现数据驱动的运维,来代替原来的人工驱动。借助于AI帮我们实现自动化、智能化。通过这种数据驱动加上智能自动化的运维帮我们节省被碎片化的时间。
如果我们要做这样一个数据中台会面临哪些挑战呢?首先就是数据太少,如果我们抓取的数据太少的话,那么我们的信息量就会太少,在分钟级别的监控里面可能很多信息就被平均掉了,我们只有抓秒级监控才可以看到我们所关心的数据。第二个是实时性的挑战,我们做线上故障恢复的时候,都希望是说可以尽快定位问题的答案,尽快去恢复,这就是一个实时性的需求。如果我们找到答案太慢,可能已经错过了一个最佳的自救的时间。第三,系统越来越复杂,我们的需求是越来越多的,我们每加一个需求要加一个模块,那么维护整个一套系统其实是一个非常大的挑战。最后是数据太多的问题,数据太少是问题,太多也是问题。太少的话信息量不足,太多的话很多重要的信息被淹没。关于数据规模的问题和数据速度的问题可以通过数据中台来解决,数据中台帮我们通过算力来换取一个数据的速度和规模;而数据太多信息爆炸的问题,我们用AI算法来换取对数据深入的洞察力。
数据中
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。