亚马逊AWS深度创新实践:深度学习、大数据平台、容器和物联网

  为什么要用Python开发这些东西呢?

  Python是一个胶水的语言,可以将更多的资源结合在一起,你可以很快地使用它去开发,并且可以运用大量的资源,去快速地去服务于你的功能。另外Python框架资源非常非常丰富,目前为止我还没有看到有一种语言可以超过Python本身,再就是Python开源和海量的技术社区支持的,这个也是很大的优势。市场当中有大量的基于Python开发出来的框架,你可以做充分的程序化的设计和实践,大量的第三方项目应用都基于它,它所有文档非常非常地棒,包括有教程,整个都是Python的风格,如果你开始学习,可以用它作为你的定制进行深度学习实践。

  心怀伟大你将会变得伟大

  人的思维可以分成两大类,第一种类叫科学的思维,就是我们要探索一个事物的本质和原理,我们要穷极一生去研究。第二个叫做工程的思维,我不关心它的原理是什么,我只关心结果。深度学习它实际上的本质是一门科学。但是对一个程序员、对开发者来说,我们关心的并不是科学的本身,那些微妙的原理,我们关心的是如何用这些资源能够开发出能够改变世界的应用的程序,让我们的程序从此变得更智能、更有意思。如果从今天开始,哪怕你没有一个复杂的知识,没有一个高深非常玄妙的背景,你也同样可以从事深度的开发,你也可以开发出让别人瞠目结舌的深度智能的应用。

  初创公司大数据平台架构演进之路

  王佳分享的话题是初创公司大数据平台架构演进之路。王佳现为App Annie大数据架构师,同时也是其大数据团队及数据实施团队的负责人。

  创业公司构建大数据面临的挑战

  创业公司对于大数据来说, 挑战会更加突出:

  人员成本。大数据它需要一个比较专业的技术团队,这里面会有两方面的人员,一个是专业的大数据工程师,第二你会需要一个运维的团队。

  时间成本,大数据因为它是假设在很多传统的软件行业之上的一个技术结构。所以你需要去完成一个完整的可扩展的灵活的大数据平台,本身去构建这样一个平台的时候,需要花费更多的额外的精力,所以说时间上又是一个很关键的成本。

  运维,尤其是最近几年运维人员、运维成本越来越显著在大数据的开发领域,你的需求不同于传统的软件开发,有一个完整的定义,需求实现了这个产品就算结束了。大数据也需要这个平台持续地运行,不断地有新的数据进入你的系统需要你做分析,你永远没办法预知将来某一天你的是否是不是需要核实。运维需要几百台服务器,若干个服务组件稳定地运行,运维也是一个很值得关注的成本。

  除此之外针对于创业公司来说,就是需求总是在变化,怎么去做这样一个易于扩展的一个平台,去满足不断变化的需求,这是创业公司在大数据的时候所关心的一个挑战。

  APP Annie如何应对大数据面临的挑战

  APP Annie差不多每天会处理20TB的压缩数据。

  APP Annie整个数据处理是运行在6个以上的集群,这个取决于我们那一段时间是不是有一些需要刷新的一些历史数据的任务。

  APP Annie管理的话是差不多有一百到两百台左右的服务器。

  APP Annie每天日常会有500多个数据处理任务需要去运行。

  最终会生成覆盖全世界60多个国家的数据报告,这个就是APP Annie大数据的挑战。

  大数据平台的设计原则

  基于云计算服务;

  数据驱动,快速响应业务需求变化;

  使用工作流(Workflow Engine)。

  APP Annie研发大数据平台技术架构的演化过程

  APP Annie的数据演化分三个阶段:

  阶段1:基于亚马逊的AWS EC2、Hadoop、Python。适合规模稳定的小型计算和小规模的数据存储,日处理50GB数据。其中,Pig用于构建数据管道,ETL和算法模型的实现;Hive用于支持数据分析和临时性的查询;通过Gateway访问集群,进行任务提交,Gateway是集群的唯一入口。

  阶段2:将数据存储迁移到了AWS S3上,使用ASW EMR管理多个计算集群。在工具里边添加了新的计算工具的选择,Spark是新的计算工具,随着任务越来越多,500多个任务,在监控层做得更多的优化。日处理数据20T至50T。S3提供版本机制,避免数据误删除操作,方便调试和研究。可伸缩的存储,按需使用付费,极大节约了企业运营成本,另外,S4提供了多个集群同时读写同一个S3 buckets。