一、 云计算的概述
✅ 云计算的定义和发展历程
基本概念
云计算是一种基于互联网的计算模式,它通过网络“云”将庞大的数据计算处理程序分解成无数个小程序,然后由多部服务器组成的系统进行处理和分析,并将结果返回给用户
云计算是一种基于互联网的计算模式,通过虚拟化技术将计算、存储和网络资源整合到一个共享的资源池中,用户可以按需、弹性地获取所需资源,而无需关注底层硬件的具体细节。
核心特征
- 按需自助服务: 用户能够通过网络自助申请并使用计算资源。
- 资源池化: 通过虚拟化技术将物理资源整合,实现多租户共享。
- 快速弹性: 系统可以根据需求自动扩展或缩减。
- 计量服务: 对资源使用情况进行监控和计费,确保透明和公平。
云计算的发展历程
云计算的发展历程可以追溯到20世纪60年代,经历了以下几个重要阶段:
暂时无法在飞书文档外展示此内容 - 萌芽阶段(20世纪60年代至2006年):
- 这个阶段,计算能力开始被视为一种公共资源,虚拟化技术也开始出现。
- 1960年代:美国计算机科学家约翰·麦卡锡预见到计算能力可以作为一种公共资源被提供。
- 1999年:Salesforce.com推出的服务模式是云计算应用的一个早期例子。
- 快速发展阶段(2006年至2010年):
- 2006年,亚马逊推出了AWS(亚马逊网络服务),标志着云计算进入商业化阶段。
- 随后,谷歌、IBM、微软等IT巨头纷纷推出自己的云计算服务。
- 这一时期的云计算主要侧重于基础设施和平台的建设,以及为企业提供存储和计算等服务。
- 成熟阶段(2010年至今):
- 云计算技术不断成熟,应用场景不断拓展。
- 云计算开始与大数据、人工智能、物联网等技术融合。
- 云计算服务商不断推出新的服务和解决方案,满足用户多样化的需求。
✅ 云计算的基本特征
-
按需服务
-
广泛网络访问
-
资源池化
-
快速弹性扩展
-
计量服务
✅ 云计算的优势和挑战
✅ 云计算的主要应用场景(企业IT架构、人工智能、大数据分析、物联网等)
二、云计算架构与服务模型
云计算的服务模型是指基于云计算技术提供的不同层次的服务模式,主要包括基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS),此外还有一些衍生或细分的服务模型。以下是对它们的详细介绍:- 基础设施即服务(Infrastructure as a Service,IaaS)
功能:提供虚拟化的计算、存储和网络资源,用户可以按需租用这些资源,就像在自己的数据中心里使用物理服务器一样,但无需实际购买和维护硬件设备。
特点:用户拥有较高的控制权,可以自行安装操作系统、配置网络、部署应用程序等,能够根据业务需求灵活地扩展或收缩资源,按使用量付费。
应用场景:适合对基础设施有高度控制权需求的企业,如大型互联网公司需要自行搭建复杂的应用架构,或者企业有特殊的软件部署需求,且不想投入大量资金购买和维护硬件设备的情况。
示例:亚马逊的EC2、谷歌的Compute Engine、微软的Azure Virtual Machines。 - 平台即服务(Platform as a Service,PaaS)
功能:在IaaS的基础上,提供了一个完整的开发和运行平台,包括操作系统、数据库管理系统、开发工具、中间件等,用户可以在这个平台上快速开发、测试、部署和管理应用程序。
特点:大大降低了应用开发的门槛和成本,提高了开发效率,开发者无需关注底层基础设施的维护和管理,专注于应用程序的业务逻辑实现,平台通常还提供了自动化的资源管理和扩展功能,能根据应用的负载自动调整资源。
应用场景:适合软件开发团队或企业,尤其是那些需要快速迭代和部署应用程序的场景,如移动应用开发、Web应用开发等。
示例:谷歌App Engine、微软Azure App Service、Heroku。 - 软件即服务(Software as a Service,SaaS)
功能:直接提供完整的软件应用程序,用户通过互联网浏览器即可访问和使用,无需在本地设备上安装软件。
特点:用户只需关注如何使用软件来满足业务需求,无需进行软件的安装、维护、升级等工作,软件提供商负责所有的后端管理,通常采用订阅模式收费,用户按使用量或订阅期限付费。
应用场景:广泛应用于各种企业和个人用户的日常办公、业务管理等场景,如企业的客户关系管理(CRM)、企业资源规划(ERP)、办公软件等。
示例:Salesforce、Google Workspace、Microsoft Office 365。 - 函数即服务(Function as a Service,FaaS)
功能:一种特殊的PaaS模型,允许用户运行代码而无需管理服务器或运行时环境,开发者编写单个函数或小段代码,这些代码响应事件触发器,如HTTP请求、消息队列或定时器。
特点:具有高度的弹性和按需付费的特点,只有在函数被调用时才会产生费用,适合处理一些短暂的、事件驱动的任务,能有效降低成本和提高开发效率。
应用场景:常用于实时数据处理、物联网(IoT)应用、无服务器架构的应用开发等场景。
示例:AWS Lambda、Google Cloud Functions、Azure Functions。 - 后端即服务(Backend as a Service,BaaS)
功能:提供后端服务的集合,如数据库、身份验证、推送通知、文件存储等,帮助开发者快速构建应用程序的后端,使得开发者可以专注于前端开发。
特点:简化了应用开发流程,减少了后端开发的工作量和复杂度,提高了开发速度,通常提供易于使用的API,方便前端与后端进行交互。
应用场景:适用于移动应用开发、Web应用开发等场景,尤其是对于一些小型团队或创业公司,可以快速搭建应用的后端服务。
示例:Firebase、Parse、Backendless。 - 数据库即服务(Database as a Service,DBaaS)
功能:提供数据库的托管和管理服务,用户无需自己维护数据库服务器,服务提供商负责数据库的安装、配置、备份、恢复、扩展和性能优化等工作。
特点:用户可以快速创建和使用数据库,无需具备专业的数据库管理技能,降低了数据库管理的成本和风险,能根据业务需求灵活调整数据库的规格和容量。
应用场景:适用于各种需要使用数据库的企业和应用,无论是小型的Web应用还是大型的企业级系统。
示例:Amazon RDS、Google Cloud SQL、Azure SQL Database。 - 网络即服务(Network as a Service,NaaS)
- 基础设施即服务(Infrastructure as a Service,IaaS)
-
功能:通过云计算技术将网络资源(如虚拟网络、网络带宽、防火墙、负载均衡等)进行虚拟化和抽象化,以服务的形式提供给用户,用户可按需获取和配置网络资源,无需自行搭建和维护复杂的网络基础设施。
-
特点
- 灵活性高:用户能根据业务需求快速调整网络配置,如增加或减少带宽、调整网络拓扑等。
- 降低成本:无需购买和维护大量的网络硬件设备,减少了前期投资和后期运维成本。
- 可扩展性强:能够方便地实现网络的扩展和收缩,适应业务的变化和发展。
- 管理便捷:服务提供商负责网络的管理和维护,用户无需具备专业的网络技术知识。
-
应用场景:适用于各种规模的企业,尤其是互联网企业、云计算企业、移动应用开发商等对网络需求变化快、需要灵活调整网络资源的企业,也可用于临时的网络项目或活动。
-
示例:亚马逊的 Virtual Private Cloud(VPC)、微软 Azure 的 Virtual Network、谷歌云的 Virtual Private Cloud 等。
- 容器即服务(Container as a Service,CaaS)
-
功能:提供容器的管理和编排服务,帮助用户轻松创建、部署、运行和管理容器化应用程序,包括容器的调度、资源分配、网络配置、存储管理等功能,使用户能够专注于应用程序的开发和业务逻辑实现。
-
特点
- 高效部署:容器的轻量化特性使得应用程序的部署速度极快,能够快速启动和停止,提高了开发和部署效率。
- 资源利用率高:容器共享宿主机的操作系统和资源,相比传统的虚拟机方式,能够更有效地利用服务器资源,降低硬件成本。
- 可移植性强:容器可以在不同的环境中轻松迁移,包括不同的服务器、数据中心甚至不同的云平台,保证了应用的可移植性和兼容性。
- 易于管理:通过容器编排工具,如 Kubernetes、Docker Swarm 等,能够方便地管理大量的容器,实现自动化的部署、扩展、升级和故障恢复等操作。
-
应用场景:广泛应用于软件开发、云计算、大数据等领域,特别是微服务架构的应用开发、持续集成和持续交付(CI/CD)流程、以及需要快速迭代和部署的应用场景。
-
示例:亚马逊的 Elastic Container Service(ECS)、谷歌的 Kubernetes Engine、微软 Azure 的 Container Instances 等。
- 桌面即服务(Desktop as a Service,DaaS)
-
功能:也叫虚拟桌面或托管桌面服务,它是虚拟桌面基础架构对第三方服务供应商的外包,将用户的桌面环境(包括操作系统、应用程序、数据等)托管在云端,用户通过互联网连接到云端的虚拟桌面,在任何设备上都能访问自己的桌面环境1。
-
特点3
- 访问便捷:用户可从任何能联网的设备访问虚拟桌面,不受设备和地理位置限制。
- 安全性高:数据存储在云端,而非本地设备,降低了数据丢失、泄露的风险,且服务提供商通常会提供更高级别的安全防护措施。
- 成本降低:企业无需为员工购买和维护大量的本地计算机设备,只需支付使用虚拟桌面的服务费用,降低了硬件采购和运维成本。
- 易于管理:管理员可以在云端集中管理虚拟桌面,包括安装软件、更新系统、配置策略等,大大提高了管理效率。
-
应用场景:适用于远程办公、远程培训、企业分支机构、呼叫中心等场景,以及对数据安全要求较高的企业,如金融、医疗、政府等行业。
-
示例:微软的 Windows Virtual Desktop、亚马逊的 WorkSpaces、Citrix 的 Virtual Apps and Desktops 等。
[图片]
云计算部署模式
公有云
定义:云服务提供商对外提供的公有云服务部署模式,在对公有云的基础构架进行预配置后,通过 Internet 以免费或按需付费的方式提供给企业组织和个人公开使用。
特点:具有成本低、可扩展性强、可用性高和管理方便等优点,用户无需自行搭建和维护基础设施,可根据实际需求灵活获取和释放资源,但数据安全性和隐私性相对较弱,因为数据存储在云服务提供商的服务器上,可能存在被泄露或滥用的风险。
适用场景:适合对成本敏感、需要快速扩展或收缩业务的企业和个人,如互联网初创企业、小型企业等,这些用户对计算资源的需求具有不确定性,公有云的弹性和经济性能够很好地满足他们的需求。
私有云
定义:企业或组织专属的云服务部署模式,拥有者对私有云具有完全的访问和控制权限,未授权的用户无法获取私有云的任何信息和使用其服务。
特点:可分为本地私有云和外包私有云,相比公有云,具有更好的隐蔽性和安全性,能够满足企业对数据安全和隐私的严格要求,企业可以根据自身需求进行定制化配置,但建设和维护成本较高,需要企业具备一定的技术实力和资源投入。
适用场景:适用于对数据安全性、隐私性和合规性要求极高的企业,如金融机构、政府部门、大型企业的核心业务等,这些组织不希望将敏感数据存储在公有云上,愿意投入更多资源来构建和管理自己的私有云。
社区云
定义:面向某社区中所有成员的云服务部署模式,社区内各成员共同制定安全和隐私政策并统一遵守,仅对社区内的成员开放。
特点:也分为本地社区云和外包社区云,其服务对象是一组具有共同需求和目标的云消费者,如特定行业的企业、科研机构等。社区云可以满足社区内成员的特定需求,同时降低成本,提高资源利用率,但社区云的使用范围相对较窄,只适用于社区内的成员。
适用场景:适用于特定行业或领域的企业或组织,如金融行业的社区云可以为银行、证券等机构提供符合行业监管要求的云计算服务,医疗行业的社区云可以为医院、诊所等提供数据共享和协作的平台。
混合云
定义:包含两个或多个不同的云计算服务部署模式组成的云服务获取平台,是云服务提供商根据企业实际情况定制的个性化云计算服务部署模式。
特点:结合了公有云和私有云的优点,企业可以将核心业务和敏感数据存放在私有云中,确保数据的安全性和可控性,而将一些非核心业务或对弹性要求较高的业务部署在公有云中,以利用公有云的弹性和成本优势,还能提高业务的连续性和可靠性,但管理复杂度相对较高,需要企业具备一定的技术实力和管理经验。
适用场景:适用于大多数企业,尤其是那些对数据安全和业务弹性都有较高要求的企业,如大型企业、跨国公司等,这些企业可以根据不同业务的特点和需求,灵活地在公有云和私有云之间进行资源分配和调度。
云平台构建的技术:- 虚拟化技术;
- 构建技术: openstack
虚拟化技术
定义与原理
-
定义:虚拟化技术是指通过软件或硬件的方式,将物理计算资源(如处理器、内存、存储、网络等)抽象出来,创建多个相互独立的虚拟环境,使得每个虚拟环境都能够像独立的物理设备一样运行不同的操作系统和应用程序12。
-
原理:以服务器虚拟化为例,在物理服务器硬件之上安装虚拟机监视器(VMM),VMM 负责管理和分配物理服务器的资源给各个虚拟机。它通过拦截和处理虚拟机对硬件资源的请求,将其转换为对底层物理资源的实际操作,从而为每个虚拟机提供一个独立的、隔离的运行环境,让它们感觉自己独占了硬件资源1。
发展历程4 -
起源阶段(20 世纪 60 年代):计算机资源稀缺,IBM 的科学家提出通过软件创造虚拟计算机环境的构想,让单一物理机器承载多重操作系统,虚拟化技术雏形诞生。
-
发展阶段(20 世纪 80 年代 - 90 年代):80 年代,个人电脑兴起,VMware 公司成立,其产品使同一物理机上运行多个不同操作系统成为可能,虚拟化技术开始商业化。90 年代,计算机硬件和软件技术进步,推动虚拟化技术快速发展。
-
普及阶段(21 世纪初 - 至今):21 世纪,云计算崛起,Amazon Web Services(AWS)、Microsoft Azure 等云服务巨头借助虚拟化技术搭建云端帝国,为用户提供弹性高效的计算资源,虚拟化技术得到广泛普及和应用。近年,容器化技术如 Docker 和 Kubernetes 的出现,为虚拟化技术注入新活力。
优势 -
提高资源利用率:能将一台物理服务器的资源分割给多个虚拟机使用,每个虚拟机可独立运行不同的操作系统和应用程序,避免资源浪费,使硬件资源得到充分利用2。
-
增强灵活性和可移植性:虚拟机可在不同物理服务器间迁移,便于实现负载均衡、故障转移和资源调整,当某台服务器负载过高时,可将部分虚拟机迁移到其他服务器上,提升系统整体的灵活性和可用性2。
-
简化管理:管理者可通过统一的管理平台对多个虚拟机进行管理和部署,减少硬件设备数量,降低管理复杂度和成本2。
-
提升安全性:不同的虚拟机之间相互隔离,将不同的应用程序和操作系统分隔开来,一个虚拟机出现安全问题,一般不会影响到其他虚拟机,提高了系统的安全性和稳定性2。
应用场景 -
服务器虚拟化:将一台物理服务器虚拟化成多个虚拟机,用于运行不同的应用程序或服务,如将一台物理服务器划分成多个虚拟机,分别用于运行 Web 服务器、数据库服务器、邮件服务器等,提高服务器资源利用率2。
-
桌面虚拟化:把桌面操作系统和应用程序虚拟化到服务器上,用户通过终端设备访问虚拟桌面,企业可通过这种方式统一管理员工的桌面环境,降低管理成本,提高数据安全性2。
-
网络虚拟化:通过虚拟化技术创建虚拟网络,实现网络资源的隔离和灵活配置,如在云计算环境中,为不同的用户或租户创建相互隔离的虚拟网络,满足其个性化的网络需求2。
-
存储虚拟化:将存储资源虚拟化,统一管理存储设备,可将多个不同类型、不同品牌的存储设备虚拟化成一个存储资源池,为用户提供统一的存储服务,提高存储资源的利用率和灵活性2。
主要类型1 -
硬件分区技术:将硬件资源划分成数个分区,每个分区享有独立的 CPU、内存,并安装独立的操作系统,但缺乏灵活性,资源调配能力有限。
-
虚拟机技术:部署一个统一的 Host 系统,在其上加装 Virtual Machine Monitor,给每个虚拟机模拟一套独立的硬件设备,再安装 Guest 操作系统,缺点是虚拟硬件设备消耗资源,性能有损耗。
-
准虚拟机技术:以 Xen 为代表,修改操作系统内核,加入 Xen Hypervisor 层来进行资源调配,仍需模拟硬件设备和安装 Guest 操作系统。
-
操作系统虚拟化技术:一个单一的节点运行着唯一的操作系统实例,通过加装虚拟化平台,将系统划分成多个独立隔离的容器,每个容器是一个虚拟的操作系统,性能得以大幅度提升。