自 2018 年 Knative 项目开源后,就获得了广大开发者的密切关注。Knative 在 Kubernetes 之上提供了一套完整的应用 Serverless 编排服务,让应用开发者能够不用为底层的基础设施分心,把更多的精力投入到业务逻辑上。服务器
Knative 的一个很重要的目标就是制定云原生、跨平台的 Serverless 编排标准。它的优点在于:架构
今年 5 月份,咱们推出了 Knative 系列文章,由阿里云容器平台技术专家牛秋霖(冬岛)及阿里云容器平台高级开发工程师李鹏(元毅)结合自身的实践经验,由浅入深的介绍了 Knative 的使用、剖析其内部实现。框架
为了进一步方便你们理解 Knative,咱们整理了系列文章中的 25 篇重点内容编排成书《Knative 云原生应用开发指南》,并开放分享给你们,但愿可以帮助更多技术爱好者快速掌握 Knative 的应用 Serverless 编排技能,揭开 Knative 的神秘面纱。less
对于开发者而言,本书可让你快速掌握 Knative 的应用 Serverless 编排技能;对于管理者或决策者而言,能够经过本书的介绍和案例深刻了解企业为何须要应用的 Serverless 编排;如何对普通应用进行 Serverless 编排;应用编排和 IaaS 无服务器计算的关系以及为何会是 Knative 等问题。分布式
本书主要分为入门、进阶和实战三个部分。微服务
入门篇能够帮助你快速掌握 Knative 的核心理念和关键设计,让你对应用的云原生编排应该具有什么能力有一个清晰的认识;ui
进阶篇会对 Knative 各大核心模块的高级功能进行更深刻的介绍,剖析 Knative 是如何构建在 Kubernetes 之上的;阿里云
实战篇给出了不少基于 Knative 的云原生实战,让你对 Knative 的使用有一个更直观的体感。操作系统
《Knative 云原生应用开发指南》目录翻译
在 All in Cloud 的时代,对云的驾驭能力已经成为企业的核心竞争力,云正在重塑企业 IT 架构。每一个企业都在思考如何最大化利用“云”的能力,最大化发挥“云”的价值。而企业上云的过程当中是要直接面对众多的云厂商和各类繁杂的云产品,好比最基本的 IaaS 资源,一样是 VM 在不一样的云厂商就有不一样的特性、不一样的 OpenAPI 和不一样的建立与销毁方式。
这给企业上云带来了巨大的复杂度,大大打击了企业上云的积极性。因此对于上云的企业和提供云服务的厂商而言都在摸索寻找一个折中的平衡点,既能帮助企业上云,又能帮助云厂商释放云的能力。
云原生理念是在以上过程当中逐渐造成和完善的。这套理念是协调全部参与方对服务上云逐渐造成的统一标准,它能够很好地帮助企业上云、帮助云厂商释放云的能力。云原生旨在以更标准化的方式衔接云厂商和上云企业:
云原生是在不断促进整个系统的良性循环:既能让企业始终保有选择的能力,又能让优秀的云厂商快速服务更多的客户。若是客户的业务服务能像水同样低成本在不一样云厂商之间流动,那么云厂商提供的服务就能像货币同样在客户之间流通。这是一个多赢的局面。
Kubernetes 已经成为分布式资源调度和资源编排的事实标准,它屏蔽了底层基础架构的差别,帮助应用轻松运行在不一样的基础设施之中。
目前云原生生态已经在 Kubernetes 之上构建了大量的上层服务支撑框架。好比:服务网格 Istio、 Kubeflow 、各类上层服务的 Operator 等等。咱们能够看到构建在 Kubernetes 之上的云原生操做系统的雏形开始出现,这是开发者最好的时代,极大地提高了业务创新的速度。
随着 Kubernetes 的普及,开发者已经不须要关心基础设施,有了更多的精力放在业务的核心逻辑上,随之而来的就是无服务器计算的出现。
无服务器首先是在 IaaS 层的变革,用户无需提早准备冗余的 IaaS 资源,只须要在使用的时候自动扩容不用的时候自动缩容。由于应用真正须要的是 IaaS 资源的按需分配按量计费,而不是长期保有 IaaS 资源。
无服务器这个词是从 Serverless 翻译过来的,其实 Serverless 除了基础 IaaS 资源的按量分配之外还有一层就是对应用的 Serverless 编排。
IaaS 资源能够按需分配只是一个开始,当 IaaS 完成了 Serverless 进化之后,应用层应该如何作呢?好比:一个普通应用须要具有什么能力才能按量使用 IaaS 资源呢?对应用进行 Serverless 编排是否能保证应用能够很容易的在不一样的云厂商之间跨云迁移?
Knative 就是应用 Serverless 编排的云原生解决方案。
Knative 创建在 Kubernetes 和 Istio 之上,经过 Kubernetes 的跨云能力可以让企业应用原生具有跨云迁移的能力。在多云、混合云以及云边端互通的时代,基于 Knative 的应用 Serverless 云原生编排能力能够极大下降企业上云的成本。
《Knative 云原生应用开发指南》一书中共收录了 8 篇具体的 Knative 开发实践案例,给出了不少基于 Knative 的云原生实战,借此讲述了如何正确使用 Knative 中的 Build、Serving 以及 Eventing 三大组件来发挥其做用,逐渐精简咱们的代码;直观地展现了如何使用 Knative 来一步步简单高效地开发云原生应用,让你对经过 Knative 来实践 Serverless 有一个更全面的体感。
期待《Knative 云原生应用开发指南》可以帮助更多的开发者真正开启云原生时代的 Serverless 之门,轻松解决迎面难题,避免踩坑!
“阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,作最懂云原生开发者的技术圈。”