什么是云计算
一直感觉云计算(cloud)这个词让大家比较晕。不过也不是我晕,当年robin,pony这些人不也没看懂的,记得robin当年还说过框计算这种,基本还是没明白。
现在这一代(互联网原住民)都把网络生活当作是自然的事情,刷小红书,刷B站,淘宝购物,美团外卖这些。
其实这些互联网服务都是依靠互联网数据中心(IDC)来提供服务的,你访问的文字,图片,视频,在线购物都是需要通过网络连接到IDC。在以前IDC是一个大家都并不了解的东西,记得当年去魔都武胜路机房这些都需要层层审批,非常的麻烦,要上个设备更是麻烦了,现在这些IDC每年两会期间都会禁止上新货者下设备。
这些IDC都会放在一些专业的建筑中,需要消防,电力,网络运营商,以及对于建筑物的抗震水平必须达到8级。当年天津港大爆炸的时候,有前同事当时就在附近的IDC中,IDC里的服务器和交换设备也都很正常,这里面是相当安全的,第二天企鹅派车把他们都接走了。
以前要出了不好的网络舆情,很多帽子叔叔还是会拔网线的。主要还是当时的封禁手段有限,IDC管理的大叔大妈只会拔电源这种方式。
所以要搞这个还是花钱的。服务器和交换设备需要花钱,租IDC的位置也是每月需要花钱,然后网络接入也是需要花钱的。当然还有一种方式比较省钱,就是用自己家里的电脑来提供服务。
说完了IDC这种,这到云计算的开始,还有一步是vps(虚拟主机服务)。vps原理上就是把一台物理服务器通过虚拟化技术虚拟成多个虚拟服务器(配置就会比物理机低一些,价格也会低一点)。而且只能单个单个物理机来进行虚拟。这样厂商可以把服务器卖给更多的人,比如现在还有的bwg,DigitalOcean这些厂商。

就如上图,一个物理服务器可以卖给多个用户,而对于用户来说也不用出这个物理机的费用,整体上是多赢的,不过物理机转为虚拟机,这样多少会有性能损失,具体多少要看使用了哪种虚拟化技术,这个后面再说。
而且vps还有一些明显的劣势,比如单一共享的网络出口,cpu超卖等问题。
随着技术的发展以及线上服务越来越复杂,大家对于高可用要求也越来越高。那这个时候vps这种模式很难满足大家的需求了。
最明显的是IaaS(Infrastructure as a Service,基础设施即服务)。这里的基础设施就是网络,计算,存储这3种就是整个互联网的基础设施。
只有实现了这三样就算是云服务了。
那什么叫网络,计算,存储。
其实网络不是说原先vps没有网,原先vps当然也有网,但是大部分都没有内网,而IaaS里的网络主要就是负载均衡器(4层,7层),nat网关,vpc网络,安全组。
vpc网络可以让你自定义内网网段。服务器可以自定义内网ip
nat网关可以让你只有内网ip的服务器访问公网。
负载均衡器,这个是最重要的,这样才能保证对外服务的高可用。
弹性网卡:一台虚拟服务器可以绑定多块网卡
内网网关
vpn
至于这些实现的原理,那就需要详细再开篇说了,一般开源方案就是基于openstack来搞,当然上升到云厂商公司,那必然会自研的,但是原理都差不多。
再说计算,这块跟vps差别不大,但是在云计算里如果在一个az里迁移、升级或降级服务器都可以保留原来的内网ip的。
虚拟服务器:arm,x86,intel, AMD这些都是可以自己选。有些厂商比如支持intel转amd,有些厂商不支持。但是一般升级降级都是没有问题。不过大部分厂商都是cpu和内存比都是1:1,1:2,1:4,1:8 这样的。有些厂商还支持0.5这种阶梯调整。
服务器镜像:可以给服务器打好镜像,这样新申请服务器就直接使用这个镜像,保证了初始化的效率。
容器
安全组,同一个安全组可以设置网络限制要求。比如默认公网就开放80,443等对外服务的端口,其他一律毙了。
最后说存储:
amazon aws最早的云服务其实就是S3存储,这是一种对象存储。对象存储的具体含义就是以对象为基本单位存储数据的架构。
对象存储将数据作为对象(Object)保存,每个对象包含三部分:
数据本身(Data):可以是任意类型的内容(图片、视频、文档、镜像等)
元数据(Metadata):描述对象属性的键值对(如创建时间、文件类型、自定义标签等)
全局唯一标识符(Object ID / Key):用于定位和访问对象,而非传统的层级路径。当然你实际在存储的也可以定义目录。一般情况下这种目录定义是为了多个业务共用一个存储桶的时候进行区分而已。
对象存储的优势是可以近乎无限的扩展。因为你只要往里存就可以了,不需要具体知道存在哪个物理磁盘上,因为这些都是通过全局唯一标识符来定位的。
- 弹性块存储:可以挂载多块磁盘(一般16~32块不等),也可以扩容现有块存储。
好了IaaS的部分基本就这些了,但是还是没有明白为什么这就叫云计算了。个人理解这些网络,计算,存储在云计算里都是可以按量进行付费的,基本都能到分钟级的收费方式,也就是你用了多少就收多少费。但是每次你看账单的话可能都云里雾里的,所以才叫云计算吧。当然也可能是说这些服务基本都可以随意的伸缩,就跟云一样。

上面这个是让Gemini画的,它这里把数据库包含在存储里了,不过我个人不这么认为,我觉得还是数据库还是放在PaaS里更好。毕竟这个属于不属于基础设施建设,我把数据库认为是一种中间件。