亚马逊AWS官方博客

将 AWS 认证工程师的数量从零增加到数百个的 12 步计划

“不要总希望得到您还未得到的;这会使您看不到目前拥有的可能性” 作为 AWS 企业战略家,我拥有与全球各地面对着各种业务和技术难题的高管们会面的特权。每个客户都是独一无二的。但是,许多难题,如同历史一样,往往具有规律性。 其中一个规律是,市场中的技能难题以及“不在相应岗位上配备合适的人员就会妨碍您提高行动速度、节省资金和在云上拓展业务”这一想法。可以肯定的是,随着人们认识到让 AWS 完成基础设施领域的无差别的繁重工作的好处,包含单词“AWS”和“云”的招聘广告显著增加了。但是,我认为这种不断增加的需求或者您没能获得所需人才的感觉并不会阻碍您的企业在云方面获得成功。 AWS 企业战略部主管 Stephen Orban 在一篇最新文章中就这一问题有力地指出,“您已经拥有成功实现云迁移所需的人才。”而且,为了加强这一说法的说服力,我想要分享我本人遇到一个主要技能难题时发生的故事。事情要追溯到 2014 年,我的云之旅才刚刚开始。 当时我在英国的 Capital One 担任首席技术官,然后,我发现自己在深入思考我在我的工程师身上发现的技能差距。这些工程师确实很有才华,但他们只是精通传统的内部技术;因此,他们掌握的大部分是孤立的基础设施技能。 为了寻求改变,我随后又犯了一个经常犯的错误:创建一个独角兽式的工作规范并自以为是地将它应用于外部就业市场。当我发现在收件箱中没有收到任何对这则招聘广告的回应时,我感到十分惊讶和失望。 很明显,我漏掉了一个重要的事实。 我拥有的技能高超、积极主动且全心投入的团队就是我需要的团队。只不过,团队成员们需要一个途径、一个动机以及一个善于倾听和帮助他们消除自身与生俱来的对未知技术恐惧的人。 有关人才转型的这种认识和企业云之旅为我积累了大量最佳实践,也让我更深刻地了解人类。但我必须说实话;在这个过程中,我们犯了很多错误并且浪费了很多时间。但是我们还是找到了一条途径,最终发挥了作用并且为 Capital One 在英国的成功做出贡献。这帮助 Capital One 将全球的技术人才提升到了极高的水平。实际上,所有 AWS 认证开发人员中现在足足有 2% 的人在 Capital One 工作。 在说明优势之后,下面将介绍适合我们的 12 个步骤 — 步骤 1 — 接受 心理健康专家们表示,接受是走向恢复的第一步;这种说法在此处也完全适用。您的工程师们必须接受他们有能力学习 AWS 云技能并成为专家的事实。接受这一事实对于您组织内的技术主管来说也同样非常重要。正如 Stephen Orban 在文章中所述以及我在 Capital One 任职期间的经历所表明的那样,您拥有的人才就是您需要的人才。这些是在开发和运行您的现有系统方面拥有多年的重要经验的人员。 步骤 2 — 培训 在接受之后,您应该迅速开始 AWS Technical Essentials […]

Read More

介绍 Gluon 这一易于使用的灵活深度学习编程接口

原文链接 | 今天,AWS 和 Microsoft 发布了一项新规范,该规范旨在为所有开发人员改进机器学习技术的速度、灵活性和可访问性,而无论他们选择什么样的深度学习框架。这种合作的第一项成果是全新的 Gluon 接口,这是 Apache MXNet 中的一个开源库,让所有技能级别的开发人员都能够设计深度学习模型的原型、构建该模型以及开展训练。该接口极大地简化了创建深度学习模型的过程,而不会影响到训练速度。 下面是 Gluon 的四大优势以及演示这些优势的代码示例: (1) 简单、容易理解的代码 在 Gluon 中,您可以使用简单、清晰和简洁的代码定义神经网络。您将获得一整套即插即用的神经网络构建块,包括预定义的层、优化程序和初始化程序。利用这些构建块,您无需再纠缠于各种各样复杂的底层实施细节。下面的示例说明了如何使用短短几行代码定义一个简单的神经网络: # 第一步是初始化您的模型 net = gluon.nn.Sequential() # 接下来,定义您的模型架构 with net.name_scope(): net.add(gluon.nn.Dense(128, activation=”relu”)) # 第一层 – 128 个节点 net.add(gluon.nn.Dense(64, activation=”relu”)) # 第二层 – 64 个节点 net.add(gluon.nn.Dense(num_outputs)) # 输出层 下表说明了神经网络的体系结构: 有关更多信息,请转到本教程,了解如何使用 Gluon 神经网络构建块来构建一个称为多层感知器 (MLP) 的简单神经网络。对于更高级的使用案例来说,从头开始编写神经网络的各个部分也是非常容易的。使用 Gluon,您可以在神经网络中混用和匹配预定义组件和自定义组件。

Read More

Gluon 简介:AWS 和 Microsoft 合作推出的新机器学习库

作者:Matt Wood 博士 今天,AWS 和 Microsoft 联合发布了 Gluon – 一种新的开源深度学习接口,可帮助开发人员更轻松、更快速地构建机器学习模型,而不牺牲任何性能。Gluon 采用一系列预先构建并经过优化的神经网络组件,为定义机器学习模型提供清晰、简洁的 API。刚刚接触机器学习的开发人员会发现此接口更像传统代码,因为他们可以像使用任何其他数据结构那样定义和操作机器学习模型。经验丰富的数据科学家和科研人员也会发现它的宝贵价值:快速构建原型和利用动态神经网络图实现全新模型架构,而又不减缓训练进度。Gluon 现已在 Apache MXNet 中可用,日后将“进驻”Microsoft Cognitive Toolkit 及其他架构。 神经网络与开发人员 使用神经网络的机器学习 (包括“深度学习”) 包含三个主要部分:训练数据、神经网络模型和训练神经网络的算法。您可以将神经网络看成是一种有向图:它有一系列输入 (数据),通过一系列连接的层和权重连接到一系列输出 (预测)。在训练期间,算法根据网络输出中的错误调整网络中的权重。这就是网络学习的过程 – 一种可能需要持续数天时间的内存和计算密集型过程。Caffe2、Cognitive Toolkit、TensorFlow 以及 Apache MXNet 等深度学习框架能够部分解决“如何加快这一过程?”的难题。与数据库中的查询优化器一样,训练引擎越了解网络和算法,越能更好地优化训练过程 (例如,它可以根据其他部分的改变,推断需要重新计算图中的哪些部分并跳过不受影响的权重,从而加快训练进度)。此外,这些框架还提供并行功能,可通过分发计算过程来减少总体训练时间。但是,要实现上述优化,大多数框架要求开发人员完成一些额外工作:首先,提供网络图形式定义,然后“定图”并调整权重。网络定义可能极其庞大而复杂 (包含数百万个连接),通常必须手动构建。深度学习网络十分“笨重”,难以调试,因而很难在项目间复用代码。 这种复杂性可能会令初学者“无从下手”,对经验丰富的科研人员来说也是一项耗时的任务。AWS 在 MXNet 中尝试了一些更灵活易用的新方法定义和训练神经网络。Microsoft 也是开源项目 MXNet 的开发者,对部分新想法感兴趣。于是我们进行了沟通,结果发现双方抱持几乎相同的愿景:借助此类技术降低机器学习的复杂性,让更多的开发人员能够轻松发挥其强大威力。 Gluon 特点:动态图,快速迭代,可扩展训练 Gluon 包含四大创新。 友好的 API:可以使用简单、清晰、简洁的代码定义 Gluon 网络 – 相比某些更晦涩、更形式化的网络及相关加权评分函数定义方法,这更易于开发人员学习,理解难度大幅降低。 动态网络:Gluon 中的网络定义是动态的:它可以像任何其他数据结构一样“收缩和扩展”。这有别于更常见的形式化网络符号定义 (既深度学习框架要求必须保持网络定义不变,才能在训练期间有效地优化计算)。相比之下,动态网络更容易管理。借助 Gluon,开发人员可以在定义网络和算法时轻松混用快速的符号表示和更友好、动态的“命令式”定义。 […]

Read More

针对云迁移的 21 个最佳实践

熟能生巧。-Bobby Robson 在过去几个月里,我花了很多时间与各种 AWS 客户和团队合作来打造帮助企业加快云迁移工作的全面计划。此计划包含许多方面,包括 (但不限于) AWS 服务 (例如,AWS Database Migration Service、AWS Snowball、VM Import/Export)、一个由 AWS 专业服务打造的迁移方法、一个即将推出的“迁移到 AWS”培训计划以及与工具提供商和咨询商店建立的合作伙伴关系 (旨在加快各行各业各种规模的企业的云迁移速度)。 今天,我很高兴介绍由本公司的员工 Sadegh Nadimi 编写的一篇客座文章,此人详细说明了我们在执行到 AWS 的大型迁移的企业中观察到的 21 个最佳实践。言归正传 . . . -Stephen orbans@amazon.com @stephen

Read More

在使用云进行试验时,4 件要做的事情和不要做的事情

“证明一根木棒是弯木棒的最佳方法不是争论或花时间去抨击,而是将一根直木棒放在它旁边”― D.L. Moody 在我的上一篇文章中,介绍了云如何使所有类型和规模的公司能够以更低的成本更轻松地进行试验且风险更小。公司越是意识到这一点,就越有更多的试验文化成为在今天的市场中保持竞争力的筹码。 试验引发创新,从来没有这么好的机会实施新想法。 您从何处开始?下面是在您的组织内打造试验文化时要考虑和避免的四件事。 1. 需要管理期望 虽然并不是每个试验都将提供您预想的结果,但每个试验都是一个了解和改善运营的机会。如果您的组织不习惯“未能学习”这个概念,请从小事做起,确保每个人都摘掉您考虑试验的项目。通过清楚了解实验目的、预期结果、测量和测试结果的方式以及您希望从中学到的知识来管理您的利益相关者的期望。我发现,如果大多数高管知道组织更乐意进行试验并学习知识,他们将欣赏那些结果不确定的试验。 不要从每个人都有一个特定结果的项目开始 如果您充当尝试打造试验文化的变革代理,请不要在您的旅程中过早地试验您的利益相关者期望获得特定结果的项目。我不是建议您开始试验年末账单运行 (举例来说)。我曾经为其工作的一位首席执行官告诉我,失败是可以接受的 (除非没有失败)。要对逐步积累的进展感到满意,并慢慢地增加你所进行的试验的数量,但不要超过组织。 2. 需要鼓励您的团队计划试验 每个组织都有自己的方法来确定哪些项目获得了技术资源。不幸的是,一些组织现在将技术或 IT 部门视为成本中心,并且已将理念推到离实现位置太远的地方了。好的想法可以来自任何地方,当然,当它涉及外部项目时,大多数技术专家都有一个独特的观点。这在刚开始使用云的组织内尤为如此 - 对项目使用云的个人处于计划试验的最佳位置,这些试验利用云的独特功能来使业务受益。帮助支持您的团队的计划,并安置好您的员工以影响高层管理团队所投资的项目。 在知道如何测量试验之前不要进行试验 您希望将时间花在正确的试验上,并确保从中学到的经验将改善您的运营和产品。在您让您的团队向前推进试验之前,您应同意他们将在试验期间测量的内容和测量方法。如果您正在测试网站上的新功能,哪些指标将使测试成功?页面视图?单击次数?放弃?这种小而重要的尽职调查将迫使您的团队去思考为什么他们要首先计划一个试验。它还将强制您的团队设定正确试验的优先级。 3. 需要考虑开发运营使试验制度化 开发运营文化是一种将试验融入组织中的强有力的方式。通过将运行您构建的内容与自动化相结合,可以大大减少发布更改所花的时间,从而允许您更频繁地发布更改并在失效时更快地回滚更改。成熟的开发运营组织还开发了 A/B 测试框架,这些框架可使其在不同的用户群中尝试不同的用户体验以了解什么是最有效的。 不要怀疑您的团队 怀疑是对团队造成打击并打开失败之门的最有力的方法之一。当您学会适当地审视试验、测量试验并对其进行快速迭代时,您应会发现在需要怀疑之前,您能够适应您的方法。确保您的团队正在考虑正确的方法来测量试验并提出尖锐的问题是正常的,但您应考虑帮助团队解决问题而不是怀疑他们的交付能力。 人们倾向于追随那些相信他们会成功的领导者。 4. 需要鼓励整个组织进行参与 当您开始通过试验更快地交付结果时,组织的其他方面将被您的方法吸引。吸引这些人的参与。尝试一个包含不同业务领域的黑客马拉松,让您的利息相关者帮助确定测量试验的方式,并询问组织他们一直想要进行试验的领域。虽然不是每家公司都会选择为其员工提供试验时间,但这些公司通常会将它宣传为竞争优势。至少,这些具有包容性的活动可以提高员工士气和员工保留率。在 Amazon 的短暂任期内,我发现任何能够写作进行思考和表达试验的人员通常都会有机会进行尝试。这是我们的文化的一个特殊部分,也是吸引和留住创新者和建设者的出色工具。 不要让试验减速或停止交付 不要让您的团队仅因某件事是一个试验而逃脱责任。虽然失败和学习是允许的,但在试验中无法交付是不允许的。软件仍需要交付测试;它通常需要用实际的生产流量来进行测量。仅仅因为这是一个实验并不意味着您应稍后开始测量它,或者让其质量受到影响。毕竟,您仍在运营业务。 您的组织通过什么来支持试验文化?请一定告诉我! 不断前进, -Stephen orbans@amazon.com @stephenorban http://aws.amazon.com/enterprise/ 注:打造试验文化是我在企业云之旅系列文章中撰写的七个最佳实践中的第三个最佳实践。其他六个最佳实践是:提供高管支持、对员工进行培训、寻找合作伙伴、创建云卓越中心、实施混合架构和实施云优先策略。请保持关注以获得每条最佳实践的更新。  

Read More

Amazon Linux AMI 2017.09 现已推出

我很高兴地宣布,Amazon Linux AMI 的最新版本 (2017.09) 现可供所有 AWS 区域中当前一代的所有 EC2 实例使用。此 AMI 包含受支持和维护的 Linux 映像,该映象旨在为 EC2 上运行的应用程序提供稳定、安全和高性能的环境。 易于升级 只需运行以下两条命令然后重启,就可将现有实例升级: $ sudo yum clean all $ sudo yum update 好处多多 此 AMI 包含许多新功能,其中有很多都是应客户要求而添加的。总结如下: Kernel 4.9.51 – 此内核以 4.9 稳定内核系列为基础,包括 ENA 1.3.0 驱动程序,还支持 TCP 瓶颈带宽和 RTT (BBR)。请阅读我的文章 Elastic Network Adapter – Amazon EC2 高性能网络接口,了解有关 ENA 的更多内容。要了解如何启用 BBR,请阅读发行说明。 Amazon […]

Read More

Microsoft SQL Server 2017 在 Amazon EC2 上的实践

Microsoft SQL Server 2017 (几天前刚刚发布) 包含许多强大的新功能,包括支持图形数据库和数据库自动优化,还能创建无集群 Always On 可用性组。它还能在 Linux 和 Docker 容器中运行。 在 EC2 上运行 我很高兴地在此宣布,现在,您可以启动运行 Windows Server 2016 以及 SQL Server 2017 的四个版本 (Web、Express、Standard 和 Enterprise) 的 EC2 实例了。今天,AMI (Amazon 系统映像) 已在所有 AWS 区域提供,可以在各种 EC2 实例类型上运行,包括全新的 x1e.32xlarge (具有 128 个 vCPU 和接近 4 TB 的内存)。您可以通过 [控制台] 或 [Marketplace] 启动这些实例。以下是它们在控制台中的样子: 以及在 AWS Marketplace 中的样子: […]

Read More

使用 Amazon Polly 提供实时家居监控警报

这是 Y-cam Solution 高级开发人员 Siva K. Syamala 撰写的客座博客文章。用她自己的话说,“Y-cam 是高质量安保视频解决方案提供商,我们的愿景是让智能家居安防系统变得简单,方便所有人使用。” | 原文链接 家居安防是家庭自动化和物联网的重要组成部分。Y-cam Solutions Limited 在 Amazon 的大力支持下,提供了一个智能安防系统,该系统可通过智能手机在世界任何地方进行监视和控制。为了改进警报、通知和系统控制方式,Y-cam 使用 Amazon Polly 提供一流的 AI 服务。利用该服务,用户可通过语音与安防系统进行交互。 我们的服务的工作方式 当触发报警时,我们通过 Twilio 以语音电话的方式通知客户。在建立呼叫后,Twilio 将逐步执行 TwiML 指令,并使用从 Amazon Polly 检索的合成语音开始向客户传送信息。电话接听方通过按手机键盘上的按钮 (DTMF 代码) 来做出回应。根据具体的 DTMF 代码,我们的服务会采取指定的操作,并返回从 Amazon Polly 检索的合成语音所对应的 TwiML 指令。为了让用户听起来像一个真实的对话,Amazon Polly 必须快速做出回应。延迟和等待会让人不满,并更有可能会导致接听方挂断电话。 下面是触发警报时向客户拨打的电话的示例音频剪辑。 架构   呼叫 Amazon Polly 以下 Java 代码说明了从 Amazon […]

Read More

在 AWS 上制造一辆无人驾驶车辆,并参加 re:Invent 机器人车拉力赛

在未来数年内,我们的道路上将会看到有许许多多的无人驾驶车辆在行驶。这归功于深度学习的发展及其在无人驾驶技术方面的应用。在本博客文章中 | 原文链接,我们将向您展示一个教程,介绍如何制造使用 Amazon AI 服务的遥控 (RC) 车辆。 通常,每个无人驾驶车辆上都会安装各种各样的传感器,这些传感器可提供充分的遥测数据。这些遥测数据可用于改善单个车辆的驾驶,而且还能帮助提升用户体验。一些改进示例包括智能驾驶路线确定、增加车辆可行驶里程、提高效率、增强安全性以及更好地报告碰撞情况。在 AWS 上,像 TuSimple 这样的客户已经使用 Apache MXNet 打造了一个尖端的无人驾驶平台。TuSimple 已于近期实现了 200 英里的无人驾驶里程。 为了在无人驾驶车辆的驾驶中提高深度学习意识,推动 AWS IoT 的运用以及凸显人工智能 (AI) 的作用,AWS 将在 re:Invent 2017 大会期间,举办一个研讨会形式的机器人车马拉松拉力赛。这是一系列博客文章和 Twitch 视频中的第一个,利用这些文章和视频,开发人员可以学习无人驾驶 AI 技术,并为这场马拉松赛做好准备。有关马拉松赛的更多详情,请参阅 2017 年机器人车拉力赛。 在本教程中,我们将利用一个称为 Donkey 的开源平台项目。如果您愿意的话,可以使用您自己的 1:10 比例的电动汽车进行试验。不过,我们将坚持使用 Donkey 项目中使用的 1:16 比例的电动汽车。 下面是一些视频,其中演示了我们使用后面教程在 AWS 中制造的其中两款汽车。 车辆制造过程 在此存储库中可以找到组装和配置无人驾驶车辆的过程。其中还包括一个完整的材料清单,并且提供了链接,说明在什么地方购买各种部件。主要车辆部件来自于 RC Car、Raspberry Pi、Pi Cam 和 Adafruit […]

Read More

释放创造力 – AWS Step Functions 让您事事顺利

我经常进行有关 Amazon 创新文化的演讲,通常,开场幻灯片都会引用 Amazon 创始人 Jeff Bezos 一句发人深省的话: 我喜欢和客户坐在一起,听他们讲述我们如何帮助他们释放了创造力,让他们能够追寻梦想。今年早些时候,我与可口可乐公司的 Patrick 聊天,想了解他们如何使用 AWS Step Functions 和其他 AWS 服务支持 Coke.com Vending Pass 计划。此计划包括,在支持使用可口可乐 Vending Pass 进行移动支付的自动贩售机上购买产品可以赢得饮品奖励。参与者可轻扫已启用 NFC 的手机,完成 Apple Pay 或 Android Pay 购买,同时向自动贩售机表明身份,并赢取积分,将来即可在自动贩售机上免费获得饮品 轻扫之后,SNS 主题和 AWS Lambda 函数的组合会对部分现有后端代码启动两次调用,以计算贩售点数并更新参与者的记录。遗憾的是,后端代码响应太慢,还有一些计时依赖性,从而导致漏掉更新,并有可能使 Vending Pass 参与者觉得很困惑。解决这个问题的最初方案非常简单:修改 Lambda 代码,在两次调用之间加入 90 秒延迟。这样确实可以解决问题,但平白消耗了处理时间 (对 Lambda 函数的使用计费取决于请求的持续时间,以 100 毫秒为间隔)。 为了使解决方案更加经济高效,团队转而使用 AWS Step Functions,并构建了非常简单的状态机。我在之前的一篇博文中介绍过,Step Functions 能够使用易于构建的可视化工作流,大规模协调分布式应用程序的组件和微服务。 […]

Read More