亚马逊AWS官方博客

用无服务器应用模型部署无服务器应用 (一)无服务器应用模型入门

作者:薛峰 背景介绍 AWS无服务器架构也涉及到多个AWS服务,如AWS Lambda、Amazon API Gateway、Amazon DynamoDB等。如何把这些服务资源方便地管理起来呢?今天我们介绍的AWS 无服务器应用模型(AWS Serverless Application Model,以下简称AWS SAM)就是一种解决方案,它是一个开源的模型,结合AWS自动运维相关的服务如AWS CloudFormation 和AWS CodePipeline,统一管理多种资源,实现我们的无服务器应用的持续集成和部署。 我们从SAM开始,用几个具体例子为大家介绍使用AWS服务实现持续集成的具体方法,帮助大家快速上手,体验其强大和便捷。 SAM 简介 松鼠SAM是AWS Lamba和无服务器应用模型的吉祥物,寓意轻便、灵活、敏捷。它头顶的头盔上是希腊字母 lambda ,代表了AWS无服务器核心服务 Lambda。 SAM是 AWS 2016年11月发布的一个应用架构模型。遵循开源协议,是一个开放的说明文档。通过开源协议方式发布,也体现了AWS推动开源流动的努力。 官方的github地址如下: https://github.com/awslabs/serverless-application-model SAM实质上是一个AWS CloudFormation 的扩展,基于AWS CloudFormation 并且为无服务器做了优化,它简化了无服务器资源的管理,增加了无服务器相关的新资源类型。 SAM模板简介 AWS CloudFormation标准模板语法比较复杂,SAM模板提供了一套简化的语法,我们先来看一个简单的例子: AWSTemplateFormatVersion: ‘2010-09-09’ Transform: AWS::Serverless-2016-10-31 Resources: GetHtmlFunction: Type: AWS::Serverless::Function Properties: CodeUri: s3://sam-demo-bucket/todo_list.zip Handler: index.gethtml Runtime: nodejs4.3 Policies: AmazonDynamoDBReadOnlyAccess Events: GetHtml: […]

Read More

通过机器学习自动优化 DBMS

本客座文章由卡内基梅隆大学的 Dana Van Aken、Geoff Gordon 和 Andy Pavlo 发布。本项目演示学术研究人员如何利用我们的 AWS Cloud Credits for Research Program 实现科学突破。点击:原文链接 数据库管理系统 (DBMS) 是所有数据密集型应用程序最重要的组成部分。它们可以处理大量数据和复杂工作负载。但它们拥有成百上千的配置“开关”,控制了诸如用于缓存的内存量以及将数据写入存储的频率等诸多因素,因此管理起来很困难。组织通常会聘请专家来帮助完成优化活动,但对许多组织来说专家的费用过于高昂。 卡内基梅隆大学数据库研究组的学生和研究人员开发了一款新工具 OtterTune,它可以针对 DBMS 配置开关自动查找较佳的设置。其目标是让每个人都可以轻松部署 DBMS,即使是毫无数据库管理专业知识的人。 与其他 DBMS 配置工具不同,OtterTune 利用在优化之前的 DBMS 部署期间获得的知识来优化新的部署。这可以显著缩短优化新 DBMS 部署所需的时间以及减少所需的资源。为此,OtterTune 维护了一个存储库,用于存储在之前的优化会话中收集的优化数据。它利用此类数据来构建机器学习 (ML) 模型,以捕获 DBMS 对不同配置的响应方式。OtterTune 使用这些模型来指导新应用程序的试验,进而推荐可改善最终目标 (例如,减少延迟或提高吞吐量) 的设置。 在本文中,我们将讨论 OtterTune ML 管道中的每一个组件,并演示这些组件如何彼此交互以优化 DBMS 配置。然后,我们将通过比较 OtterTune 推荐的最佳配置与数据库管理员 (DBA) 及其他自动优化工具选择的配置的性能,评估 OtterTune 对 MySQL 和 Postgres […]

Read More

VMware Cloud on AWS 现已推出

去年我曾向您介绍过我们正在和 VMware 的朋友一道所做的工作,那就是构建 VMware Cloud on AWS。正如我当时所分享的,这是一种原生的完全托管服务,直接在裸机 AWS 基础设施上运行 VMware SDDC 堆栈,以维持客户预期的弹性和安全性。这使得您能够从 AWS 的可扩展性和抗风险能力,以及作为我们的安全优先架构的基本组成部分的网络和系统级硬件功能中获益。 VMware Cloud on AWS 允许您利用您已经了解和拥有的东西。在迁移到公有云后,您现有的技能、在培训方面的投资、操作实践以及对软件许可证的投资仍然有价值且适用。作为这一举措的一部分,您可以将构建和运行数据中心、对硬件进行现代化改造以及进行扩展以满足瞬时或短期需求抛诸脑后。您还可以利用长长的 AWS 计算、数据库、分析、物联网、AI、安全、移动、部署和应用程序服务清单。 初期可用性 在融入了我们通过 Early Access Beta 计划从许多客户和合作伙伴那里收集到的反馈后,今天,在 VMworld 大会上,VMware 与 Amazon 共同宣布推出 VMware Cloud on AWS 的初始版本。该服务初期只在美国西部 (俄勒冈州) 区域推出,可通过 VMware 及 VMware Partner Network 成员获得。该服务旨在支持常见的使用情形,如数据中心扩展、应用程序开发和测试以及应用程序迁移。 该服务由 VMware 销售、交付、支持和计费。它支持自定义大小的虚拟机,运行 VMware 支持的任何操作系统,并使用单租户裸机 AWS 基础设施,以便您可以将 Windows Server 许可证带到云中。每个 […]

Read More

挖掘EB级别数据的价值 – Redshift Spectrum介绍及最佳实践

随着数据存储技术的快速发展,众多企业客户可以以低成本存储PB级别甚者EB级别的数据。这使得大数据分析在近几年来不但成为现实而且愈发火热。然而真正实现海量数据的分析既要有存储海量数据的资源,又要有足够强大的分析能力。近年来我们看到数据分析能力的发展并没有追赶上存储技术的发展速度 。现实中企业客户虽然有了可以收集并存储大量数据的能力,但很多数据并不能被有效的分析甚至根本未作任何分析,形成了所谓的暗数据。这使得数据分析能力成为实现大数据分析的真正瓶颈。 作为一个托管的数据仓库服务,Amazon Redshift从它发布至今已经帮助全球成千上万的客户解决了PB级别数据的分析能力,实现了复杂SQL的快速查询。但随着数据的飞速增长,我们看到越来越多的客户数据开始逼近EB级别。对于这样体量的大数据,虽然Redshift也可以支持快速的复杂SQL查询,但毕竟我们需要启动更多的Redshift集群,消耗更多的CPU和存储成本,同时还要付出更多的数据加载时间。相反如果我们为了节省资源和成本把数据放在S3上,通过EMR集群也可以实现快速低成本的数据清理,但针对复杂的(诸如Join类)的查询速度会很慢,不能很好支持。这形成了一个鱼与熊掌不可兼得的选择题。 为了真正摆脱数据分析的瓶颈、消灭暗数据,我们的客户需要既能高效执行复杂的查询,又能享受高度可扩展的数据并行处理,也能利用近乎无限的低成本的S3存储资源,还要可以支持多种常用的数据格式。满足这种”既又也还”的任性就是我们的新服务Redshift Spectrum的使命。 Redshift Spectrum 介绍 Redshift Spectrum可以帮助客户通过Redshift直接查询S3中的数据。如同Amazon EMR,通过Redshift Spectrum客户可以方便的使用多种开放数据格式并享有低廉的存储成本,同时还可以轻松扩展到上千个计算节点实现数据的提取、筛选、投影、聚合、group、排序等等操作。Redshift Spectrum采用了无服务器架构,所以客户不需要额外配置或管理任何资源,而只需为Redshift Spectrum的用量付费。使用方面,Redshift Spectrum享有和Amazon Redshift一样的复杂查询的优化机制、本地数据的快速读取以及对标准SQL的支持。结合上述功能特点,Redshift Spectrum可以在几分钟内完成对EB级别的数据的复杂查询,这使它在众多大数据分析服务中脱颖而出。我们做了一个实验,在对一个EB的数据做涉及四个表的join,filter和group的查询时,1000个节点的Hive集群预估需要耗时5年,而Redshift Spectrum只用了173秒。 另外Redshift Spectrum 是Amazon Redshift的一个内置功能,所以使用Redshift Spectrum 对Redshift客户现有的查询服务和BI工具不会有任何影响。在Redshift Spectrum的底层,我们负责管理着成千上万的跨多个可用区的计算节点。这些节点根据客户查询任务的复杂度和数据量实现透明的扩展和分配,前端的客户无需做任何资源部署和配置。Redshift Spectrum也很好的支持了高并发 – 客户可以通过任何多个Amazon Redshift集群同时访问S3上的数据。 Redshift Spectrum 上一个查询任务的生命周期 一切从Redshift Spectrum的查询任务提交给Amazon Redshift集群的领导节点开始。首先,领导节点负责优化、编译、并推送查询任务给Amazon Redshift集群的计算节点。然后,计算节点从外部表获得数据目录,并基于查询任务里的join和filter动态移除不相关的数据分区。这些计算节点同时也会检测在Redshift本地是否已有部分查询数据,从而只从S3上扫描本地没有的数据以提升效率。 接下来,Amazon Redshift的计算节点会基于需要处理的数据对象生成多个查询需求,并行提交给Redshift Spectrum,Redshift Spectrum再据此启动上千个工作线程。 这些工作线程进一步从S3上扫描、筛选并聚合数据,将处理好的结果数据传回Amazon Redshift集群。最后,传回的结果数据在Redshift 集群本地作join和merge操作,然后将最终结果返回给客户。 Redshift Spectrum 的优势 Redshift Spectrum的架构设计有很多优势。第一,剥离计算与S3上的存储,使计算资源可以独立弹性扩展。第二,大幅提升了并发效率,因为客户可以用多个Redshift集群访问同一组S3上的数据。第三,Redshift Spectrum沿用了Amazon Redshift的查询优化机制,可以生成高效的查询规划,即便面对诸如多表join或者带统计函数(window function)的复杂查询也能胜任。第四,可以对多种格式的数据源直接查询 – Parquet, RCFile, […]

Read More

如何使用 AWS Lambda 为 AWS Service Catalog 产品启动创建审批流程

利用 AWS Service Catalog,组织可以集中管理通常部署的 IT 服务,实现一致的监管以及帮助满足合规性要求。AWS Service Catalog 可为产品配置提供标准化环境。用户浏览其有权访问的产品 (服务或应用程序) 的列表,找到要使用的产品并自行将其作为已配置产品启动。AWS Service Catalog API 还提供对所有用户操作的编程控制。 假设您需要为用户的启动请求构建一个审批工作流。许多解决方案都可以使用 AWS Service Catalog API 来构建复杂的自定义工作流 (例如,ServiceNow)。在本博客文章中,我将从 AWS Service Catalog 管理员的角度介绍如何使用 AWS Lambda、Amazon API Gateway、AWS CloudFormation 和 Amazon Simple Notification Service (Amazon SNS) 构建简单的工作流审批流程。 为构建此审批流程,我将使用 WaitCondition 和 WaitHandle 等 AWS CloudFormation 功能,并使用 AWS Lambda 作为自定义资源来创建简单的审批工作流。如果您正在寻找 AWS 原生解决方案来扩展现有 AWS Service Catalog […]

Read More

新工具 – AWS SAM Local (Beta 版) – 在本地构建和测试无服务器应用程序

今天,我们将发布一款新工具 — SAM Local (Beta 版)。使用这款工具,您可以轻松在本地构建和测试无服务器应用程序。在本文中,我们将使用 SAM Local 快速构建、调试并部署一款应用程序,该应用程序允许我们通过对终端节点运行 curl 命令给 Tabs 或 Spaces 投票。AWS 去年推出了无服务器应用程序模式 (SAM),让开发人员能够更轻松地部署无服务器应用程序。如果您还不熟悉 SAM,请阅读我的同事 Orr 发布的一篇优秀文章,其中详细介绍了如何使用 SAM,读完该文章大约需要 5 分钟。SAM 的核心是基于 AWS CloudFormation 的强大开源规范,它可轻松将您的无服务器基础设施保持为代码并提供可爱的标识。 SAM Local 吸收了 SAM 的全部精华并将它们应用到您的本地计算机中。 它允许您使用以下命令和工具在本地开发并测试 AWS Lambda 函数: sam local 和 Docker。 它允许您模拟从已知事件源 (如 Amazon Simple Storage Service (S3)、Amazon DynamoDB、Amazon Kinesis、Amazon Simple Notification Service (SNS) 等) 进行的函数调用。 […]

Read More

AWS 纽约峰会 – 公告汇总

多么充实的一周!Tara、Randall、Ana 和我一直忙于为我们在 AWS 纽约峰会上发布的公告撰写博客文章。下面提供的汇总信息可帮助您初步了解这一活动: Amazon Macie – 这项新服务可以帮助您发现、分类和保护海量的内容。以机器学习和使用自然语言处理 (NLP) 为强大后盾,Macie 可以识别模式并提醒您各种可疑行为,并帮助您完成治理、合规和审计工作。您可以阅读 Tara 的博文,了解如何使用 Macie;您可以选择感兴趣的存储桶,自定义分类设置,并在 Macie 控制面板中查看结果。 AWS Glue – Randall 的博文 (带有精美动画 GIF) 向您介绍了这种新的提取、转换和加载 (ETL) 服务。Glue 采用完全托管的无服务器架构;正如您在博文中看到的那样,Glue 可以爬取您的数据,推断模式,并使用 Python 生成 ETL 脚本。您利用各种各样的转换来定义将数据从一个位置移动到另一个位置的作业,每个作业都以代码形式表示,并以人类可读的形式存储。Glue 使用开发终端节点和笔记本,为您提供用于所构建脚本的测试环境。我们还宣布,Amazon Athena 现在已与 Amazon Glue 集成,并且 Apache Spark 和 Hive 在 Amazon EMR 上可用。 AWS Migration Hub – 这项新服务可帮助您将应用程序产品组合迁移到 AWS。我的博文简要介绍了主要步骤,并说明了 Migration Hub 如何加速、跟踪和简化您的迁移工作。您可以从发现步骤开始,也可以跳过这些步骤并直接开始迁移。Migration […]

Read More

AWS 合作伙伴系列网络研讨会 – 2017 年 8 月

我们乐于向客户提供有帮助的信息;在这里我非常高兴地向大家介绍另一个非常棒的系列。AWS 合作伙伴系列网络研讨会是一系列直播和录播演示视频,讲述各种各样的主题,涵盖不同的技术水平以及各种规模。与我们的 AWS 在线技术讨论稍有不同,每个 AWS 合作伙伴系列网络研讨会主持人包括一位 AWS 解决方案架构师,和一位已经成功帮助客户评估和实施了 AWS 的工具、方法和技术的 AWS 能力合作伙伴。 观看本月的网络研讨会,让我们知道您认为哪些内容对您最有用!所有时间安排都采用太平洋时间 (PDT)。 安全网络研讨会 Sophos 更进一步了解:ATLO 软件通过 AWS Link 上的 SophosUTM 来保护劳教所的在线培训解决方案。 2017 年 8 月 17 日 | 上午 10:00 (太平洋时间) F5 AWS 上的 F5:MailControl 如何提高应用程序的可见性和安全性 2017 年 8 月 23 日 | 上午 10:00 (太平洋时间) 大数据网络研讨会 Tableau、Matillion、47Lining、NorthBay 通过在 AWS 上实现数据仓库的现代化,获得洞察力并降低成本 2017 年 […]

Read More

AWS技术峰会纽约站

和全球每一站AWS技术峰会一样,纽约站也是大咖云集、高朋满座,每一个参会者都怀着执掌未来的梦想和对云计算技术的信仰,前来学习、分享与碰撞创新的火花! 给力新服务 今年AWS 技术峰会2017 纽约站的主题演讲环节,由AWS云架构战略副总裁Adrian Cockcroft主持。 Adrian Cockcroft在云计算界可谓声名显赫。此前他曾在Battery Ventures、Netflix和eBay等公司任职,曾经负责Netflix云架构的搭建,是公认的云架构领域的大牛! 在主题演讲中,Adrian Cockcroft与AWS人工智能负责人Matt Wood博士重点介绍了多项令人激动人心的AWS新服务与新特性。这其中包括: Amazon Macie Amazon Macie使用机器学习和NLP技术帮助客户自动发现、分类和保护敏感信息,来防止丢失AWS中的数据。Amazon Macie能够自动识别敏感数据,如个人身份信息(PII)或知识产权等,并为客户提供仪表板和警报,以便了解这些数据的访问或移动。完全托管的服务能够持续监控异常的数据访问活动。当Amazon Macie检测到未经授权的访问风险或无意的数据泄漏时,它会生成详细的警报。 现在,Amazon Macie可以保护存储在Amazon Simple Storage Service(Amazon S3)中的数据,并将在今年晚些时候支持其他AWS数据存储。客户可以从AWS管理控制台启用Amazon Macie,并仅需在分析Amazon S3中内容和分析的AWS CloudTrail事件时,按照GB来付费,无需前期成本或软件购买。 AWS Glue正式上线 AWS Glue是一个完全托管的,提取、转换和加载(ETL)服务,使客户能够轻松准备和加载他们的数据到Amazon Simple Storage Service(Amazon S3)、Amazon Redshift、Amazon Relational Database Service(Amazon RDS)中,以及加载数据到运行在Amazon EC2上的数据库,来进行查询和分析。 只要在AWS管理控制台上点击几下鼠标,客户就能创建和运行ETL作业。接下来,客户只需将AWS Glue指向存储在AWS上的数据,AWS Glue就能发现关联的元数据(例如表定义)并对其进行分类,生成用于数据转换的ETL脚本,并将转换的数据加载到目标数据存储中,为需要的基础设施完成工作。使用AWS Glue,数据可以在几分钟内进行分析,并且由于AWS Glue是无服务器的,客户只需在执行数据准备和加载作业时,支付其消耗的计算资源。 AWS Migration Hub AWS Migration Hub提供了一个单一位置来跟踪跨越多个AWS和合作伙伴解决方案的迁移。使用AWS Migration Hub允许您选择最适合您需求的、来自AWS和合作伙伴迁移工具,同时让您可以了解整个应用程序组合中的迁移状态。这样您可以快速获得所有迁移的进度更新,轻松识别和排除任何问题,并减少迁移项目花费的总体时间和精力。 如果迁移工具在该地区可用,AWS Migration Hub可帮助您监控所有AWS地区迁移的状态。已连接的迁移工具会将状态发送到美国西部(俄勒冈州)的Migration […]

Read More

动态DevOps环境中的IT治理

译者:殷实,AWS专业服务咨询顾问 |原文链接 动态DevOps环境中的IT治理 治理涵盖安全和生产力运营的协调,其目的是确保公司实现业务目标。 正在迁移到云端的客户可能处于实现治理的各个阶段。 每个阶段都有自己的挑战。 在这篇博文中(系列中的第一篇文章),我将讨论四步走的方法来自动化AWS服务的治理。 治理和DevOps环境 具有DevOps和敏捷思维的开发人员负责构建和运营服务。他们经常依靠中央安全小组制定和实施安全策略,寻求安全审查和批准,或实施最佳实践。 这些安全策略和规则并没有得到安全小组的严格执行。它们被视为开发人员为获得更多的使用AWS的灵活性而遵循的准则。然而,由于时间限制或重视度不足,开发人员可能并不总是遵循最佳实践和标准。如果这些最佳实践和规则得到严格执行,安全小组就可能成为瓶颈。 对于迁移到AWS的客户,这篇博文中描述的自动化治理机制将为开发人员保留灵活性,同时为安全团队提供控制。 在动态开发环境中,以下是一些常见的挑战: 通过捷径完成任务,例如将安全凭证硬编码在代码中。 成本管理,例如控制启动的实例的类型。 知识传递。 手动流程。 治理步骤 四步走的自动化治理方法: 在治理开始的时候,你需要实施一些(1)高风险操作的控制。在控制就绪后,你需要(2)监控你的环境,以确保你正确地配置了资源。监控将帮助你发现想要(3)尽快修复的问题。你还将需要定期地生成一份(4)审核报告,以展示所有内容都符合要求。 这篇博文中的例子协助阐明了四步走的自动化治理方法:中央IT团队允许其Big Data团队运行一个基于Amazon EMR集群的测试环境。该团队在100个t2.medium实例运行EMR任务,但是当一个团队成员使用100个r3.8xlarge实例来更快地完成任务时,业务会产生意外的费用。 中央IT团队关心治理,采取一些措施来防止这种情况再次发生: 控制要素:团队使用CloudFormation来限制实例的数量和类型,并使用AWS身份和访问管理来允许只有某个组可以修改EMR集群。 监控要素:团队使用AWS标记,AWS Config和AWS Trusted Advisor来监控EMR实例限制,并确定是否有人超额使用了被允许的实例数。 修复:团队创建一个自定义的AWS Config规则来终止那些不是指定类型的EMR实例。 审核:团队在AWS Config中审查EMR实例的生命周期。 控制 你可以通过标准化配置(通过AWS CloudFormation),限制配置的选项(通过AWS服务目录)和控制权限(通过IAM)来防范错误。 AWS CloudFormation可以帮助你在单个软件包中控制工作流环境。 在这个示例中,我们使用CloudFormation模板来限制实例的数量和类型,使用AWS标记来控制环境。 例如,团队可以通过使用限制了实例类型和数量的CloudFormation来阻止选择r3.8xlarge实例类型的选用。 CloudForamtion模板示例 包含标记的EMR集群 { “Type” : “AWS::EMR::Cluster”, “Properties” : { “AdditionalInfo” : JSON object, “Applications” : [ […]

Read More