企业AI架构师佟达:无处不在的Python

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介:

5 月 13 日,由 ThoughtWorks 主办的 2017 技术雷法峰会在北京召开。

正如官方宣传提到的:“ThoughtWorks 技术雷达” 并非一个客观的行业分析或者报告,也无意成为一份权威的官方文档。由各行各业诸多顶尖技术专家组成的 ThoughtWorks 全球技术委员会(TAB)每年定期讨论全球热门技术的发展现状,并以雷达形式对各类技术的成熟度进行评估并给出建议,为从程序员到 CIO/CTO 的利益相关者提供参考。而这也是大会名称之所以叫 “雷达” 的意义所在。

13 日上午,ThoughtWorks 高级咨询师,中国区数据团队资深技术专家佟达,在大会上发表了题为《无处不在的Python》的主题演讲。

Python 已经有将近 30 年的历史,在过去 30 年中,Python 在运维工程师和数据科学家群体中受到广泛欢迎,然而却极少有企业将 Python 作为生产环境的首选语言。在最近几年,这一情况有所改变。随着云计算、大数据以及人工智能技术的快速发展,Python 及其开发生态环境正在受到越来越多的关注,技术雷达上和 Python 相关的技术也越来越多。为什么 Python 成为了 “被选中的语言”?这一趋势将给企业 IT 带来怎样的变化?

  以下为演讲全文(雷锋网(公众号:雷锋网)做了不改变原意的修改):


刚才我们的几位同事已经给大家介绍了我们在过去一段时间看到的一些技术趋势,这些趋势怎么样落地到实际呢?今天我们给大家看一看用什么样的语言比较合适。所以我的主题是无所不在的 Python。

企业AI架构师佟达:无处不在的Python

我今天不会讲怎么样用 Python 编程序,我今天主要给大家讲的是 Python 的无所不在。在我们最新的一期技术雷达上面关于无所不在的 Python 是这么说的:Python,这门语言总是不断的出现在有趣的地方。这句话让我想起来我上学的时候,我的注意力不是很集中,好奇心特别强,到处什么事情都想参与一下。老师经常夸我,怎么哪儿都有你?天天不务正业!今天我发现不务正业的说法可以有这样一个说法,就是总是出现在有趣的地方。

企业AI架构师佟达:无处不在的Python

我们看一下 Python 这门语言到底是怎么不务正业的?说起不务正业让我想起来这么一个大人物,他十几岁的时候先进入了一个印刷厂工作作为印刷工,后来成立了自己的印刷公司,再后来发行了报纸,他在上面开始发表文章。当所有人都以为这个人要他要投身在,把自己的余生都投身在印刷行业的时候,他去干嘛了呢?他去成立了北美第一个志愿者组成的消防队。后来他又成立了北美的第一家医院。这个时候他不务正业停不下来了,有一天他到雷雨天放风筝,然后发明了避雷针,对我们的气象事业做出了贡献。后来他成为美国驻欧洲的代表,作为一个非常出色的外交官,在北美独立的过程中又起到了非常大的作用。后来他起草了《独立宣言》,现在他的头像印在美钞上。这个人一生都在不务正业中,这个人在美国最伟大人物排名第五,他就是富兰克林。在他墓碑上刻的是,他说自己是一个印刷工。然后他在印刷工外做了很多不务正业的事情。 

企业AI架构师佟达:无处不在的Python

Python 在各大排行榜也能排在前五位,Python 之前是作为系统管理工具的开发语言出现的。在上世纪八十年代末,九十年代初的时候 Python 刚刚发明的那个年代,实际上是处在什么时候呢?各种科学家,工程师都在尝试着不同的操作系统,Python 认为要给程序员们提供一个更好的管理系统的工具,所以为了这样一个目标而发明了 Python。过了二十多年我们发现,可能当年有几百个操作系统在同步开发,到现在是什么情况?可能只剩下了几十个操作系统还活着,而 Python 内置在大部分这些主流的操作系统之内的。为什么 Python 对系统管理工具是非常合适的语言呢?因为它的执行效率远高于 shell,而且开发效率远高于 C。现在我们听到比较著名的操作系统上面都是基于 Python 开发的。当我们发现我们管理任务越来越复杂的时候,我们系统的配置越来越复杂的时候,我们又有了配置管理的概念。而在配置管理领域 Python 也占据了非常多的份额,比如说曾经在技术雷达上也出现过一些系统管理工具里非常著名的技术。当把这些基础设施变成代码管理的时候,我们发现我们其实还希望对这些代码,像我们写业务代码一样做单元测试,做自动化测试。在最新的一期技术雷达里,我们持续关注着这样的趋势,基于前面我们说的系统管理工具技术,像一些专门对基础设施即代码的测试工具,比如 molecule、testinfra 也越来越流行。

企业AI架构师佟达:无处不在的Python

除了在系统管理工具领域, Python 很自然的就平滑地过渡到了软件开发工具领域。从系统管理工具到软件开发领域 Python 一直都在帮助着程序员,帮助着工程师提高效率。在软件开发工具无论是版本控制还是版本评审,Python 进入的都是比较早的,应该说是比较先驱的一波。Python 不仅在早期进入了软件开发工具领域,在新一期技术雷达里也出现了,一种老树开新花的感觉,即使在持续交付领域也是一枝新秀,Netflix 开源的 spinnaker。它主要利用了云技术对一些应用更适合的搭建,它利用了很多云平台以及容器技术,可以和我们现有的架构非常好的融合在一起。

实际上,在软件开发工具领域里的后来者们可能看起来都比先驱们——比如 Python ——更出色一些,或者接受度更广泛一些。这种情况也给了 Python 去做其他事情的理由,Python 至此就走上了跨界这条路,而且越走越远。

企业AI架构师佟达:无处不在的Python

Python 首先尝试的领域是WEB开发。我们说 Python 做WEB开发,大家也都听说过,但是WEB开发并不是 Python 的主要标签。比如曾经在我们技术雷达上出现的一门技术,它可以基于 Python 开发一些WEB的网站,还有不少更小巧的、基于Python 的网站,比如 Youtube 等等网站。但是 Python 语言本身和其他语言相比,尤其就是和互联网泡沫同一年出生的语言,Python 在外部开发上的专注度看起来总是心不在焉。

企业AI架构师佟达:无处不在的Python

在这个时候 Python 社区把注意力都放在哪儿了呢?都放到了科学计算领域。那个时候科学计算领域已经有了几个比较著名的软件,那么 Python 凭什么在这个领域里占有一席之地呢?实际上在 1995 年,也就是大家都开始研究互联网的时候,Python 的作者就参加了一个由一些科学家组成的小组,唯一目标就是使 Python 在科学计算领域广泛使用起来。为了使 Python 符合科学家的直觉并让他们使用,Python 的作者甚至改了一些Python 本身的语法去讨好科学家,让科学家能更平滑使用 Python 做一些科学计算。所以到了今天我们发现 Python 在科学计算领域已经是一个非常重要的分支。就在Python 科学计算小组成立的同一年有一个软件库发布出来,就是 Maple。

企业AI架构师佟达:无处不在的Python

在 2007、 2008 年这个时期,我们进入了云计算时代,基于过去一段时间 Python 在系统管理工具的积累,以及其本身具备了非常好的系统集成能力,Python 在云计算领域可以说大放异彩。最著名的就是大家都应该都听说过的 Openstack,它里面最著名的开发语言就是 Python。不仅在私有云领域,在公有云领域,包括 AWS,包括 Google 云,当这些公有云提供出 SDK 的时候,它们首选的技术路线依然是 Python。现在在阿帕奇基金会下面有一个项目,它是用来评各个不同云之间异构性的,也是基于 Python 做的。在云计算后期兴起的容器技术也是基于 Python 做的。

企业AI架构师佟达:无处不在的Python

当云计算技术发展起来后,发现还需要大数据技术。其实Python 并不是一门开发语言,但是因为 Python 很早就在科学计算领域占据了一席之地,所以当我们希望能够让数据分析师使用大数据工具的时候,Python 变成了一个不可忽视的因素。所以很多开源工具或者是大数据主要使用的工具都会提供一个 Python 的接口给数据分析师使用。在 Spark 刚刚发布的时候,它也带了一个 Python 接口,这都是曾经在技术雷达出现的技术。虽然底层实现不以 Python 为主,但是上层的接口一定会有 Python 存在。除了本身主要的数据分析工具以外,我们还有什么呢?比如 Data Pipeline,最新一期雷达里介绍的 Airflow可以让工程师将 Data Pipeline 更好的可视化出来,可以知道数据怎么样一步一步处理的。这个工具相比于之前的 Hadoop 的生态环境它的可视化效果更酷炫一些,可用性更高。

企业AI架构师佟达:无处不在的Python

最近这两年最火的词就是人工智能。Python 过去多年积累在人工智能到来的时候出现了大爆发。在传统概念中,我们认为人工智能主要谈到的是感知层的技术,比如图像处理、自然语言识别等等这些技术。尽管像 OpenCV 等工具,底层工具不一定以 Python 实现的,但是它真正用到最广泛的地方却是以 Python 接口提供出来的这部分内容。在做图像识别的时候,尽管用的是 OpenCV,但是用的都是 Python OpenCV库。最近两年人工智能火起来,非常重要的一个原因是深度学习火了,深度学习被证明非常有效,尤其在数据量特别大的情况下去洞见一些特征的时候,比人工寻找更有效一些。在深度学习领域几乎没有任何其他语言可以跟 Python 相提并论的,比如 Caffe,Theano,TesnorFlow,Keras 这些非常流行的深度学习框架,都是以 Python 为主要开发语言。还有一个有趣的现象,就是 FB 深度学习的工具 Torch,最早它的前端工具是 Lua,在2017 年发布了一个新的版本叫做 PyTorch,它发现如果不提供 Python 接口的话,它好像没有办法流行起来。这再次证明了在深度学习领域目前 Python 是处于非常主导的地位。

你以为就是这些了?并不是。

企业AI架构师佟达:无处不在的Python

影视制作里大家知道哪一门语言是最流行的吗?其实也是 Python。这方面的工具也许大家不一定熟悉,但这些工具都是在做电影行业里能够经常用到的。这里的每一个工具里都提供了 Python 作为嵌入式脚本的接口。实际上,在好莱坞做很多大型的特效电影的时候,里面很重要的就是用 Python 编写特效脚本,然后再用它的渲染引擎去渲染。除此之外,还有算法交易量化投资领域,Python都是最流行的语言,桌面开发 Python 也能做。嵌入式编程也有选择 Python 作为编程接口,比如树莓派。在 IoT 领域,以前大家不会想到 Python 在 IoT 作为主要语言出现的,但技术雷达上出现的 PlatformIO 和 masquitto,都是基于 Python 的。借用现在互联网流行流行的一句话,Python 你这么厉害,你咋不上天呢?事实上 NASA 确实是在用Python,做地面的数据仿真和数据处理等等工具。用 Python 确实能让你上天

企业AI架构师佟达:无处不在的Python

这里我们再回顾一下前面提到的各个领域,Python 在早期是以系统管理工具作为目标来出现的。后来到了开发工具,以及 Web 开发等等,Python 都起到了至关重要的作用。还有什么呢?还有云计算,大数据,科学计算,人工智能,这些技术的发展让 Python 更加广泛的被认识,被使用。还有一些我们可能都不是那么了解的领域,以及今天可能还没有谈到的领域,等等,Python 都会有一定的作用在里面。

企业AI架构师佟达:无处不在的Python

为什么选择 Python?这要从现在行业的变化说起,前两年当我们谈到O2O 的时候我们也许还觉得是一个新潮的词,而今年谈 O2O 的时候发现,现在的业务已经没有线上线下之分,只有已经数字化和即将数字化的业务。这带来的是什么变化呢?是我们业务上的界限,行业的界限越来越模糊。比如说有的视频网站,开始去做汽车了;有的做手机的公司也开始做空气净化器了;自行车现在都能连互联网。我们发现曾经难以想象去数字化的这些东西都开始跟软件、 IT、互联网结合。

企业AI架构师佟达:无处不在的Python

在座的各位可能都是公司的决策层,各位领导在拍脑袋想要做一些创新业务的时候,它对开发团队有什么要求呢?我们会需要更快的交付速度。因为我们的业务有更快的变化,所以我要有更快的交付速度去尝试,去验证我们的想法是否正确。所以有了 DevOps 的兴起,可以让开发、测试、运维紧密合作。还有平台的兴起让工程师可以专注在业务上。还有新一轮人工智能浪潮让软件有可能自我学习,自我进化。当大家在给开发团队提这些需求的时候,我们有更多的业务并且需要更快的交付速度。当把这些诉求提给自己的交付团队的时候,我们会发现交付团队非常头疼。现在的技术已经细分到每一个技术可能都会非常大且非常深入,我们需要了解 DevOps,需要知道云计算等等,可能一个业务会把所有的技术全都利用起来,全都串起来,全都使用。对于工程师来说,每一项学习的时候,这个成本是非常高的。而对于决策层来说,也没有办法接受开发团队的所有东西都是从零开始。但是幸好有了 Python,我们发现 Python 在各个领域都可以做一点事情。这就是 Python 现在变得如此流行的一个很重要的原因。

企业AI架构师佟达:无处不在的Python

对于在座的企业家来说该怎么做呢,对开发团队应该有什么样的改变呢?在这里我把下一代的企业分成两个主要的方向:一类是以企业和其他开发者为用户,深入做垂直领域,将细分领域的方向作为主营业务的公司。这类公司可能是做云平台的公司,做 PaaS 的公司,做运维的公司,做监控的公司,还有我给保险行业提供报价算法的公司。这些都是我们所谓的去专注在一些细分领域的公司。对于这样的公司,它们面临的挑战就是如何让用户更愿意使用自己的产品。还有一类是直接面向最终消费者,我们希望能够让消费者有更统一的体验。现在任何一家互联网公司都希望能够把对于消费者的各个点上的服务穿成线,贯穿消费者所有的体验以至于所有生活中的方方面面。

还有一些巨无霸公司,比如 Google 和微软,可能两方面都提供,但是对于规模不那么大的中小型公司,这两个可能是二选一的一个选择。而对于这两个企业 Python 带来的是什么呢?对于面向企业和开发者的来说,我建议大家给自己的产品加上 Python 的接口,因为 Python 本身能跟其他行业的东西很容易集成在一起,也是为我们很多的用户所喜欢的。从用户体验角度,从开发者角度来讲,Python 是更好的语言,也是更好的接口语言,值得我们以 Python 作为接口提供出去。另一类,对于消费者提供跨界服务的公司来说,可以考虑用 Python 集成各种各样的服务,这样能够降低成本,同时也能够减轻自己开发团队的压力,让开发团队能够减少一些学习成本。

企业AI架构师佟达:无处不在的Python

最后要提一件事,当我们考虑给自己产品加上 Python 接口或者考虑用 Python 集成各种各样服务的时候,我要提醒一句话:Python3 现在已经成熟了,希望大家还是使用 Python3,Python3 是 Python 的未来。如果在座有 CTO,请回去跟自己的开发团队说,新开发的应用,请使用 Python3。



====================================分割线================================

本文作者:AI研习社
本文转自雷锋网禁止二次转载, 原文链接
相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
10天前
|
人工智能 自然语言处理 搜索推荐
AI战略丨SaaS 遇见 AI, 企业教培开启新范式
“我们会不断完善整体的工程能力,争取以最低的成本,帮助用户训练他们所需要的、好用的 AI 产品。”
|
27天前
|
人工智能 并行计算 芯片
在大模型AI的下一个战场,为中小创新企业重构竞争格局
在大模型AI的下一个战场,为中小创新企业重构竞争格局
|
14天前
|
安全 网络安全 网络虚拟化
优化大型企业网络架构:从核心到边缘的全面升级
大型企业在业务运作中涉及多种数据传输,涵盖办公应用、CRM/ERP系统、数据中心、云环境、物联网及安全合规等多个方面。其复杂的业务生态和全球布局要求网络架构具备高效、安全和可靠的特性。网络设计需全面考虑核心层、汇聚层和接入层的功能与冗余,同时实现内外部的有效连接,包括广域网连接、远程访问策略、云计算集成及多层次安全防护,以构建高效且可扩展的网络生态系统。
优化大型企业网络架构:从核心到边缘的全面升级
|
7天前
|
存储 弹性计算 SDN
企业级 ECS 集群的构建需要综合考虑多个因素,通过不断的比较和对比不同的方案,选择最适合企业自身需求和发展的架构。
【9月更文挑战第5天】在数字化商业环境中,构建企业级ECS(弹性计算服务)集群对提升业务稳定性、扩展性和性能至关重要。本文将比较传统物理服务器与ECS架构,分析云服务商选择(如AWS和阿里云)、实例配置(CPU/内存)、网络架构(SDN vs 传统)及存储方案(本地存储 vs 云存储),帮助企业根据自身需求选出最优方案,实现高效稳定的ECS集群部署。
37 18
|
1天前
|
机器学习/深度学习 人工智能 自然语言处理
AI人工智能大模型的架构演进
随着深度学习的发展,AI大模型(Large Language Models, LLMs)在自然语言处理、计算机视觉等领域取得了革命性的进展。本文将详细探讨AI大模型的架构演进,包括从Transformer的提出到GPT、BERT、T5等模型的历史演变,并探讨这些模型的技术细节及其在现代人工智能中的核心作用。
22 9
|
1天前
|
机器学习/深度学习 人工智能 TensorFlow
深入骨髓的解析:Python中神经网络如何学会‘思考’,解锁AI新纪元
【9月更文挑战第11天】随着科技的发展,人工智能(AI)成为推动社会进步的关键力量,而神经网络作为AI的核心,正以其强大的学习和模式识别能力开启AI新纪元。本文将探讨Python中神经网络的工作原理,并通过示例代码展示其“思考”过程。神经网络模仿生物神经系统,通过加权连接传递信息并优化输出。Python凭借其丰富的科学计算库如TensorFlow和PyTorch,成为神经网络研究的首选语言。
7 1
|
26天前
|
存储 人工智能 供应链
AI赋能电商中小企业的三大制胜策略
AI赋能电商中小企业的三大制胜策略
AI赋能电商中小企业的三大制胜策略
|
16天前
|
运维 Cloud Native Devops
构建未来:云原生架构在企业数字化转型中的关键作用
【7月更文挑战第58天】 随着企业加速其数字化转型步伐,云原生架构已成为推动创新与实现敏捷性的核心技术。本文将深入探讨云原生技术如何助力企业构建灵活、可扩展的系统架构,以及这些架构在应对市场快速变化和业务需求时的显著优势。我们将剖析容器化、微服务、持续集成/持续部署(CI/CD)等关键技术原理,并举例说明如何通过实践云原生原则,优化资源利用、提高运维效率,并最终实现业务价值最大化。
|
16天前
|
数据采集 机器学习/深度学习 人工智能
Python爬虫入门指南探索AI的无限可能:深度学习与神经网络的魅力
【8月更文挑战第27天】本文将带你走进Python爬虫的世界,从基础的爬虫概念到实战操作,你将学会如何利用Python进行网页数据的抓取。我们将一起探索requests库和BeautifulSoup库的使用,以及反爬策略的应对方法。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你打开一扇通往数据抓取世界的大门。
|
20天前
|
Kubernetes Cloud Native 持续交付
构建未来:云原生架构在企业数字化转型中的关键作用
【7月更文挑战第54天】 随着企业加速其数字化转型的步伐,云原生架构已经成为支持业务敏捷性、可扩展性和创新的重要基石。本文探讨了云原生技术如何通过提供灵活的资源管理、快速部署能力和微服务架构,帮助企业实现技术升级和业务增长。分析了云原生的核心组件,包括容器化、服务网格、持续集成/持续部署(CI/CD)和微服务治理,以及它们如何共同促进企业应用的可靠性和高效性。最后,提出了企业在采用云原生技术时面临的挑战和克服策略。