0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

集中讨论谷歌、亚马逊等技术巨头使用Python开发关键基础设施的原因

如意 来源:读芯术微信公众号 作者:读芯术微信公众号 2020-10-11 09:51 次阅读

十年前,由于编程语言种类匮乏,开发人员不必苦恼自己应该选择哪一种编程语言;但是现在,世界上正在使用的编程语言超过500种,随着人们的不断交流,还会有更多的语言出现。对于开发人员而言,基于项目的特点等因素确定应该使用哪一种编程语言成为了首要任务。

Python是一种通用编程语言,可用于开发web应用程序、人工智能机器学习操作系统、移动应用程序和视频游戏。

具备多功能性的Python是复杂web开发项目的理想解决方案:通过使用Python,开发人员能够用相对简单和容易的方式开发高级web应用程序。虽然HTML和JavaScript是构建前端或web浏览器的主要语言,但是开发人员可以使用基于Python的web框架(如Django)来简化后端流程。

本文将讨论Google、instagram或Netflix等技术巨头偏好使用Python开发关键基础设施的原因。

谷歌(Google)

在合并了Search、安卓、Youtube、Stadia等公司后,谷歌已经成为世界上比较大的科技公司之一。谷歌使用多种中央语言开发其技术栈,包括Python、Java和Golang。

由于Python的简单性和相对快速的维护,谷歌公司刚刚建立时就使用了Python,并且沿用至今:谷歌的搜索引擎、YouTube、机器学习、人工智能、机器人项目等都是用Python开发的。

尽管Google可能会在其基础设施中使用各种编程语言,但是Python作为其开发的核心语言的优先性地位却不会被动摇。

instagram

由于Python的易访问性和实用性,instagram目前正在使用Python编写的Django Web框架,这与他们“先做简单的事情”的公司理念非常吻合。在过去两年里,instagram的规模翻了一番,全球已有5亿用户,因此他们需要最大限度地提高平台的有效性,以保持其无缝扩展。

instagram承认他们想过改用Facebook的主要语言之一——PHP。但经过一番比较,他们承认,这两者没有显著的差异。考虑到每一个新版本都会变得更快,instagram同意使用Python这一快速发展的语言。

必须指出的是,instagram的开发团队花了十个月完成迁移过程,并将其分为以下几步:首先是修改代码,将不支持Python3的包替换为支持它的组件,其次是单元测试,最后是产品的最终发布。

Facebook

Facebook一直在使用Python,也因此,Python成为了社交媒体开发的第三大常用语言(前两种语言分别是C++以及他们专有的PHP语言HACK)。得益于简单易用的Python库,开发人员不必编写大量代码,而这使他们能够集中精力进行实时改进。此外,它还提供了高效的Facebook基础设施。

据Facebook称,其开发人员使用Python完成许多基础设施管理服务,其中包括使用TORconfig来处理网络交换机的设置和映像,将FBOSS运用于白盒交换器CLIs,以及使用Dapper来调度和执行维护工作。

Facebook已经启动了许多为Py3编写的开源Python项目,其中包括Facebook Ads API和Python Async IRC botframework。

Spotify

另一家将Python应用于后端服务和数据分析的优秀公司是Spotify。此外,Spotify还通过自行开发的消息传递协议将不同的服务连接起来。因此,其八成服务是基于Python的,而其余两成主要基于java,以及C语言或C++语言。

Spotify公司的首要任务是快速发展和增长,而这就是Spotify使用Python创建流媒体服务的原因——它基本上满足了Spotify对于开发速度的需求。

Gevent是一个能够高性能地同步应用程序接口的快速事件工具,而Spotify的新架构更新都是使用它完成的。Spotify使用与Hadoop同步的Python模块Luigi形成海量数据,以便为用户提供建议。

该开源项目管理着数据库协同工作、编译错误日志的方式,以便支持软件的重新发布和故障排除。Spotify通过Hadoop集群节点同时运行了6000多个Python进程。

Quora

Quora再三斟酌他们最终想要使用的语言。其创始人之一Charlie Cheever将选择范围缩小到Python、C#、Java和Scala。他们对Python的主要担忧是类型检查的缺失和相对缓慢的检查速度。最终,Quora的创建者延续了谷歌使用Python的决定,这使它更加易于编写和读取,并提升了C++对性能的增强。

许多如Django和Pylons般相当优秀的框架也是Quora公司考虑使用Python的一个重要因素。此外,Quora的开发团队还考虑到了Quora主要涉及客户机/服务器交互、不需要真正的页面加载,所以这对于Python和JS之间的良好协作是一大优势。

Amazon

Amazon是另一个使用Python语言的优秀公司。值得一提的是,在公司提出的众多技术解决方案中,亚马逊围绕建议(即推荐交易)开发了一些功能:例如,Amazon分析顾客的购物习惯和使用模式,并为他们提供准确的建议。这是通过Python学习引擎实现的,Python学习引擎与Hadoop数据库连接,因此,它们并行处理工作,以便尽可能高效和准确地提出建议。

Amazon团队之所以选择Python,首先是因为它的普及程度和它能够提供的海量大数据。其次,Python具有可扩展性和便携性,为Amazon提供了独特的商业计划。此外,Python实际上经常与其他技术(如Hadoop或Apache)配合使用。

Netflix

Netflix使用Python的方式与Spotify非常相似。Netflix的软件工程师能够自由选择编程语言,而这些工程师已经看到了使用Python编写应用程序的前景。此外,由于Python非常容易构建,它已经成为Netflix其他服务的重要组成部分。

Central AlertGateway是使用Python的重要部分之一。这个RESTful式的网络应用向可能想要查看它们的个人和团队发出警报。此外,该应用程序还可以删除已处理的重复警报,以及提供自动解决方案,如重新启动或结束不稳定的任务。由于警报的数量很多,这个应用程序的编写对Netflix来说是巨大的胜利——智能化的处理可确保开发人员和工程师不会因为冗余呼叫而焦头烂额。

Stripe

众所周知,Stripe是一家研究公司的在线支付可行性的金融科技初创公司。Stripe使用Python为移动应用和网站设计应用程序接口,得益于此,Stripe管理在线业务(例如开发票、管理订阅、预防欺诈)轻而易举。

业内的很多优秀公司(如Salesforce、Lyft、Amazon等)都采用了Stripe研发的在线支付,其价值高达90亿美元,而Python对于该平台的成功至关重要。

由于其在金融工作中的高效,许多金融科技初创公司选择了Python——它天生就适合与数据和计算相关的金融科技产品。此外,这背后的另一个原因是,Python是金融专家最容易学习的语言。

DropBox

Dropbox提供在线存储文件并将其同步到设备上的云存储服务,它在大部分服务和桌面客户端中使用Python。2012年,Python的创建者Guido van Rossum受邀加入Dropbox。在供职于Dropbox的第一年,他帮助Dropbox社区中的其他用户共享数据存储。

该公司还为开发者提供了可以整合到他们的Python应用程序中的Python软件开发工具包,加强了他们的归属感和价值感。Dropbox的开发人员也证实,他们使用Python完成大部分服务器端的编码。

尽管Dropbox的许多库和内部构件都是专有的,不是开源的,但Dropbox已经推出了一个非常强大的Python编码应用程序接口来展示软件工程师的思考方式。

Reddit

Reddit是一个社交新闻平台,人们能够通过Reddit讨论和表决其他人提交的内容。2017年,该网站每月访问量为5.42亿,是全球第四大访问量网站,也是美国第七大比较受欢迎的网站。在2015年,Reddit上共有73.15亿条内容和8.254兆次页面浏览量。而Python是所有这些软件背后的支柱。

Reddit最初是用Lisp编写的,但在2005年12月,也就是Reddit发布6个月后,他们发现Python有海量代码库并且在开发方面效率更高,于是转而使用Python。

这10家公司只是冰山一角,使用Python的公司还有很多。Python语言简单、开发速度快、可扩展性强,仅凭Python就能够构建几乎一切广泛体系的事实,这些都是公司们偏爱Python的原因。
责编AJX

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 谷歌
    +关注

    关注

    27

    文章

    5858

    浏览量

    103251
  • python
    +关注

    关注

    51

    文章

    4675

    浏览量

    83466
  • 亚马逊
    +关注

    关注

    8

    文章

    2480

    浏览量

    82372
收藏 人收藏

    评论

    相关推荐

    DPU技术赋能下一代AI算力基础设施

    4月19日,在以“重构世界 奔赴未来”为主题的2024中国生成式AI大会上,中科驭数作为DPU新型算力基础设施代表,受邀出席了中国智算中心创新论坛,发表了题为《以网络为中心的AI算力底座构建之路》主题演讲,勾勒出在通往AGI之路上,DPU技术赋能下一代AI算力
    的头像 发表于 04-20 11:31 383次阅读

    垂直起降机场:飞行基础设施的未来是绿色的

    开发商和基础设施提供商向AECOM寻求帮助,以确定使eVTOL可行的潜在准备和支持。 这些努力似乎是一项艰巨的任务,但凭借先进的技术和我们的综合专业知识,结合制造商、联邦、州和地方政府的关注,eVTOL有望顺利起飞,并随之为航空
    发表于 03-25 06:59

    美FTC将调查科技巨头 包括微软谷歌OpenAI等五公司

    美FTC将调查科技巨头 包括微软谷歌OpenAI等五公司 据外媒报道,近期美国联邦贸易委员会(FTC)因为担心扭曲创新、破坏公平竞争;对一些科技巨头的大额投资进行了调查,包括了微软、亚马逊
    的头像 发表于 01-26 20:26 1693次阅读

    亚马逊云服务计划在日本大举投资云计算设施

    亚马逊网络服务公司(AWS)宣布,计划在接下来的四年内在日本投资2.26万亿日元(约合152.4亿美元),以大幅扩展其云计算基础设施。此举旨在为日本的人工智能技术服务提供强大的支持。
    的头像 发表于 01-22 14:43 231次阅读

    数智城市共建下,数字基础设施将无处不在

    电子发烧友网报道(文/周凯扬)从数智化转型的角度来看,如何结合云边端的基础设施共建智慧园区,已经成了智慧城市建设中最关键的一环。尤其是在城市人口规模持续增长的前提下,无缝结合关键基础设施
    的头像 发表于 10-26 09:01 1201次阅读
    数智城市共建下,数字<b class='flag-5'>基础设施</b>将无处不在

    嵌入式软件架构基础设施设计方法

    基础设施,分为硬件基础设施和软件基础设施。硬件基础设施,包含常用器件库、封装库、原理图库和硬件参考设计等等;而今天我们讨论的重点,主要在于软
    的头像 发表于 10-12 16:09 428次阅读

    欧盟推动科技巨头缴纳“互联网税”举措放缓

    欧盟的几家大型通信公司认为,谷歌、meta、netflix、微软和亚马逊应该承担占网络流量相当部分的网络基础设施费用。
    的头像 发表于 10-11 10:54 346次阅读

    基础设施速度下的安全控制

    电子发烧友网站提供《云基础设施速度下的安全控制.pdf》资料免费下载
    发表于 09-08 09:47 0次下载
    云<b class='flag-5'>基础设施</b>速度下的安全控制

    英伟达与云巨头必有一战

    众所周知,谷歌亚马逊、微软先后在内部启动自研AI芯片项目——谷歌的TPU系列,亚马逊的Inferentia和Trainium系列,以及微软今年被曝光的Athena芯片。三大云
    的头像 发表于 08-21 15:00 450次阅读
    英伟达与云<b class='flag-5'>巨头</b>必有一战

    华为FusionCube荣获DCIG年度企业超融合基础设施最佳推荐

    今日,全球著名技术分析机构DCIG(Data Center Intelligence Group)发布报告《DCIG 2023-24企业超融合基础设施TOP5》(以下简称“报告”),华为
    的头像 发表于 08-18 17:15 377次阅读

    鉴源实验室丨公钥基础设施(PKI)在车联网中的应用

    公钥基础设施(PKI)在车联网中的应用为实现安全、可靠通信提供了关键的支持
    的头像 发表于 08-08 14:47 2417次阅读
    鉴源实验室丨公钥<b class='flag-5'>基础设施</b>(PKI)在车联网中的应用

    太空基础设施的脆弱性成为关注的焦点

    世界越来越依赖太空基础设施。这导致人们越来越意识到,它需要受到保护,免受网络攻击,而网络攻击可能会破坏关键基础设施,造成巨大破坏。卫星在支持物流系统、自动取款机、航空公司等方面发挥
    的头像 发表于 07-20 16:28 454次阅读

    自动驾驶对公路基础设施有何深刻影响

    自动驾驶对公路基础设施的影响主要包括物理基础设施、交通控制设备(TCD)和其它路边基础设施、运输管理和运营系统(TSMO)及其基础设施、多 式联运
    发表于 06-01 14:25 0次下载
    自动驾驶对公路<b class='flag-5'>基础设施</b>有何深刻影响

    算力基础设施关键技术

    。 云原生是在云上构建、运行、管理应用程序的一套技术体系和管理方法,依托微服务架构、敏捷基础设施与平台服务和高效研发运维模式,简化云上业务开发管理难度,构建敏捷健 壮的业务系统。云原生
    发表于 05-24 16:38 7次下载
    算力<b class='flag-5'>基础设施</b><b class='flag-5'>关键技术</b>

    电动车持续发展,搞好充电基础设施关键

    目前世界各地在争相将燃油汽车替换为电动汽车,预计电动汽车的普及率将迅速攀升。与目前部署的充电桩数量相比,预计电动车 (EV) 的迅速采用将会对可用的充电桩数量带来重大改变。在本文中,我们将研究电动车采用率的增加将对配电基础设施提出怎样的要求,以及在规划电动车充电基础设施
    的头像 发表于 05-08 10:29 353次阅读
    电动车持续发展,搞好充电<b class='flag-5'>基础设施</b>是<b class='flag-5'>关键</b>