摘要:2006年发展至今,公有云技术已发展成熟。国外有亚马逊AWS、微软Azure,国内有阿里云、腾讯云,华为云、金山云、浪潮云、青云等。一、最初的需求云计算最初目标是资源管理,包括计算资源(CPU、内存)、网络资源(网络带宽)、存储资源(硬盘)...
2006年发展至今,公有云技术已发展成熟。国外有亚马逊AWS、微软Azure,国内有阿里云、腾讯云,华为云、金山云、浪潮云、青云等。
一、最初的需求
云计算最初目标是资源管理,包括计算资源(CPU、内存)、网络资源(网络带宽)、存储资源(硬盘)3个方面。
以个人使用电脑举例,有的人需要显卡,有的人不需要显卡;有的人需要2G内存,有的人需要16G内存。不同的人在不同的时间有不同的需求:一是时间灵活度,什么时候需要,什么时候就能有这样一台机器;二是空间灵活度,需要多大的配置就有多大的配置,不多也不少。这两个需求即云计算弹性。
二、回顾发展
云计算发展,经历了虚拟化、基础设施即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS)过程,并且期间结合大数据、人工智能及区块链技术等。
1.虚拟化:在一台计算机上虚拟出若干逻辑计算机,比如很多人都用过VMware Workstation,虚拟一个机器做实验非常方便。
2.IaaS:一是随着集群规模的扩大,人工配置的过程越来越复杂,越来越耗时;二是面对成千上万台机器,靠人工选择位置放置这台虚拟化电脑并做相应的配置,几乎不可能。所以有了调度中心及调度算法——资源池。无论用户需要多少CPU、内存、硬盘的虚拟电脑,自动在资源池里面找一个能够满足用户需求的地方,把虚拟电脑启动起来做好配置,用户就直接能用了。正式实现了计算、网络、存储等基础设施的弹性管理,称为基础设施即服务(InfranstractureAs A Service,IaaS)。
3.PaaS:IaaS实现了资源层面的弹性,但不够。比如淘宝平台平时100台机器就够了,但双十一期间突然需要1000台,依靠IaaS可增加900台机器,但电商应用没有放进去,再依靠运维人员一台台配置,活动早结束了,不够智能。于是有了平台即服务(Platform As A Service,PaaS),它通过解决两方面问题,实现了应用层面的弹性服务:
(1)弹性管理自己的应用。云平台不知道一些设置,如电商的应用(后台有自己的账号),可通过设置自动化脚本解决,云平台在新建虚机时调用这个脚本进行自动化设置。例如,双十一时自动创建900台机器,并把相关应用装上并配置好。这种应用自动部署方法因各个环境不同,一个脚本没法解决所有问题,于是有了容器技术——容器技术可以理解成标准尺寸的集装箱,当货物途径多个码头时,不用每次对货物装卸,直接搬运集装箱。在PaaS 层面,应用配置好后制作成一个镜像,镜像文件和支持平台都是统一标准的,当需要弹性伸缩时,从这个文件恢复出需要状态即可。目前最常用的容器技术是Docker,启动秒级,资源利用率高。最流行的容器集群管理系统工具是Kubernetes。
(2)不用安装通用的应用。例如几乎所有应用都会用到数据库,因此云平台都会提供装好的开源数据库,用户需要用的时候,只需要做出一些简单的选择,就可以得到一个配置好的数据库。
4.SaaS:有的人不会安装操作系统,就是想用一个应用做一些事情,不需要管理包括网络、服务器、操作系统、存储等任何基础设施,比如就想在各种设备上通过客户端(如浏览器)访问界面。于是有了软件即服务(Software as a Service,SaaS)。比如,简单设置下Ftp账号密码、空间大小等就可以用Ftp来分享文件了。
三、云计算分类
从部署角度,云计算分3类:
1.公有云:公有云通常指第三方提供商提供给用户进行使用的云,公有云一般可通过互联网使用,如阿里云、腾讯云和百度云等。硬件、软件及其他支持基础架构均由云提供商拥有和管理。
2.私有云:私有云是为一个客户单独使用而构建的云,因而提供对数据、安全性和服务质量的最有效的控制。使用私有云的公司拥有基础设施,并可以控制在此基础设施上部署应用程序的方式。主要在各金融机构数据中心部署。
3.混合云:混合云是公有云和私有云这两种部署方式的结合。由于安全和控制原因,企业中并非所有的信息都能放置在公有云上。大部分已经应用云计算的企业会使用混合云模式。
四、云计算特点
云连接着网络另一端,为用户提供了可以按需获取的弹性资源和架构。用户按需付费,从云上获得需要的计算资源,包括存储、数据库、服务器、应用软件及网络等,大大降低了使用成本。
云计算的本质是从资源到架构的全面弹性,这种具有创新性和灵活性的资源降低了运营成本,更加契合变化的业务需求,云计算特点包括:
1. 可扩展性;
2. 超大规模;
3. 虚拟化;
4. 按需服务;
5. 高可靠性;
6. 网络接入广泛。
五、结语
我们了解了云计算发展情况及一些特点。但如要作为程序员学习云计算知识,还要学习很多内容,学习路线包括:Linux、docker容器、KVM、OpenStack、K8S(Kubernetes)等。
云计算学习路线
另外,随着区块链技术、大数据技术、人工智能技术发展,云计算技术也在不断更新迭代,例如科大讯飞作为云计算厂商,积累了大量数据,不断优化完善了智能语音技术等。
这些前沿技术也必将不断整合,产生意想不到的更多服务。
2022年3月28日