乐趣区

关于云计算:合作参与让开源更易用-亚马逊的开源文化

JAX 是一种越来越风行的库,它反对原生 Python 或 NumPy 函数的可组合函数转换,可用于高性能数值计算和机器学习钻研。JAX 提供了编写 NumPy 程序的能力,这些程序能够应用 GPU/TPU 主动差分和减速,从而造成了更灵便的框架来反对古代深度学习架构。在这两篇文章中咱们探讨了无关 JAX 的一些主题,心愿对您用应用 JAX 这一框架进行深度学习钻研有所帮忙。

亚马逊云科技开发者社区为开发者们提供寰球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、流动与比赛等。帮忙中国开发者对接世界最前沿技术,观点,和我的项目,并将中国优良开发者或技术举荐给寰球云社区。如果你还没有关注 / 珍藏,看到这里请肯定不要匆匆划过,点这里让它成为你的技术宝库!

您也能够在在挪动互联网、物联网飞速发展的当下,不论是集体开发者还是大体量的企业服务都宽泛采纳着各种各样的云计算技术。而反对这些云计算设施的技术当中,又广布着开源产品的身影。亚马逊云科技作为行业中的佼佼者,不仅宽泛应用了各类开源技术以撑持简单而弱小的云计算业务,也在参加开源我的项目的研发与推广中,踊跃推动着开源技术倒退和生态建设。

亚马逊云科技在开源社区中始终保持着踊跃凋谢的态度:

  • 更宽泛的单干:咱们通过与开源用户、合作伙伴、社区建设严密的伙伴关系来促成开源技术倒退。在这些单干中,咱们通过间接的代码奉献以及技术推广将开源的蛋糕做大,让参加开源的各方都能取得充沛倒退;
  • 更高的参与度:咱们通过云计算,一方面从开源中获益,另一方面反哺开源。咱们深信开源生态一直的蓬勃发展,有利于造成良性的循环,可能促成整个开源社区和生态更加凋敝;
  • 让开源易于应用:咱们将开源技术于自动化、全托管的云计算服务交融在一起,升高开源技术应用老本,推动开源技术在生产中落地和倒退。在这个过程中,有更多用户以更低成本应用上开源技术,促成更多行业实现数字化转型。

亚马逊的领导力准则是亚马逊文化的外围,它如同亚马逊的 DNA 融入贯通每一个重要决策,深深影响着每一位亚麻人、影响着每一位亚马逊的客户、合作伙伴以及每一位亚马逊云科技的构建者。同时,亚马逊的领导力准则对亚马逊与开源的互动形式也产生着深远的影响。Build On Cloud 视频号观看这一部分的视频演讲:

客户至尚

亚马逊领导力准则的第一条,也是十分重要的一条就是:客户至尚。

“以客户为核心的办法有很多劣势,但最大的劣势是:即使客户示意出愉悦并且认可咱们的业务很杰出,他们始终还是会存在某种不满足感。”

“甚至有时候他们本人并没有意识到,客户总想要更好的体验和服务,而您取悦客户的欲望将驱使您代表他们进行发明。”

—— Jeff Bezos

客户至尚,就是始终以客户为核心。当波及要交付什么样的产品和服务时,亚马逊云科技首先会聆听客户和开发者的需要。不会为了技术而构建技术,也不会为了翻新而贸然翻新。因而,90% 的亚马逊云科技的产品路线图都是由客户和开发者的间接反馈推动的。

开源也是如此。少数开发者同时也是开源技术的贡献者和推动者。他们通知咱们,他们喜爱开源容纳凋谢的环境和可创造性,同时也心愿从云上取得更宽泛何成熟的产品和服务。他们看到服务之间深度集成,会带来更显著的敏捷性和可管理性。

  • 开发者说,他们喜爱依据本人抉择的规范来决定要运行什么以及如何运行他们的开源技术构建的利用零碎。有些时候,他们心愿自我管理这些开源工作负载,但有些业务场景,他们会应用由云供应商提供的工具和服务来运行、保护他们的开源利用。
  • 对于亚马逊云科技来说,咱们须要粗浅理解开发者在开发和运行开源软件时具体的问题和需要,并且要帮忙他们解决这些问题。
  • 亚马逊云科技依据不同利用场景提供多种 Apache Airflow 服务形式:Apache Airflow 是一项由 Airbnb 在 2014 年推出的开源我的项目,其目标是为了治理日益简单的数据管理工具、脚本和剖析工具,提供一个构建批处理工作流的计划。从性能来看,这是一种可扩大的分布式工作流调度零碎,容许将工作流建模为有向无环图(DAGs),通过这种形式简化数据管道中各个解决步骤的创立、编排和监控。我的项目地址:airflow.apache.org

亚马逊云科技提供了自治理形式

相比在本人的数据中心通过齐全开源的 Kubernetes 来部署、运行和治理 Apache Airflow,利用私有云在全托管的容器服务,比方 Amazon ECS、Amazon EKS 上部署、运行以及治理 Airflow,开发者能够从很大水平上节俭了对于基础架构的运维、计算资源的配置和预留以及集群资源管理的人力和工夫的开销,同时还会取得了更多工具、服务的抉择以及更多的灵活性。深度集成的云托管服务也会帮忙开发者实现自动化 IT 运维治理、弹性扩大以及高可用等等简单且繁琐的工作。让他们能够更加专一于 Airflow 自身的开发和经营。

细节请参阅《在 Amazon Fargate 上运行 Airflow》:

然而自治理形式依旧会面临以下的挑战:

  • 部署配置繁琐。开源软件的配置管理通常是一个齐全手动的过程。对于很多开发者来说,面对大规模的部署就须要定制他们本人环境的开发工具。同时对于部署配置过程中的多种抉择,抉择一个最合适的配置绝非易事;
  • 扩大难度高。尽管开发者在云上能够通过虚拟机的主动扩大或容器集群扩大来实现,但这两个配置管理工作自身就有肯定的复杂性。开发者须要肯定的技术积攒,在生产中也会产生相应的我的项目老本;
  • 平安危险高。在平安方面,反对基于角色的认证和受权通常波及的是一个过程。开发者必须在一个中央进行认证,而后进入 Apache Airflow 的用户界面,去受权该特定人员所属的具体角色(比方管理员或查看者)。很多开发者为了节俭配置工夫,经常会受权所有的开发者都成为管理员。但从平安的角度来说,这是十分危险的事件,很容易造成我的项目的管理混乱和人为的平安危险;
  • 版本升级简单。在 Apache Airflow 中有数百个 Python 库,在这些库和其余依赖关系中去跟踪、精确定位哪些版本是稳固的,哪些版本是必须的,哪些版本有平安危险,简直不可能。而降级 Apache Airflow 的苦楚又往往呈现在降级失败后的回滚过程。

亚马逊云科技提供了全托管服务—— MWAA

为了解决开发者以上痛点和开发过程中挑战,在 2020 年 12 月亚马逊云科技为 Apache Airflow 推出了 Managed Workflows for Apache Airflow(MWAA)的全托管服务。

Managed Workflows for Apache Airflow(MWAA)

  • 通过亚马逊云科技治理控制台、CLI 工具、Amazon CloudFormation 或者 Amazon SDK,开发者在几分钟内就能够实现根底环境的部署,开始账户创立,以及将“有向无环图”部署到本人的 Apache Airflow 环境中,不依赖于开发资源或者预置的基础设施。这让开发者能够更轻松地在云中大规模设置和经营端到端数据流水线;这项服务还提供了 Apache Airflow 的上游版本,这无效的解决了配置、扩大以及降级补丁等自治理的困扰,大大晋升了生产效率。并且 MWAA 能够与开发者在亚马逊云科技服务账户中的其余服务集成,提供更多的自动化。
  • 应用全托管的 MWAA,开发者的数据会更加平安——因为能够借助内置的安全性运行 Apache Airflow。首先工作负载会在 Amazon VPC 提供的彼此隔离的平安环境中运行。其次数据则会利用 Amazon Key Management Service (KMS) 主动加密,对于 Apache Airflow 的用户治理界面,开发者能够应用 Amazon Identity and Access Management (IAM) 来管制基于角色的身份验证和受权,并提供单点登录拜访。
  • 借助 MWAA,开发者能免去大规模运行开源 Apache Airflow 时须要的繁琐且简单的部署、配置,扩大、平安等工作,节俭了开发中更多服务工具学习的开销,也降低生产中对应的工程开销。

亚马逊云科技提供了更丰盛的生态环境

亚马逊云科技丰盛的生态使得 Apache Airflow 在部署以及运行中取得更多的帮忙。开发者还能够抉择通过一些亚马逊云科技的合作伙伴应用 Apache Airflow。丰盛的生态能够在部署以及运行中取得更多的帮忙,这一点,咱们从亚马逊云科技 marketplace 提供各种服务中能够看到:https://aws.amazon.com/marketplace/search?searchTerms=airflow…

另外,为了让 Apache Airflow 工作流程的测试和开发工作更加的灵便和麻利,开发者们心愿利用本地资源以及相熟的 IDE 测试开发 Apache Airflow 的工作流程。为了帮忙开发者实现这一指标,亚马逊云科技奉献了一个与之相干的开源我的项目,aws-mwaa-local-runner。它能够帮忙开发者在提交给理论运行环境之前,在本地利用本地资源,开发和测试他们的 Apache Airflow 工作流程。

当开发者在具体的我的项目中想要找到并应用源代码时,发现源代码用起来是须要一个过程。当深刻理解这些细节时,能够看到,操作开源技术并从中获益,是一项简单且繁琐的工作。当然这也是为什么开发者喜爱多种抉择应用开源技术的起因。对于亚马逊来说,客户至尚,就是始终以客户和开发者为核心,在开源畛域,亚马逊始终认为:客户至尚就是让开发者用本人的形式开源,所以无论咱们的开发者抉择哪种形式,咱们终将和他们站在一起。

咱们会在下一篇分享中,为您解读指引亚马逊开源文化的另一领导力准则——最高规范。这是咱们打造自治理、全托管服务并保障稳定性、可靠性的重要准则。

欢送继续关注 Build On Cloud 微信公众号,理解更多面向开发者的技术分享和云开发动静!

往期举荐

机器学习洞察 | JAX,机器学习畛域的“新面孔”
机器学习洞察 | 一文带你“讲透”JAX

作者
郑予彬
亚马逊云科技资深开发者布道师,20 年 ICT 行业和数字化转型实际积攒,专一于亚马逊云科技云原生、云平安技术畛域。18 年架构师教训,致力于为金融、教育、制作以及世界 500 强企业用户提供数据中心建设以及软件定义数据核心等解决方案的征询及技术落地。

文章起源:https://dev.amazoncloud.cn/column/article/63e33987e5e05b6ff89…

退出移动版