极客时间《云原生训练营》学习笔记。

K8S-前章| 云计算

image-20211207214428907

任何一家公司在讲效能提升的时候第一想到的是说我通过什么样的自动化方式能够替换掉原来的人工的这些操作,因为重复性的劳动一般会被认为是低效并且没有创新的。所以为了满足这种需求,就有了云计算的概念

云计算是什么呢?

云计算是对我们所有计算资源,网络资源和存储资源的一种抽象

怎么理解?

比如:

我有五千台服务器,第一我可以把这五千台机器从网络上打通,把它们形成一个集群,第二,我可以有一个控制的控制面,控制平面,把这些计算资源抽象出来。 五千台机节点,那每台节点上有多少个我是知道的,**那么对整个集群来说,哪些节点是健康的,哪些节点是不健康的?谁能参与计算?谁不能参与计算?**我也是知道的对吧?那么我就拥有了一个。大的计算池。 这是从云平台侧,这样,我第一组成了一个计算集群,第二做了一个资源的抽象,那么从业务的层面来说,你不要管你的作业部署到哪儿。你只需要告诉我你这个业务要跑多少个实例,那交由我的云平台,我云平台自己去帮你找一个适合你的计算节点,这基本上就是云。计算就相当于我对计算资源作为一个抽象,然后让你面向这种抽象的计算资源来运行你的应用。

云计算平台主要分为两类

虚拟化平台

虚拟化:把一台物理机切成多个虚拟机,然后在虚拟的基础之上再去部署应用,

大家都觉得这个计算机的计算能力都是几年翻一翻,几年翻一番的摩尔定律的吗?那么应用架构也就是单体的,后来发现这个摩尔定律其实不可靠的。它后面发展到一定程度就是瓶颈了,就像光速有瓶颈,音速有上限,那计算能力本身,它也是到了某一个点,就很难突破了,那么从应用架构来说,单体架构再变成微服务架构。就会涉及到我一个物理机,它的计算能力会很大,但是我的软件的需求的资源很少,那么最后就是相当于说如果我不做任何的隔离,那我就要一台机器上部署很多的应用,他们都以进程的方式去跑。那这样的话它的隔离性就比较差对吗?那怎么解决这个问题呢?就是用虚拟化。

基于进程去做作业调度

进程级别资源隔离等,实现高效的资源利用率。支持应用高可用,最大限度的减少故障时间,并且可以通过调度策略降低相关故障发生的可能性。

参考 Google Borg 论文原文连接 译文连接