合作、参与、让开源更易用 | 亚马逊的开源文化

news2024/10/7 12:26:07

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 提供各种服务中可以看到:AWS Marketplace: Search Results

另外,为了让 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/63e33987e5e05b6ff897ca10?sc_medium=regulartraffic&sc_campaign=crossplatform&sc_channel=CSDN

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/716239.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

举例说明什么是前馈神经网络

前馈神经网络(Feedforward Neural Network)是一种最基本的人工神经网络结构,它由多个层次的神经元组成,这些神经元间具有相互连接的权重。数据从输入层进入,然后逐层传播,最后到达输出层。在这个过程中&…

基于ava+Swing+Mysql图书信息管理系统

基于JavaSwingMysql图书信息管理系统 一、系统介绍二、功能展示1.主页2.新增图书信息3.删除图书信息 三、数据库四、其他系统实现五、获取源码 一、系统介绍 该系统实现了查看图书列表、新增图书信息、删除图书信息 运行环境:eclipse、idea、jdk1.8 二、功能展示…

YUV 8bit转10bit

在有些场景中,我们经常会使用到YUV 8 bit转10bit的场景。 比如YUV420p 8bit 转 P010,P010le,YUV420p10le。 首先说ffmpeg 8 bit 转 10bit. 对于ffmpeg的P010le 和P010be 分别代表小端和大端,那么它转化的时候非常简单,就是8 bit再增加 8bit&…

MSP432自主开发笔记1:编码器测速_外部中断捕获法测速\测正反转

开发板芯片型号:MSP432P401R 今日得以继续我的MSP432电赛速通之路! 进入此文章阶段,就预示着先人的开拓已经到了尽头,看着先人“一身转战三千里,一剑曾当百万师”,我们也该“门前学种先生柳”从而“步行夺得胡马骑”…

基于SSM的教务管理系统

基于ssm教务管理系统 一、项目背景介绍: 教务管理系统是一种基于信息技术的管理工具,可以用来管理学生、教师、课程、考试、教学资源等方面的信息,以实现高效、科学、规范的教务管理。随着信息技术的迅速发展,教务管理系统已经成为…

VM虚拟机端口映射接收CS弹反木马

VM虚拟机端口映射接收CS弹反木马 1. 前言1.1. 前期准备1.2. 整体思路 2. 整体操作流程2.1. 虚拟机配置2.2. WIFI路由器设置2.3. CS设置2.3.1. 创建本地监听器2.3.2. 创建生成木马监听器2.3.3. 创建反弹木马2.3.4. 查看效果 1. 前言 在日常的对客户的内网进行渗透的时候&#xf…

【广州华锐互动】VR地铁安全应急疏散模拟演练系统

VR地铁安全应急疏散模拟演练系统是一种利用虚拟现实技术模拟铁路安全事故的应用程序。该系统具有以下功能和内容: 多种场景和情境:用户可以选择不同的场景和情境进行模拟,例如列车脱轨、火灾、爆炸等。 操作控制器或手势识别技术&#xff1…

超细,RobotFramework自动化测试-测试套件使用详细(实战)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 自动化因为是基于…

Ubuntu 20.04 LTS 安装 nvidia 驱动 + cuda 11.8 从开始到放弃!

升级 sources.list # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restri…

【赠书活动】同构:编程中的数学

写在前面 近年来随着人工智能、大规模分布式计算、多核CPU和异构计算等的发展,计算机中的各种编程技术在编程语言、软件架构、编译器、硬件体系结构、集成电路设计等方面都有着剧烈的变化。编程语言方面,越来越多的主流语言引入函数式编程的概念。软件架…

Zotero+百度网盘同步空间多电脑设置方法

Zotero百度网盘同步空间多电脑设置方法 之前一直用的Onedrive和Zotero来同步,原理差不多,但是百度网盘同步空间毕竟是国内的,(开了会员)速度快很多,记录一下多台电脑使用百度网盘同步空间来同步Zotero和相…

第六章.­ ­ Theory of Generalization

第六章. Theory of Generalization 上一章节我们主要探讨了M数值的大小对机器学习的影响。若M很大,我们就不能保证机器学习有很好的泛化能力,所以我们的问题就转换成验证M有限,最好是按照多项式成长,然后引入了成长函数mH(N)和二…

微服务一 实用篇 - 4.RabbitMQ

《微服务一 实用篇 - 4.RabbitMQ》 提示: 本材料只做个人学习参考,不作为系统的学习流程,请注意识别!!! 《微服务一 实用篇 - 4.RabbitMQ》 《微服务一 实用篇 - 4.RabbitMQ》1.初识MQ1.1.同步和异步通讯1.1.1.同步通讯1.1.2.异步通讯 1.2.技术对比 2.快速入门2.1.安装RabbitM…

viewsets.ViewSet 详解

目录 零、前提(这一段可以忽略) 一、地址 二、viewsets.ViewSet介绍 2.1 viewsets.ViewSet介绍 三、viewsets.ViewSet默认方法(增删改查等方法) 四、 生成路由 4.1 使用路由器注册 viewset,自动生成 URL 配置(推…

Git下载与安装(windows)

文章目录 Git 简介Git 下载Git 安装Git 环境变量配置 Git 简介 Git 是一种分布式版本控制系统,用于快速、高效地处理任何大小规模的项目。它是由 Linus Torvalds 在 2005 年开始开发的,Git 最初是为了管理 Linux 内核源代码而创建的。现在 Git 是一个广…

python脚本(Word转PDF格式小工具)

from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel, QMessageBox from PyQt5.QtCore import Qt import sys import os from comtypes import client#文件转换脚本 class FileDropWidget(QWidget):def __init__(self):super().__init__()self.initUI()de…

IDEA+spring boot+mybatis+spring mvc+bootstrap+Mysql停车位管理系统源码

IDEAJavaSpring BootMyBatisshiroLayuiMysql停车位管理系统源码 一、系统介绍1.环境配置 二、系统展示1.登录2.注册3.个人信息4.修改密码5.我的订单6.我的留言7.查车位8.管理员登录9.公告列表10.车位列表11. 订单列表12. 积分排行13. 留言列表14.管理员列表15. 用户列表16.修改…

MySQL:整型类型的显示列宽

整型类型的显示列宽 1、概述2、显示宽度3、总结 1、概述 大家好,我是欧阳方超。 关于定义整型时括号中的数值,再补充一下。 2、显示宽度 定义整型类型,比如int(10),这个括号中的值被称为展示宽度(display width&…

Hive查询操作

Hive基本查询语法 基本使用规则 基本查询语句组成 select .. from ..join [tableName] on ..where ..group by ..having ..order by ..sort by ..limit .. union | union all ...执行顺序 第一步: FROM <left_table> 第二步: ON <join_condition> 第三步: <join…

python使用matplotlib库绘制数学函数

** 任务一&#xff1a;使用matplotlib绘制yx的曲线图 ** matplotlib是python的绘画库&#xff0c;它可以与NumPy一起使用&#xff0c;提供了一种轻量级的MatLab开源高效替代方案。它可以和图形工具包PyQt等工具 一起配合使用&#xff0c;能够完成日常科学计算中多种数学库图可…