我来试试。自2002年以来,我一直在收集和保存我的笔记、脚本和程序。这是我多年来的总结。以下是一个易于记忆的列表:
网格是硬件和硬件规格。
a. 您将其插入路由器或交换机并设置IP地址和顶级域名,通过互联网(也称为ICANN)。
b. 这就像OSI的1、2和3层。
集群是内核(软件环0或1,如果是虚拟类型的事情)。
a. 内核被配置(编译)以运行可以处理会话、权限和帐户身份验证的网络堆栈。
b. 通常在TCP/IP上设置端口到端口通信(如在OSI模型中)。
c. 您设置iptables、pf、arp和其他操作系统级别的应用程序或共享对象。
d. 您可以设置ssh、kerberos、ldap或其他PKI数据库和协议套接字组合。
e. 这就像OSI的4、5和6层。
云是用户空间应用程序。
a. 应用程序进程与集群中的其他应用程序进程进行通信。
b. 您通过文件、cgroups和/或用户组设置进程级别的权限。
c. 您设置mysql、redis、riak、消息代理、hadoop、apache、nginx、cron、java、haskell、erlang等。
d. 这就像OSI的第7层。
云漂浮在从网格上生长出的集群上方。实际上可以想象成,云在空中,集群在树上,网格在地上。我们这些创意型人士(制造所有这些技术的人)大多数是能够用数学数据和代码来支持自己的视觉思考者。因此,总是尝试回答谜题,将技术类比与我们在地球上的物理世界相关联。
引言
网格、集群和云是标志着它们所处时代的三个不同词汇。它们的定义有相互交叉的特点,现代可以互换使用。例如,我曾经和一些年长的医生谈论云计算,他们想知道云具体是什么。于是我告诉他们,云是通过互联网租用的计算机集群。没想到,他们在10秒钟内就明白了这个概念。
我会按照时间顺序使用一些历史来叙述。
网格
网格这个术语最初用于表示在陆地或空间上重复出现的一个资源。该术语经常在电报分发过程中使用,其中必须在每个N个半径(半径的复数)的杆子上放置中继器以放大信号。另一个例子是托马斯·爱迪生和尼古拉·特斯拉竞争性地开始在地球上推广的电网。 计算机变得非常流行,很快就在整个网格中扩展,以取代人类电报(和电话)操作员。
网格现在是一堆可以连接和终止通信通道的计算机。 网格是一种基础设施,用于运行汇编(或二进制)代码的计算机。
集群
随着计算机的强大和实际见证计算机赢得战争(图灵机),DARPA(或美国军方的ARPA)介入了。
DARPA开始委托大学和学院利用网格进行多路复用通信方法(使用波特率和协议)。大学和学院开始制定协议,以分离他们想要通过网格执行的不同任务并针对计算机。这就开启了现代互联网。 实验室建立了内部测试集群来模拟网格。 集群非常适合编排。一个作业可以在集群中的所有或一些从属节点上进行子划分。军方利用了大学和学院的研究成果,并将软件应用于网格。集群存在一些问题:
- 必须是相同(或接近相同)的硬件
- 必须具有相同的操作系统
规则非常严格,因为所有指令集都必须通过CPU传递相同。集群通常具有主从关系。集群通常一次只运行一个unic(或unix)
作业
。
集群具有作业调度程序。然后,由于硬件制造商开始制造并行芯片架构(在冯·诺伊曼架构之上),集群变得更加复杂。
集群变得更加强大。集群继承了更多的复杂性,人们正在做更多创造性的事情。现在,集群可以执行不同的作业、任务、进程、异步进程、同步进程等许多有趣的事情。一个盒子(或计算机节点)可以运行更多的作业。现在,网格可以用于多种目的。集群上软件更新的速度比实际网格快。集群部署在校园内。集群开始取代网格,因为您可以直接生成一个公共面向堆栈,该堆栈的性能优于(国家)网格。
我的经验
我在1990年代末和2000年代上大学时,
“集群”是指由多台计算机组成的物理实验室,可作为一个虚拟计算机使用。集群用于测试。一旦你的软件在集群上运行成功,就可以将其
mv
(移动)到生产级别的网格中。然后我目睹了网络蠕虫和计算机病毒控制僵尸计算机的情况。这些僵尸计算机的群体可以被用作一个巨大的虚拟集群来运行命令。那么程序员开始DIY(自己动手)协议和软件,如BitTorrent和Napster。
因此,跳入未来,
测试集群软件正逐渐被Solaris jails、FreeBSD jails、Linux容器、QEMU、超级监视器、VMWare、VirtualBox、Vagrant和Docker所取代。
云计算
云是一个营销术语,用于涵盖不同网格的硬件和这些集群的软件。云是一个广泛使用的词汇,用于为了获得经济利益而宣传、推广和表达所有集群技术。云也是将所有这些技术包装在一个单一的词汇下的努力。云允许多租户进程共享一个巨大的网格。云通过将电力、CPU、RAM、DISK、电力和宽带细分并由消费者共享和支付来最大化效率。副作用是那些消费者订阅和/或支付费率开始产生利润。云还允许多个用户安装多个操作系统,在软件中运行多个进程。因此,我们现在有了像IaaS、PaaS和SasS这样的缩写。 云可以取代曾经非常难以筹集和启动的初始成本。云是测试软件和建立业务消费者基础的好解决方案。
从另一个角度来看,云触发非程序员的大脑以某种方式思考。例如,人力资源部门可以理解并隔离呈现在他们面前的内容。
所以,如果你有钱,那么你可以购买你的云体验份额,并获得轻松的支持。但是,如果你具备技能、时间、快速的知识和在合作位置安装自己的服务器的能力,那么就这样做,因为从长远来看更便宜。
这就是我对网格、集群和云的叙述。