当前位置: 首页 > news >正文

阿里巴巴、微软推出的云原生管理工具与理念


新书速递

云原生可谓当下最火热的项目开发技术之一,各种传统应用都在向云原生应用的方向靠拢。但是到底什么是云原生应用,云原生应用的开发标准是什么,至今还没有一个统一的规范与定义。这就造成了云原生社区百家争鸣的局面,各大厂商争先发布自己的云原生应用定义。

我是2014年开始接触容器技术的,最早从Docker镜像入门,当时的使用体验是Docker镜像能够很好地隔离环境差异,做到一次构建、到处运行,为应用的打包与发布操作带来极大便利。

随着微服务理念的发展,应用开始变得越来越庞大,功能也越来越复杂,这时Docker Compose编排模板便应运而生了。通过它,技术人员可以方便地编辑模板以实现应用的打包与发布。后来随着Kubernetes的诞生与发展,声明式定义又开始风靡技术圈,大家逐渐倾向于使用面向终态的架构设计。现在的Kubernetes基本奠定了容器编排领域的标准。

可是随之而来的问题就是,Kubernetes原生的部署方式比较凌乱,部署资源散落在各处,没办法统一归拢管理,这给应用的发布与部署带来了前所未有的困难。第一个尝试解决这个问题的管理工具就是Helm—一个构建在Kubernetes上的包管理工具,它通过将Kubernetes应用的部署模板统一压缩成包并标明版本号的方式进行管理,是首个能够进行版本管理的云原生应用管理器。

随着Kubernetes 应用的增多,很多复杂的有状态应用也开始部署在集群中,这给Helm运行带来了很大的困难。Helm初期只是用于管理一些简单的无状态应用部署,对于复杂的有状态应用则有些力不从心。鉴于此,又诞生了Operator,Operator赋予应用管理者巨大的权限,可以让管理者自己编写运维脚本,以便管理者能够更好地发布与管理应用。

在应用管理器层出不穷的时候,应用定义这一领域也没有停下发展的脚步。微软推出的CNAB和阿里巴巴集团推出的Open Application Model(OAM),都旨在定义云原生应用的标准。这些理念超越了Kubernetes的界限,更加抽象和广泛地定义了未来云原生应用的标准与风格。

因此我们想写一本书,介绍目前市面上各大社区与厂商推出的云原生管理工具与理念,让大家对云原生应用目前的状态有一个清晰的认识,从而根据自己的需求来挑选适合自己的云原生应用管理工具。

——陈显鹭

本书内容从逻辑上主要分为以下四部分。

第一部分Helm(第1~4章)

主要介绍Helm的历史与发展过程。我们将从Chart开始讲解,经过抽丝剥茧,帮助读者厘清Chart的各种写法。同时提供了目前主流社区生产使用的Chart供读者学习。后面将以安装Chart为例,从源码角度介绍Helm的整个安装过程,让读者能够更加深入地理解Helm这个包管理工具的原理及其使用方法。

第二部分 Kustomize(第5~8章)

主要介绍Kustomize诞生的原因。我们将从Kustomize的概念入手,详细了解Kustomize的各个功能,同时结合Kustomize的各个插件来理解其覆盖的领域与功能。最后从源码角度入手,详细讲解Kustomize各个命令的执行过程。

第三部分 CNAB和Porter(第9~12章)

主要介绍CNAB的概念、CNAB推出的背景与意义。这部分内容从概念入手,详细介绍管理工具Porter是如何实践CNAB概念的。最后从源码角度对Porter进行分析。

第四部分 Operator(第13~16章)

主要介绍Operator的概念和工作原理,以及Operator Framework目前涵盖的组件。我们将以一个具体示例为模板,详细介绍Operator在有状态应用管理中的作用,最后从源码角度分析各个功能的实现原理。                                 

 

更多精彩回顾

书讯 |华章计算机拍了拍你,并送来了8月书单(下)

书讯 | 华章计算机拍了拍你,并送来了8月书单(上)

上新 | 迁移学习:迈向真正的人工智能
书单 | “ABCD”,未来颇具潜力的四大信息技术方向

干货 | 周志华新作《机器学习理论导引》阅读攻略

收藏 | DB-Engines 8 月数据库排名:Redis悄悄拔高,猛超Elasticsearch


相关文章:

  • 机器学习没前途了?6本书,给你一个突破瓶颈的学习路径
  • 揭秘阿里巴巴的客群画像
  • 《天才引导的历程》| 西安交通大学送给准大一新生的礼物
  • 会议:2020年CCF全国计算机体系结构学术年会
  • 后分布式追踪时代的性能问题定位——方法级性能剖析[文末彩蛋】
  • 三个男人一台戏,为云原生应用和OpenShift写了一本书
  • 机器人干活,我坐一边喝茶——聊聊最近爆火的RPA
  • 大咖发声 | 没有开发团队,如何做数字化转型?
  • JavaScript vs TypeScript哪家强?
  • 首本深入讲解Linux内核观测技术BPF的书上市!
  • AI不止能美颜,美妆迁移这样做
  • 【第17期】云原生应用:任何企业都是软件公司
  • 如何从0到1搭建大数据平台
  • 策略产品经理实践:主观评估的方法论
  • 一条SQL引发的“血案”:与SQL优化相关的4个案例
  • [数据结构]链表的实现在PHP中
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • extjs4学习之配置
  • fetch 从初识到应用
  • golang 发送GET和POST示例
  • IndexedDB
  • java 多线程基础, 我觉得还是有必要看看的
  • WePY 在小程序性能调优上做出的探究
  • 测试开发系类之接口自动化测试
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 和 || 运算
  • 前言-如何学习区块链
  • 如何使用 JavaScript 解析 URL
  • 跳前端坑前,先看看这个!!
  • 小试R空间处理新库sf
  • #define、const、typedef的差别
  • #HarmonyOS:软件安装window和mac预览Hello World
  • %@ page import=%的用法
  • (1) caustics\
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (三)uboot源码分析
  • (四)Linux Shell编程——输入输出重定向
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (正则)提取页面里的img标签
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET DataGridView数据绑定说明
  • .NET NPOI导出Excel详解
  • .NET 设计模式初探
  • @test注解_Spring 自定义注解你了解过吗?
  • [ 数据结构 - C++]红黑树RBTree
  • [CF407E]k-d-sequence
  • [IT生活推荐]大家一起来玩游戏喽,来的都进!
  • [linux] git lfs install 安装lfs
  • [MZ test.16]P1 评测
  • [NOI 2016]循环之美
  • [NOI2005]聪聪与可可(期望)