1、2 0 2 0深入浅出深入浅出Serverless:技术原理与应用实践技术原理与应用实践演讲人2011-11-11011 Serverless基础1 Serverless基础1.2 Serverless带来的价值1.4 Serverless应用架构1.6 Serverless的应用场景1.1 什么是Serverless1.3 Serverless的技术实现1.5 Serverless的技术特点1 Serverless基础1.7 Serverless的局限11.8 本章小结21 Serverless基础1.3 Serverless的技术实现1.3.1 理念与实现11.3.2 FaaS与BaaS2
2、1.4 Serverless应用架构1 Serverless基础CBA1.4.1 传统应用架构1.4.2 Serverless应用架构1.4.3 两种架构的比较022 Serverless与相关技术2 Serverless与相关技术2.1 云计算012.4 PaaS042.2 微服务022.5 FaaS052.3 容器032.6 BaaS062 Serverless与相关技术2.7 NoOps012.8 DevOps022.9 云原生应用032.10 本章小结042 Serverless与相关技术2.1 云计算2.1.2 IaaS、PaaS与SaaS2.1.3 Serverless与云计算2.
3、1.1 从私有数据中心到云2 Serverless与相关技术2.2 微服务CBA2.2.1 从SOA到微服务2.2.2 微服务的价值与挑战2.2.3 Serverless与微服务2 Serverless与相关技术2.3 容器2.3.1 容器技术的兴起2.3.2 Serverless与容器2 Serverless与相关技术2.4 PaaS2.4.2 Serverless与PaaS2.4.1 以应用为中心2 Serverless与相关技术2.5 FaaS012.5.1 Serverless实现的基础022.5.2 FaaS的架构032.5.3 函数的生命周期042.5.4 函数工作流2 Serve
4、rless与相关技术2.6 BaaSAB2.6.2 广义的Serverless2.6.1 BaaS的价值2 Serverless与相关技术2.7 NoOps2.7.1 无人运维吗2.7.2“无服务器”与“无人运维”2 Serverless与相关技术2.9 云原生应用2.9.1 因云而生2.9.2 Serverless与Cloud Native033 Serverless的实现3 Serverless的实现3.2 Serverless与公有云3.4 Serverless框架和工具3.6 本章小结3.1 Serverless技术的发展3.3 Serverless与私有化部署3.5 Serverle
5、ss后台服务3.2 Serverless与公有云3 Serverless的实现3.2.2 Microsoft Azure3.2.4 Webtask3.2.6 阿里云3.2.1 Amazon Web Services3.2.3 Google Cloud Platform3.2.5 Hyper.sh3 Serverless的实现3.2 Serverless与公有云3.2.7 腾讯云013.2.8 小结023.3 Serverless与私有化部署3 Serverless的实现3.3.1 OpenWhisk3.3.2 Fission3.3.3 Kubeless3.3.6 小结3.3.5 Fn3.3.4
6、 OpenFaaS3.4 Serverless框架和工具3 Serverless的实现3.4.2 Chalice3.4.4 Apex3.4.6 AWS SAM3.4.1 Serverless Framework3.4.3 Claudia.js3.4.5 Spring Cloud Function3 Serverless的实现3.4 Serverless框架和工具3.4.7 小结044 AWS Lambda4 AWS Lambda4.1 AWS4.2 AWS Serverless4.3 AWS Lambda概述4.6 编程模型4.5 权限控制4.4 第一个Serverless应用4 AWS La
7、mbda4.7 事件驱动4.8 日志监控4.9 开发辅助4.12 本章小结4.11 配置与部署4.10 运行限制4.4 第一个Serverless应用4 AWS Lambda4.4.1 获取AWS账号4.4.2 AWS Lambda控制面板4.4.3 创建函数4.4.6 外部访问4.4.5 测试函数4.4.4 编辑函数4 AWS Lambda4.4 第一个Serverless应用4.4.7 运维监控014.4.8 回顾024 AWS Lambda4.5 权限控制014.5.1 IAM4.5.2 策略024.5.3 角色03LOGOhttps:/ AWS Lambda4.6 编程模型4.6.2
8、Handler024.6.1 代码开发014.6.3 执行上下文034.6.4 日志输出044.6.5 异常处理054.6.6 无状态064 AWS Lambda4.7 事件驱动4.7.1 事件源14.7.2 触发模式24 AWS Lambda4.9 开发辅助014.9.1 环境变量4.9.2 标签024.9.3 版本控制034 AWS Lambda4.10 运行限制4.10.1 资源限制14.10.2 并发控制2055 Azure Functions5 Azure Functions5.2 Azure Functions概述5.4 Azure Functions命令行5.6 私有云部署5.1
9、 Microsoft Azure5.3 创建Azure Serverless应用5.5 深入了解Azure Functions5 Azure Functions5.7 本章小结5 Azure Functions5.3 创建Azure Serverless应用5.3.1 注册Azure账号15.3.3 函数应用35.3.5 调用函数55.3.2 Azure控制台25.3.4 创建函数45.3.6 日志与监控6LOGOhttps:/ Azure Functions5.4 Azure Functions命令行5.4.1 安装命令行5.4.2 创建本地函数5.4.4 发布至公有云5.4.3 测试本地函
10、数5 Azure Functions5.5 深 入 了 解 A z u r e Functions5.5.1 函数应用设置5.5.2 Trigger与Bindings5.5.3 函数代理5.5.4 Slot066 容器技术基础6 容器技术基础6.1 什么是容器6.2 Docker6.3 Kubernetes基础6.6 本章小结6.5 Kubernetes实战6.4 构建Kubernetes环境6.1 什么是容器6 容器技术基础6.1.1 容器6.1.2 容器镜像6.1.5 容器与Serverless6.1.4 容器编排6.1.3 镜像仓库6 容器技术基础6.2 Docker0102030405
11、066.2.1 Vagrant6.2.2 V i r t u a l B ox6.2.3 安装Docker6.2.4 运行容器6.2.5 构建容器镜像6.2.6 分享镜像LOGOhttps:/ 容器技术基础6.3 Kubernetes基础6.3.1 命名空间6.3.2 Pod6.3.3 Service6.3.6 网络6.3.5 ReplicaSet6.3.4 Deployment6 容器技术基础6.3 Kubernetes基础6.3.7 Ingress6.3.8 交互工具6 容器技术基础6.4 构建Kubernetes环境6.4.1 启动Vagrant Box6.4.2 修改默认域6 容器技术
12、基础6.5 Kubernetes实战016.5.1 部署容器6.5.2 弹性扩展020304056.5.3 服务发现6.5.4 资源组织6.5.5 容器调度077 OpenWhisk7 OpenWhisk7.1 OpenWhisk项目7.2 Hello Whisk7.3 逻辑架构7.6 Helm部署7.5 Kubernetes部署7.4 系统架构7 OpenWhisk7.7 蛋糕管理服务7.8 本章小结7.3 逻辑架构7 OpenWhisk7.3.1 Namespace7.3.2 Package7.3.3 Action7.3.6 Rule7.3.5 Trigger7.3.4 Feed7.5 K
13、ubernetes部署7 OpenWhisk7.5.1 准备Kubernetes集群7.5.2 集群基础设置7.5.3 创建访问入口7.5.6 测试集群7.5.5 加载系统配置7.5.4 部署组件7 OpenWhisk7.5 Kubernetes部署7.5.7 删除集群7 OpenWhisk7.6 Helm部署7.6.1 安装Helm7.6.2 环境配置7.6.3 部署Chart7.6.4 管理应用7.7 蛋糕管理服务7 OpenWhisk7.7.1 开发环境A7.7.2 准备数据库B7.7.3 定义ActionC7.7.4 创建PackageD7.7.5 部署ActionE7.7.6 发布A
14、PIF088 Kubeless8 Kubeless8.3 Function8.1 Kubeless项目8.2 Kubeless概述8.4 Trigger8.5 本章小结8 Kubeless8.1 Kubeless项目8.1.1 系统架构8.1.2 运行时8 Kubeless8.2 Kubeless概述A8.2.1 部署KubelessC8.2.3 部署函数B8.2.2 配置客户端D8.2.4 Kubeless UI8 Kubeless8.3 Function8.3.1 函数部署8.3.2 函数调用8.3.3 资源限制8.3.4 自动扩展8.4 Trigger8 Kubeless8.4.1 HT
15、TP Trigger8.4.2 Cronjob Trigger8.4.3 Kafka Trigger8.4.4 NATS TriggerDCAB099 Fission9 FissionDCBA9.1 Fission项目9.2 部署Fission9.3 深入探讨Fission9.4 执行模式E9.5 WorkflowsF9.6 本章小结9 Fission9.1 Fission项目9.1.1 逻辑架构19.1.2 系统架构29 Fission9.2 部署Fission12349.2.1 安装Helm9.2.2 部署Fission Chart9.2.3 命令行工具9.2.4 Hello Fissio
16、n9 Fission9.3 深入探讨Fission12349.3.1 Environment9.3.2 Function9.3.3 Package9.3.4 Trigger9 Fission9.4 执行模式A9.4.1 Pool-based模式9.4.2 New Deploy模式B9 Fission9.5 WorkflowsCBA9.5.1 Workflows定义9.5.2 配置Workflows9.5.3 Fortune Whale1010 OpenFaaS10 OpenFaaS10.1 OpenFaaS项目A10.2 初识OpenFaaSB10.3 OpenFaaS函数C10.4 Watc
17、hdogD10.5 监控E10.6 弹性扩展F10 OpenFaaS10.7 函数应用市场10.8 本章小结10 OpenFaaS10.1 OpenFaaS项目10.1.1 OpenFaaS社区10.1.2 系统架构10 OpenFaaS10.2 初识OpenFaaS10.2.1 部署组件10.2.2 命令行工具10.2.3 创建函数10.2.4 图形界面10.3 OpenFaaS函数10 OpenFaaS10.3.1 抽象方式A10.3.2 函数模板B10.3.3 创建函数C10.3.4 构建函数D10.3.5 推送镜像E10.3.6 部署函数F10 OpenFaaS10.4 Watchdo
18、g10.4.1 工作原理10.4.2 配置Watchdog10.4.3 of-watchdog10 OpenFaaS10.5 监控10.5.1 监控指标10.5.2 监控面板10.5.3 监控预警10 OpenFaaS10.6 弹性扩展A10.6.1 基于Alertmanager扩展10.6.2 基于HPA扩展B1111 Serverless的落地与展望11 Serverless的落地与展望111.1 Serverless的落地211.2 Serverless平台建设311.3 Serverless应用架构转型411.4 Serverless的未来511.5 本章小结11 Serverless的落地与展望11.2 Serverless平台建设11.2.1 公有云11.2.2 私有云11.2.3 混合云11 Serverless的落地与展望11.3 Serverless应用架构转型11.3.1 开发模式11.3.2 设计原则11.3.3 迁移与重构11 Serverless的落地与展望11.4 Serverless的未来CBA11.4.1 建立行业规范11.4.2 完善工具链11.4.3 深入结合容器感谢聆听