PowerPoint Presentation

Similar documents
PowerPoint 演示文稿

ABOUT ME AGENDA 唐建法 / TJ MongoDB 高级方案架构师 MongoDB 中文社区联合发起人 Spark 介绍 Spark 和 MongoDB 案例演示

PowerPoint 演示文稿

PowerPoint Presentation

水晶分析师

BYOD IP+Optical (IP NGN) API 4. End-to-End (Service Aware) 5. IP NGN (IP Next Generation Network) ( ) Prime Carrier Management Access Edge Co

第 06 期 李祥池 : 基于 ELK 和 Spark Streaming 的日志分析系统设计与实现 1 日志 1.1 日志定义 IT 1.2 日志处理方案演进 v1.0 v2.0 Hadoop Storm Spark Hadoop/Storm/Spark v3.0 TB Splunk ELK SI

Connected Intelligence:ビッグデータ技術を活用したIT運用

Azure_s

Logitech Wireless Combo MK45 English

PowerPoint Presentation

PowerPoint Presentation

第四章-個案分析.doc

Microsoft PowerPoint - Big Data rc Sharing掃盲時間.ppt [相容模式]

PowerPoint Presentation


次世代のITインフラ“Compute”を先取り!HPが統合型アプライアンス「HP ConvergedSystem」を推進する理由

PowerPoint 演示文稿

目 录 简 介.3 ` 体 系 结 构...4 数 据 层...5 数 据 连 接 器...6 Tableau Server 组 件...7 网 关 / 负 载 平 衡 器...8 客 户 端 :Web 浏 览 器 和 移 动 应 用 程 序...8 客 户 端 :Tableau Desktop..

Dell EMC Data Domain DDOS 5.5 Data Domain Data Domain Data Domain : Data Domain Boost (DDBoost) Dell EMC DDBoost Data Domain DDBoost Source De-Dup Bac

Bus Hound 5

PowerPoint Presentation

F4

附件9 电梯运行安全监测管理信息平台技术规范 第11部分:系统信息安全技术规范(征求意见稿)

PowerPoint 演示文稿

附3

A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内

untitled


股票代码:600654

PowerPoint Presentation

(Microsoft Word - 11\244T\246\342\277\337\260l\302\334.doc)

Microsoft PowerPoint - RT0950_EliminatingRubyGILthroughHTM_Slides_ja.ppt

北京光环新网科技股份有限公司2016年半年度报告全文

Microsoft PowerPoint - STU_EC_Ch08.ppt

网宿科技股份有限公司2016年半年度报告全文

背 景 概 述 企 业 需 要 一 种 灵 活 的 平 台 来 快 速 构 建 测 试 和 扩 展 新 的 应 用 程 序 服 务 并 对 市 场 中 发 生 的 数 字 化 变 革 作 出 反 应 数 字 化 变 革 正 在 加 快 步 伐, 因 为 流 程 和 信 息 的 日 益 融 合 带 来

PowerPoint Presentation


幻灯片 1

2/80 2

2005 3

TopTest_Adminstrator.doc

壹、國內外車輛產業概況

目次 

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

Contents Viewpoint Application Story 05 News & Events 06 Technology Forum Customer Partnership Cover Story Advisory Board Inside Advantech Beautiful L

版 權 2014 贊 雲 科 技 股 份 有 限 公 司 版 權 保 護 聲 明 未 經 贊 雲 科 技 股 份 有 限 公 司 書 面 許 可, 本 檔 任 何 部 分 的 內 容 不 得 被 複 製 或 抄 襲 用 於 任 何 目 的 本 檔 的 內 容 在 未 經 通 知 的 情 形 下 可

本 课 程 作 为 非 计 算 机 专 业 本 科 通 识 课 程, 是 一 门 理 论 和 实 践 紧 密 结 合 的 实 用 课 程, 内 容 包 括 计 算 机 基 础 部 分 和 程 序 设 计 部 分 计 算 机 基 础 部 分 涵 盖 计 算 机 软 硬 件 组 成 数 制 表 示 操

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

untitled

Basic System Administration

第 37 卷 第 5 期 自 然 论 坛 亿, 相 当 于 总 人 口 的 1/4; 到 2050 年, 比 重 将 达 到 1/3, 相 当 于 三 个 人 中 就 有 一 个 老 年 人 2013 年 上 海 市 60 岁 及 以 上 老 年 人 口 为 万 人, 占 总 人 口

Oracle Database 10g: SQL (OCE) 的第一堂課

Microsoft Word 記錄附件

GoFlex Home UG Book.book


PowerPoint Presentation

TX-NR3030_BAS_Cs_ indd

FAQ -PowerDesigner9.5.DOC

附表2:

册子0906

Simulator By SunLingxi 2003

VASP应用运行优化

CH01.indd

ebook140-8

untitled

RunPC2_.doc

应 用 为 先, 统 筹 规 划 摘 要 : 总 体 上 看, 我 国 的 云 计 算 还 没 有 进 入 良 性 发 展 的 轨 道 目 前 的 形 势 是 政 府 比 企 业 积 极, 企 业 比 用 户 积 极, 大 企 业 比 中 小 企 业 积 极, 建 设 数 据 中 心 比 推 广 应

<4D F736F F F696E74202D20C8E7BACED2C0CDD F54A3ACB4D3496F54D3A6D3C3D6D0BBF1C8A1C9CCD2B5BCDBD6B5>

支付宝2011年 IT资产与费用预算

ebook

Abstract arm linux tool-chain root NET-Start! 2

标题

<4D F736F F D20CBC4B4A8D0C2CEC5CDF8B4ABC3BDA3A8BCAFCDC5A3A9B9C9B7DDD3D0CFDEB9ABCBBECAD7B4CEB9ABBFAAB7A2D0D0B9C9C6B1B2A2D4DAB4B4D2B5B0E5C9CFCAD0D5D0B9C9CBB5C3F7CAE9A3A8C9EAB1A8B8E C4EA3132D4C23232C8D5B1A8CBCDA3A92

Windows XP

目 录 第 一 部 分 本 科 教 育 基 本 情 况... 1 一 学 校 办 学 定 位... 1 二 本 科 人 才 培 养 目 标 及 服 务 面 向... 2 三 教 学 工 作 中 心 地 位 落 实 情 况 领 导 认 识 到 位 教 学 投 入 到 位

大学计算机基础B.doc

\\Lhh\07-02\黑白\内页黑白1-16.p

SIP/ENUM Trial

Microsoft PowerPoint - Sens-Tech WCNDT [兼容模式]

Marketing_WhitePaper.PDF

Microsoft Word - CX VMCO 3 easy step v1.doc

PowerPoint 簡報

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

ebook140-9

Microsoft PowerPoint - ch6 [相容模式]

<4D F736F F D C4EAA1B6B1CFD2B5C2DBCEC4D6B8B5BCCAD6B2E1A1B7A3A8B3F5B8E5A3A92E646F63>

...1 Abstract

1 o o o CPU o o o o o SQL Server 2005 o CPU o o o o o SQL Server o Microsoft SQL Server 2005

CANVIO_AEROCAST_CS_EN.indd


第6章  数据库技术基础

IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I

PowerPoint 演示文稿

epub 61-2

(Microsoft Word - \261M\256\327\272\353\302\262\263\370\247iEnd.doc)

<4D F736F F F696E74202D20504D C4EABBE1D6F7BDB22DCDA8B9FDD7C9D1AFC0E0CFEEC4BFB9DCC0EDCAB5CFD6D6B0D2B5CCE1C9FD2DCDF5C0DA2D504D D41C3C0B9FAD7A2B2E1B9DCC0EDBBE1BCC6CAA65BCCE1BDBBB8E55D202E B436F6D706

PowerPoint 演示文稿

Transcription:

让 Serverless 架构无处不在 何鹏,AWS 解决方案架构师 Harris He, Solutions Architect, Web Services 2018 年 1 月 9 日 9 th Jan, 2018

议程 : 1. Serverless 技术和 Lambda 简介 2. 场景一 : 无服务器的 Web 应用 3. 场景二 : 自动化运维 4. 场景三 :IoT 消息处理 5. 场景四 : 实时或批量处理大数据 6. 场景五 : 自动工作流

计算架构的演化 虚拟机 (Virtual Machine) 抽象了物理机, 看到的是多台虚拟的机器 需要配置管理存储 网络 操作系统等 EC2 数分钟启动, 运行数周乃至数月 容器 (Container) 抽象了操作系统, 看到的是多套应用环境 ECS 需要配置管理应用环境 数秒钟启动, 运行数小时乃至数天 无服务器 (Serverless) 抽象了运行时环境, 看到的是多个函数 Lambda 指定所需内存大小, 无需其他配置 随需启动, 运行数秒乃至数分钟

Serverless 服务越来越丰富 Compute Storage Database AWS Lambda S3 DynamoDB API Proxy Messaging and Queues Streaming API Gateway SQS SNS Kinesis Orchestration & State Management Monitoring & Debugging Many others AWS Step Functions AWS X-Ray

什么是 AWS Lambda? Serverless 打补丁 访问控制 容灾方案 选择机型 性能调优 能力规划 Code Only 全托管 高可用 可扩展负荷与性能监控 Node.js Python 配置管理 Java C# 自动扩展 镜像与备份

Lambda 事件驱动模式 非同步推送 非同步调用 从事件源调用 Lambda 函数 S3 SNS AWS Lambda 基于资源的权限管理 并发执行 同步推送 同步调用 AWS IoT Alexa AWS Lambda 抓取流式数据 同步调用 Lambda 函数主动去抓取 当有新数据时开始执行 DynamoDB Kinesis AWS Lambda 需要赋予 Lambda 相应的权限

使用 Lambda 的好处 无需维护天然高可用自动扩展按调用付费安全可靠

议程 : 1. Serverless 技术和 Lambda 简介 2. 场景一 : 无服务器的 Web 应用 3. 场景二 : 自动化运维 4. 场景三 :IoT 消息处理 5. 场景四 : 实时或批量处理大数据 6. 场景五 : 自动工作流

无服务器的 Web 应用 架构 CloudFront S3 PC API Dynamic content in Data stored in Mobile Gateway AWS Lambda DynamoDB

无服务器的 Web 应用 安全 Browser CloudFront OAI Geo-Restriction Signed Cookies Signed URLs DDOS S3 Bucket Policies ACLs AuthZ API Gateway Throttling Caching Usage Plans AWS Lambda DynamoDB IAM IAM

无服务器的 Web 应用 监控 Browser CloudFront Access Logs in S3 Bucket CloudWatch Metricshttps://aws.amazon.com/cl oudfront/reporting/ S3 Access Logs in S3 Bucket Custom CloudWatch Metrics & Alarms logs API Gateway Latency Count Cache Hit/Miss 4XX/5XX Errors AWS Lambda logs Invocations Invocation Errors Duration Throttled Invocations DynamoDB Latency Throughput Throttled Reqs Returned Bytes Streams

无服务器的 Web 应用 部署 AWS SAM (Serverless Application Model) AWS Lambda DynamoDB Serverless Template Package & Deploy S3 Serverless Template w/ CodeUri AWS CloudFormation API Gateway package deploy CI/CD Tools

议程 : 1. Serverless 技术和 Lambda 简介 2. 场景一 : 无服务器的 Web 应用 3. 场景二 : 自动化运维 4. 场景三 :IoT 消息处理 5. 场景四 : 实时或批量处理大数据 6. 场景五 : 自动工作流

我们依然需要运维 为什么还需要运维? 不是没有服务器了吗? 是的, 您不再需要维护服务器了! 但是, 您依然需要关心 : 我的应用程序是否健康运行? 是否有大量的 API 调用失败? 用户访问延时怎么样, 高吗? 数据库的读写性能是否正常?

为什么需要自动化? 更加敏捷 提高质量 增强稳定性 减少人为失误 降低人力和时间成本 更多创新

为什么需要 Lambda? 因为 Lambda 是事件驱动的, 对事件的响应近乎实时 AWS Lambda 事件 接近实时的响应

一个自动化运维的例子 当生产环境中的 EC2 被终止时发出通知 ~1 minute CloudTrail Lambda SNS CloudWatch Events Kinesis Data Streams EC2 事件规则 : StopInstances 事件目的地 Kinesis Data Firehose Elasticsearch 事件源 使用 ES+Kibana 进行检索

为什么要用 Kinesis Data Streams? CloudWatch Events 就可以直接触发 Lambda, 为什么中间还要加上 Kinesis Data Streams 呢? 实时性 : 收集 管理 分发实时数据流, 并对事件作出及时的响应 ; 是实时数据处理解决方案的核心服务之一 易用性 : 丰富的 API 接口 ; Kinesis 全托管的服务 Kinesis 家族包括 : Kinesis Data Streams: 持续收集和存储每小时 TB 级别的网站点击 系统日志 金融交易等数据 Kinesis Data Firehose: 将流式数据加载到 S3, RedShift, Elasticsearch 等存储服务中 Kinesis Data Analytics: 使用标准 SQL 语句对流式数据进行实时的查询 Kinesis Video Streams (NEW Launch!): 从设备端持续收集和存储视频流, 供媒体处理 机器学习 图像识别使用

为什么要用 Kinesis Data Streams? 考虑以下场景 : 场景 1: 不使用 Kinesis Data Streams Lambda 函数有 Bug, 怎么办? Kinesis 和 Lambda 经常结伴而行, 随后的场景里会讲到更多实现细节 CloudWatch Events Lambda 场景 2: 使用 Kinesis Data Streams 所有的事件都缓存下来了, 不怕丢! CloudWatch Events Kinesis Data Streams Lambda

议程 : 1. Serverless 技术和 Lambda 简介 2. 场景一 : 无服务器的 Web 应用 3. 场景二 : 自动化运维 4. 场景三 :IoT 消息处理 5. 场景四 : 实时或批量处理大数据 6. 场景五 : 自动工作流

IoT 消息处理 架构 Customer Application AWS Lambda 1 DynamoDB Device AWS IoT Custom CloudWatch Metrics & Alarms Kinesis Data Streams AWS Lambda 2 Machine Learning AWS Lambda 3 S3 EMR

处理同步呼叫 Customer Application AWS Lambda 1 DynamoDB Device AWS IoT

同步呼叫的案例

同步呼叫的案例

实时处理 IoT 消息 DynamoDB Device AWS IoT Custom CloudWatch Metrics & Alarms Kinesis Data Streams AWS Lambda 2

批处理 IoT 消息 Device AWS IoT Kinesis Data Streams Machine Learning AWS Lambda 3 S3 EMR

为什么要用 AWS IoT? 设备可以直接发消息给 Lambda 或者 Kinesis, 为什么还要使用 IoT 服务呢? AWS IoT 服务具有如下优势 : 安全 : 基于 TLS 的加密链接 基于 X.509 证书的双向认证 基于 IAM 的权限管理 ; AWS IoT 高可用 : 设备网关支持数亿设备 数十亿消息 ; 设备影子版本管理 缓存指令 ; 周边服务 : 与存储 大数据 机器学习等 AWS 服务天然集成, 挖掘数据价值

议程 : 1. Serverless 技术和 Lambda 简介 2. 场景一 : 无服务器的 Web 应用 3. 场景二 : 自动化运维 4. 场景三 :IoT 消息处理 5. 场景四 : 实时或批量处理大数据 6. 场景五 : 自动工作流

批量处理大数据

传统的本地解决方案 每 10 分钟定时执行 Map 作业 静态的 Hadoop 集群, 批处理交易文件 需要 24 * 5 的高可用 NAS Incoming Files FTP DB On premise data center

面临的挑战 缺乏弹性 按最大峰值配置 Hadoop 集群,50% 以上的时间都存在闲置资源 维护成本高 需要投入大量人力和时间, 对服务器 中间件和应用程序进行维护 数据可见性低 受限于批处理的时间间隔

Serverless 解决方案 所有数据都存储在 S3 上 合规性检查 Lambda 集群 消息队列负责缓存输入和输出的通知 控制节点 控制节点负责调用 Lambda 函数, 并接收 Lambda 函数的处理结果 SQS Lambda 函数负责执行合规性检查 消费者 S3 交易文件 FTP NAS 本地数据中心

带来的效果 Lambda 按使用付费, 节约了超过 50% 的成本 文件复制到 S3 后, 立即触发 Lambda 进行处理, 可在一分钟内看到检查结果, 提高了数据可见性 Lambda 天然可扩展, 不用担心计算能力不足 即使在交易量是平时 3 倍以上的大日子里, 也毫无压力 大量使用托管服务 (Lambda,SQS,S3,RDS), 基本上不需要管理基础设施

实时处理大数据 Device AWS IoT Kinesis Data Streams Lambda: Stream Processor S3 / DynamoDB: Intermediate Data S3 / DynamoDB: Final Output CloudWatch Events: Trigger every x minutes Lambda: Scheduled Dispatcher Lambda: Periodic Dump to S3 / DynamoDB

Kinesis 与 Lambda: 如何协同工作? Shard( 分片 ): 一个流由一个或多个分片组成 写入 :1K 记录 / 秒 / 片,1 MB/ 秒 / 片 读取 :5 次 / 秒 / 片,2 MB/ 秒 / 片 Lambda 并发模型 : 每个 Kinesis 分片对应一个 Lambda 例 :100 个分片, 就有 100 个 Lambda 在并发运行 当增加或减少分片数量的时候,Lambda 并发数量同时变化 流的总容量 = 分片 的容量 ( = 1 n) 根据输入数据速率的变化, 可以增加或减少分片数量

Kinesis 与 Lambda: 是否协同工作?

Kinesis 与 Lambda: 让他们协同工作 如果发现 Lambda 跟不上 Kinesis 的步伐, 我们可以 : 增加 Lambda 内存 优化 Lambda 程序 采用 Fan - out 模式 Device AWS IoT Kinesis Data Stream Lambda: Dispatcher Lambda: Processors Fan - out 模式 增加了吞吐量, 降低了延时, 但是, 破坏了时序性!

议程 : 1. Serverless 技术和 Lambda 简介 2. 场景一 : 无服务器的 Web 应用 3. 场景二 : 自动化运维 4. 场景三 :IoT 消息处理 5. 场景四 : 实时或批量处理大数据 6. 场景五 : 自动工作流

为什么需要自动化工作流? S3: Source Bucket Lambda: 第一步 : 剪裁第二步 : 压缩第三步 : 打水印第四步 : 归档 S3: Destination Bucket 用户上传图片 Triggered on PUTs 把所有任务都放到一个 Lambda 中完成, 真的合适吗? 如果中间某个任务失败了怎么办? 考虑 Lambda 的限制 : 例如, 最多只有五分钟的执行时间 无法享受微服务的诸多好处 : 组织 开发 部署 可用性 性能

大规模 Serverless 应用 λ λ λ λ λ λ λ λ λ λ λ λ Queue DBMS

服务之间多种交互方式 I want to sequence functions I want to run functions in parallel I want to select functions based on data I want to retry functions I want try/catch/finally I have code that runs for hours

AWS Step Functions

foodpanda 与 Step Functions AWS Step Functions, we can easily change and iterate on the application workflow of our food delivery service in order to optimize operations and continually improve delivery times. AWS Step Functions lets us dynamically scale the steps in our food delivery algorithm so we can manage spikes in customer orders and meet demand. Mathias Nitzsche, CTO, foodpanda

顺序处理的例子

并行处理的例子 "Send for OCR": { "Type": "Parallel", "Next": "Pick result", "Branches": [ { "StartAt": "Prep1", "States": { "Prep1": { "Type": "Pass", "Result": { "inputlist": [ "OCR Provider 1" ] }, "Next": "Go1" }, "Go1": { "Type": "Task", "Resource": "arn:aws:lambda:eu-central-1:123456789012:function:statesbot", "End": true } }

try / catch / finally 的例子 "Access Media": { "Type": "Task", "Resource": "arn:aws:lambda:eu-central-1:123456789012:function:findmedia "TimeoutSeconds": 2, "Next": "Graceful Exit", "Retry": [ { "ErrorEquals": [ "States.Timeout" ], "IntervalSeconds": 2, "MaxAttempts": 2, "BackoffRate": 1.5 } ], "Catch": [ { "ErrorEquals": [ "States.ALL" ], "Next": "Clean Up" } ] },

Thank You!