基本信息
- 作者: 李志伟 游杨
- 丛书名: 云计算与虚拟化技术丛书
- 出版社:机械工业出版社
- ISBN:9787111675587
- 上架时间:2021-3-8
- 出版日期:2021 年3月
- 开本:16开
- 页码:282
- 版次:1-1
- 所属分类:计算机 > 电子商务与计算机文化 > 综合

【插图】

编辑推荐
当当网云原生实验室技术团队出品
架构设计、功能、原理、开发、运维5个维度全面剖析Knative
内容简介
作译者
李志伟
当当网云原生实验室负责人,容器云领域专家。在Kubernetes、Istio、Serverless、DevOps工具等领域有深入的研究和实践。热心于云原生技术的应用与推广,曾荣获“K8sMeetup中国社区”最受欢迎讲师奖项。
游杨
当当网云原生实验室高级运维开发工程师。先后参与Kubernetes和Knative项目的落地与实施工作,拥有丰富的容器平台实践经验,聚焦于Kubernetes、Serverless、CI/CD技术领域。
目录
准备篇
第1章 全面认识Knative 2
1.1 Serverless的前世今生 2
1.1.1 Serverless简介 2
1.1.2 Serverless的主要特征 3
1.1.3 Serverless的优缺点 3
1.1.4 Serverless的发展现状 4
1.1.5 Serverless的使用场景 4
1.2 什么是Knative 4
1.2.1 Knative的产生背景及发展历程 5
1.2.2 Knative的架构设计 5
1.2.3 Knative的主要受众群 6
1.2.4 Knative的商业托管服务产品 7
1.3 Knative开发运维需要具备的基础知识 7
1.3.1 容器 7
1.3.2 Kubernetes 8
1.3.3 Istio 9
1.4 本章小结 10
第2章 搭建Knative运行环境 11
前言
1)Serverless的使用场景从偏离线业务进一步扩展到在线业务。以FaaS为代表的Serverless技术一开始都是从对响应时间不敏感、事件驱动的偏离线业务入手的。现在,我们已经看到,包括AWS Lambda Provisioned Capacity和Azure Functions Premium plan在内的产品都是让用户付出一点额外的成本来换取更短的响应时间。这对于在线业务来说,无疑是更适合的。
2)Serverless不仅赋予了应用弹性计算的能力,也推动了基础设施和后端服务的无服务器化。业务代码托管给Serverless平台之后,即可实现自动扩缩容、按请求计费。但是,如果基础设施和相关服务不具备实时扩缩容能力,那么业务整体就不是弹性的。我们已经看到AWS围绕Lambda对VPC网络、数据库连接池等资源做了大量实时弹性优化,相信其他厂商也会跟进,进而使行业整体加速基础设施和各类云服务的无服务器化。
3)以Knative为代表的开源解决方案受到越来越多的关注。尽管各个云厂商都在大力推广自己的Serverless产品,但是开发者普遍还是会担心被厂商绑定,因此具备一定规模的组织会基于开源方案,如Knative,搭建自己的Serverless平台。一旦某个开源方案成为主流,云厂商就会主动去兼容开源标准并增大社区投入。
4)Serverless开发者工具和框架会更加多样。IDE、问题诊断、持续集成/发布等配套的工具和服务会更加完善。我们将看到更多的成功案例和实践。
5)Java持续发展,将成为Serverless平台的主流语言之一。Serverless平台要求应用的镜像足够小,以便能够快速分发,同时要求应用的启动时间极短。虽然在这些方面,Java和Node.js、Python等语言相比有差距,但是Java社区一直在不断努力。我们看到Java通过Java 9 Modules以及GraalVM Native Image等技术在不断“瘦身”。主流框架Spring也开始拥抱GraalVM,而新的框架如Quarkus和Micronaut也在力争突破。期待Java在Serverless领域给人焕然一新的感觉。
6)解决FaaS状态传递的中间层(加速层)研究或产品有望得到突破。未来,Serverless在函数计算场景下最大的挑战是函数之间串联需要状态传递,以及函数处理时频繁和外部交互带来的时延放大,等等。在传统架构下,状态传递和函数处理都是在一个程序进程内部完成的。上述挑战需要通过可计算中间层(加速层)来解决。可计算中间层是未来学术研究和产品攻坚的方向之一。
7)基于WebAssembly(WASM)的FaaS方案有望出现。Docker创始人Solomon Hykes曾说:“如果2008年有WASM和WASI,我们当时就没有必要创造Docker了。”这句话在一定程度上说明了WASM的重要性。虽然当下WASM更多是作为一种运行在浏览器端的技术被人了解,但是它具备非常优秀的安全隔离能力、极快的启动速度,并支持超过20种语言。那么,为什么不能让它运行在服务端呢?这些技术特性都非常契合FaaS的要求。
事实上,随着Knative社区的快速发展壮大,Knative已经成为Kubernetes平台上最佳的Serverless解决方案。与传统的FaaS平台不同,Knative的服务管理并不需要统一的开发框架支持,应用只要封装成可运行的容器即可。这极大地扩展了Knative的适用范围,同时也使得传统微服务可以更加平滑地转换成Serverless应用。
基于此,我们希望能够为开发者提供一本系统学习Knative的工具书,从Serverless的概念到Knative的实战,努力将Knative的全貌展现给读者,也希望Knative能够为企业提升工程效率、降低计算成本。
本书内容
全书分为4篇,具体内容如下。
准备篇(第1~2章):通过介绍Serverless与Knative项目的技术背景、架构设计以及相关的云原生平台基础设施,帮助读者了解Serverless技术。通过快速搭建Knative测试平台,使读者直观地感受Knative是如何管理应用的。
基础篇(第3~5章):通过对Knative Serving和Eventing组件、CI/CD平台的介绍,帮助读者全面了解各个组件的基础概念、架构设计及原理。
实战篇(第6章):采用多个实际范例来验证Knative的服务管理能力以及事件驱动基础设施的能力。
扩展篇(第7~9章):详细介绍了运维Knative平台需要关注的内容,包括Serving的高级配置、日志中心、监控平台。
本书的读者对象
对Serverless技术感兴趣的读者。
想要将Knative引入当前技术栈的架构师。
想要采用Serverless技术的应用开发者。
媒体评论
Serverless正在改变应用软件的开发和运维模式。作为一种面向开发者友好的云计算服务,Serverless实现了将业务需求与技术需求解耦,降低了应用的复杂度,提高了应用的开发效率。Serverless具有自动弹性扩展、资源按需分配的特点,大幅减少了运维工作量,提高了计算资源的利用率。
通过阅读本书,你将:
全面了解Serverless的主要特点及发展现状
深入了解Knative服务管理与事件驱动组件的工作原理
掌握通过Tekton实现无服务器应用的CI/CD
掌握基于Knative的云原生应用设计
了解Knative的运维管理工具(日志中心、监控报警平台)