1. 先从云计算讲起
本章讲解知识点
- 什么是云计算?
- 为什么要用云计算?
- 物理服务器与云服务器对比
- 云计算服务类型
- 云计算部署类型
<br>
1. 什么是云计算?
云计算是一种通过计算机网络以服务的方式提供动态可伸缩的虚拟化资源的计算模式。按照服务层次分为IaaS、PaaS和SaaS三个层次;按照部署方式可以分成公有云、私有云和混合云。
这里有两个点注意,一是云计算通过虚拟化技术实现,表现为虚拟化资源;二是云计算是一种按量付费的模式。
这里再通俗解释一下,比如一台硬件服务器,有内存20G、硬盘500G、CPU 12个,传统方式得整台租用。但是我可能用不了那么多资源,于是有人通过虚拟化技术将内存、硬盘、CPU抽象出资源池,这个过程叫资源虚拟化。于是虚拟化的资源就可以随意使用了,20G的内存租给20个人,每个人分1G内存使用,用完又回收到资源池内(动态可伸缩)。所以你用1G内存就交1G内存的钱,用10G内存就交10G内存的钱,这是一种线上费用计算模式,称之为云计算。
我们来举一个生活的例子。以前网吧是不是很普遍,我们买不起整台电脑,但是我们可以用几块钱换取一小时租用电脑来上网,这就是一种按量付费的模式,只不过我们租用的是实体电脑;一旦我们将网吧的硬件资源虚拟化,搬到互联网来出租计算,完全可以叫做云网吧,这就是云计算。
<br>
2. 为什么要用云计算?
来想象两种场景
2.1 创业小公司
当一家小公司初期创业,用了一年时间,10人团队投资500W开发了一款游戏,内测口碑很不错,准备上线,需要招聘一个运维来管理上线及维护。
那么游戏运行需要服务器,如果买物理服务器,需要托管至IDC机房,防止断电。比如10台*2w/每台
,托管IDC机房,8k/年/每台,带宽100M每年10w,总的成本就在38w。
而如果买云服务器,一台云服务器我们选择高配,也才800一年,10台也就8000元,成本大大降低。对于初创公司非常友好。
当这个游戏口碑直线上升,用户量激增时,又要买物理服务器、扩集群、增加占地面积,要是这款游戏黄了,这些物理服务器怎么办?二手甩卖太亏;而云服务器可以轻易扩缩容,需要就增加,不需要就减少。
物理服务器买来还要装系统装软件;而云服务器买来就能用,缩短上线周期。
2.2 巨头大公司
再说说大公司,如阿里、百度、京东,都有自己的云计算,这些大公司每逢节假日都有优惠促销活动。
那么当天的用户量将是平时的10倍以上,如果5个集群可以抗住平时的流量访问,那么节日就得50个集群!这时候买物理服务器来得及吗?即使买来了,节日一过,50个集群将严重资源浪费。
如果是云服务器,就可以实现动态扩缩容,甚至将多余的计算资源出租赚钱,这就是为什么很多大公司都有自己的云计算,不仅自己用,还可以出租。
<br>
3. 物理服务器与云服务器对比
成本 | 高 | 低 |
可伸缩 | 差 | 强 |
安装周期 | 长 | 短 |
<br>
4. 云计算服务类型
4.1 IaaS(Infrastructure as a Service)
IaaS 是 Infrastructure as a Service 的缩写,即基础设施即服务
IaaS是一种云服务,提供基本的计算基础结构:服务器(CPU),存储(内存、磁盘)和网络资源(ip与端口)。通俗来说,就是把物理服务器资源,如CPU、内存、磁盘虚拟化,放入一个资源池里,客户端按需申请使用。
如下图:
IaaS服务可用于多种目的,从托管网站到分析大数据。客户可以在所获得的基础架构上安装和使用他们喜欢的任何操作系统和工具。IaaS的主要提供商包括Amazon Web Services,Microsoft Azure和Google Compute Engine。
4.2 PaaS(Platform as a Service)
PaaS 是 Platform as a Service 的缩写,即平台即服务。
PaaS是指为运行时环境提供用于开发,测试和管理应用程序的云平台。
很好理解,PaaS就是在IaaS的基础上把运行时环境、中间件、操作系统也都给你装好了,而客户端就在PaaS上安装应用程序,生产个人数据。用户只需要关注自己的业务逻辑,而不需要关注底层。PaaS服务的示例包括Heroku和Google App Engine。
如下图:
4.3 SaaS(Software-as-a-Service)
SaaS 是 Software-as-a-Service 的缩写,即软件即服务
SaaS允许人们使用基于云的Web应用程序。这样就更方便了,直接在PaaS的基础上把应用程序都安装好了,生成的数据也都在云服务器上,客户端只需要连接上网络就可以直接使用应用。
如下图:
实际上,电子邮件服务(例如Gmail和Hotmail)就是基于云的SaaS服务的示例。SaaS服务的其他示例包括办公工具(Office 365和Google Docs),客户关系管理软件(Salesforce),事件管理软件(Planning Pod)等。
<br>
5. 云计算部署类型
5.1 云服务
云服务提供商部署IT基础设施并进行运营维护,将基础设施所承载的标准化、无差别的IT资源提供给公众客户的服务模式,称为云服务。
分为公有云、私有云、混合云。
5.2 公有云
公有云的核心特征是基础设施所有权属于云服务商,云端资源向社会大众开放,符合条件的任何个人或组织都可以租赁并使用云端资源,且无需进行底层设施的运维。公有云的优势是成本较低、无需维护、使用便捷且易于扩展,适应个人用户、互联网企业等大部分客户的需求。
公有云特点:
5.3 私有云
云服务商为单一客户构建IT基础设施,相应的IT资源仅供该客户内部员工使用的产品交付模式。私有云的核心特征是云端资源仅供某一客户使用,其他客户无权访问。
由于私有云模式下的基础设施与外部分离,因此数据的安全性、隐私性相比公有云更强,满足了政府机关、金融机构以及其他对数据安全要求较高的客户的需求。
私有云特点:
5.4 混合云
用户同时使用公有云和私有云的模式。一方面,用户在本地数据中心搭建私有云,处理大部分业务并存储核心数据;另一方面,用户通过网络获取公有云服务,满足峰值时期的IT资源需求。
混合云能够在部署互联网化应用并提供最佳性能的同时,兼顾私有云本地数据中心所具备的安全性和可靠性,并更加灵活地根据各部门工作负载选择云部署模式,因此受到规模庞大、需求复杂的大型企业的广泛欢迎。
混合云特点:
<br>
面试题
1. 什么是云计算,说说你的理解;云计算的优点有哪些?⭐⭐⭐
云计算是一种通过计算机网络以服务的方式提供动态可伸缩的虚拟化资源的计算模式。按照服务层次分为IaaS、PaaS和SaaS三个层次;按照部署方式可以分成公有云、私有云和混合云。
云计算优点:
- 弹性伸缩:云计算可以根据业务需求自动调整计算资源,使应用程序可以在高峰期和低谷期之间自由地进行伸缩。
- 资源共享:云计算可以将计算资源、存储资源和网络资源等进行共享,从而实现资源的高效利用。
- 成本效益:云计算可以提供按需计费的服务模式,避免了购买昂贵的硬件设备和维护成本。
- 可靠性:云计算通常采用分布式架构,具有高可用性和容错性,能够保证应用程序的可靠性和稳定性。
- 可移植性:云计算可以将应用程序部署在不同的云平台上,从而实现应用程序的跨云平台移植和运行。
2. 云计算服务类型⭐⭐⭐
IaaS、PaaS、SaaS
3. 云计算部署类型,区别是什么?⭐⭐⭐
公有云、私有云和混合云
公有云:由云服务提供商提供的基础设施和服务,用户可以按需购买、使用和支付。例如 Amazon Web Services(AWS 亚马逊)。
私有云:在用户自己的数据中心或机房中搭建的云计算环境,用于满足特定的安全、隐私或合规需求。私有云的核心特征是云端资源仅供某一客户使用,其他客户无权访问。
混合云:用户同时使用公有云和私有云的模式。一方面,用户在本地数据中心搭建私有云,处理大部分业务并存储核心数据;另一方面,用户通过网络获取公有云服务,满足峰值时期的IT资源需求。
公有云和私有云的区别:
- 拥有权:公有云是由第三方提供商拥有和管理的云计算平台,面向社会大众使用;私有云是由企业或组织自己构建和管理的云计算平台,只提供给企业或组织内部的用户使用。
- 费用:公有云通常采用按需付费模式,用户只需支付其实际使用的资源费用。私有云则需要企业或组织自行投资购买硬件设备、建设数据中心。
- 安全性:公有云平台通常具有较高的安全性,其服务商会采取一系列措施来保护用户数据安全。而私有云平台的安全性则取决于企业或组织自身的安全能力和措施。
- 灵活性:公有云平台具有较高的灵活性,可以根据用户需求动态调整资源。私有云则由企业或组织自行管理,资源调整相对较为困难。
- 可扩展性:公有云平台可以随时增加和释放资源,具有较高的可扩展性。私有云则需要企业或组织自行投资增加硬件设备和数据中心,扩展性相对较低。
混合云则是介于两者之间。
4. 云计算与传统物理服务器相比的好处⭐⭐⭐
云计算主要是租用云服务器,相对于物理服务器来说:
- 成本低。物理服务器实体价格较贵;而云服务器主要是租用计算资源,价格便宜。
- 可伸缩性好。云服务器可以动态扩缩容,资源可以充分利用;而物理服务器可伸缩性差,造成资源浪费。
- 安装周期短。云服务器可以申请任意类型的操作系统的服务器,申请就能用,缩短了安装的周期。而物理服务器买来时是裸机,需要运输、安装,同时需要根据客户情况安装操作系统或应用。
成本 | 高 | 低 |
可伸缩 | 差 | 强 |
安装周期 | 长 | 短 |
5. 说说你对IaaS、PaaS、SaaS的理解。它们各自的优缺点是什么?⭐⭐⭐
- IaaS(Infrastructure as a Service)的缩写,即基础设施即服务IaaS是一种云服务,提供基本的计算基础结构:服务器(CPU),存储(内存、磁盘)和网络资源(ip与端口)。通俗来说,就是把物理服务器资源,如CPU、内存、磁盘虚拟化,放入一个资源池里,客户端按需申请使用。
- PaaS(Platform as a Service)的缩写,即平台即服务PaaS是指为运行时环境提供用于开发,测试和管理应用程序的云平台。很好理解,PaaS就是在IaaS的基础上把运行时环境、中间件、操作系统也都给你装好了,而客户端就在PaaS上安装应用程序,生产个人数据。用户只需要关注自己的业务逻辑,而不需要关注底层。
- SaaS(Software-as-a-Service)的缩写,即软件即服务SaaS允许人们使用基于云的Web应用程序。SaaS就更方便了,直接在PaaS的基础上把应用程序都安装好了,生成的数据也都在云服务器上,客户端只需要连接上网络就可以直接使用应用。
IaaS | 灵活自由,可定制性强 | 管理和运维成本高 |
PaaS | 无需关心基础设施,专注于应用开发 | 自由度和灵活性受到限制 |
SaaS | 无需关心管理和运维,快速使用 | 自由度和灵活性受到更多的限制 |
6. 什么是虚拟化技术?请列举几种常见的虚拟化技术类型。⭐⭐
虚拟化技术是指通过软件或硬件的方式,将一台物理计算机划分成多个虚拟计算机(即虚拟计算单元),使得每个虚拟计算机都能够独立运行自己的操作系统和应用程序,并且可以被看作一台完整的计算机。虚拟化技术可以提高计算机资源的利用率,降低硬件成本和维护成本,方便系统管理和资源调度。
常见的虚拟化技术类型包括:
- 容器虚拟化:容器虚拟化是一种轻量级的虚拟化技术,利用操作系统的进程隔离机制实现多个应用程序在同一操作系统上独立运行的目的。
- 硬件虚拟化:硬件虚拟化是一种基于虚拟机监控器(VMM)的虚拟化技术,可以在一台物理计算机上运行多个虚拟计算机,每个虚拟计算机都能够独立运行自己的操作系统和应用程序。
- 网络虚拟化:网络虚拟化是一种将物理网络资源划分成多个逻辑网络资源的技术,可以实现网络资源的隔离、复用和优化。
- 存储虚拟化:存储虚拟化是一种将多个存储设备虚拟化成一个逻辑存储设备的技术,可以提高存储资源的利用率和可靠性。
7. 请简述云计算中的弹性计算概念,以及如何实现弹性计算⭐⭐
弹性计算是指在云计算环境中,根据业务需求动态调整计算资源的能力。它可以根据应用程序的需求增加或减少计算资源,以便更好地应对突发的高负载或低负载情况。弹性计算的目标是确保在任何时候,应用程序都能够获得足够的计算资源,以满足用户的需求。
实现弹性计算可以采用以下方法:
- 自动伸缩:通过设置自动伸缩规则,根据应用程序的负载情况自动调整计算资源的数量。
- 水平扩展:增加计算节点的数量,以适应应用程序的负载情况。
- 垂直扩展:增加单个计算节点的计算能力,以提高计算资源的利用率。
- 弹性资源池:在云计算环境中建立一个弹性资源池,根据应用程序的需求动态调配计算资源。
- 服务治理:通过服务治理技术,对应用程序进行负载均衡和容错处理,以保证应用程序的高可用性和性能。
8. 什么是云计算?它与传统的 IT 架构有何不同之处?⭐⭐
同第一题
9. 云计算的安全性如何?有哪些安全措施可以采取?⭐⭐
云计算的安全性是用户关注的一个重要问题。由于云计算涉及多个用户共享同一物理资源,因此存在安全隐患,例如数据泄露、DDoS攻击、虚拟机逃逸等。
为了确保云计算的安全性,可以采取以下安全措施:
- 访问控制:云计算平台应该实现严格的访问控制机制,包括身份验证、授权、审计等,确保只有授权用户可以访问云资源。
- 数据加密:用户应该对存储在云计算平台上的敏感数据进行加密,以防止数据泄露和窃取。
- 网络隔离:云计算平台应该实现网络隔离机制,确保不同用户之间的网络流量不会相互干扰,以及防止DDoS攻击和网络嗅探等。
- 虚拟化安全:虚拟化技术是云计算的核心,但它也存在安全隐患。用户应该采取措施,如使用安全的虚拟机映像、加强虚拟机间的隔离和监控等。
- 备份和恢复:云计算平台应该实现完善的备份和恢复机制,确保用户数据在意外事故发生时能够及时恢复。
- 安全审计:云计算平台应该实现安全审计机制,记录所有访问和操作行为,以便对安全事件进行调查和审计。
10. 什么是弹性扩展?它在云计算中有何应用?⭐⭐
弹性计算是指在云计算环境中,根据业务需求动态调整计算资源的能力。它可以根据应用程序的需求增加或减少计算资源,以便更好地应对突发的高负载或低负载情况。弹性计算的目标是确保在任何时候,应用程序都能够获得足够的计算资源,以满足用户的需求。
弹性扩展在云计算中应用广泛,例如:
- 网站负载均衡:当用户访问量增加时,可以自动增加Web服务器的数量,以满足用户的请求需求。
- 数据库扩展:当数据库负载增加时,可以自动增加数据库服务器的数量,以提高数据库的性能和可用性。
- 流媒体服务:当用户观看流媒体内容时,可以自动增加视频服务器的数量,以提供更好的用户体验。
- 大数据处理:当处理大数据时,可以自动增加计算服务器的数量,以加快数据处理的速度。
11. 云计算中的容器技术有哪些?它们的作用是什么?⭐⭐
在云计算中,容器技术是一种虚拟化技术,它允许应用程序在独立的容器中运行,而不需要为每个应用程序提供完整的虚拟机。这样可以更有效地利用计算资源,更快速地部署和扩展应用程序,并提高系统的可移植性和安全性。
以下是一些常见的容器技术及其作用:
- Docker:Docker 是最流行的容器化平台之一。它提供了一种轻量级的虚拟化技术,使得应用程序可以在不同的环境中轻松地移植和运行。Docker 还提供了一系列工具和功能,帮助用户快速构建、部署和管理容器。
- Mesos:Apache Mesos 是一个开源的分布式系统内核,它可以让用户将计算资源池化为一个虚拟的计算机集群。Mesos 可以管理多个应用程序和服务,提供资源分配、容器编排、负载均衡等功能,使得用户可以更有效地利用计算资源,提高系统的可靠性和可扩展性。
- LXC/LXD:LXC 是一种基于 Linux 容器的虚拟化技术,它允许用户在独立的容器中运行多个应用程序。LXD 是一个基于 LXC 的容器编排工具,它可以帮助用户轻松管理和扩展容器集群,提供负载均衡、自动伸缩等功能。
本专刊适合于立志转行云计算的小白,有一定的编程、操作系统、计算机网络、数据结构、算法基础。 本专刊同时也适合于面向云计算(Docker + Kubernetes)求职的从业者。 本专刊囊括了云计算、VMWare、Docker、Kubernetes、Containerd等一系列知识点的讲解,并且最后总