走进云计算

一、云计算的概念

对于云计算的概念,维基百科有以下定义:Cloud computing is a new form of Internet-based computing that provides shared computer processing resources and data to computers and other devices on demand.

**云计算就是一种按照需求通过Internet获取计算资源的形态。这些计算资源被包装成为服务,提供给用户。**而提供这些服务的主体,我们称之为云服务供应商(Cloud Service Provider)。说白了,云计算就是一种按使用量付费的模式。

按照NIST (National Institute of Standards and Technology,美国国家标准和技术研究院)的定义,云服务最主要的有三类:IaaS、PaaS、SaaS

在这里插入图片描述

IaaS(Infrastructure as a service – 基础设施即服务) |厨房即服务

硬件设施、操作系统由别人提供。

比如阿里云、腾讯云这些。你买它服务器,服务器上带操作系统,你需要上去装想要的应用,然后搞开发。

提供给消费者的服务是对所有云计算基础设施的利用,包括处理CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。消费者不管理或控制任何云计算基础设施,但能控制操作系统的选择、存储空间、部署的应用,也有可能获得有限制的网络组件(例如:路由器,防火墙,负载均衡器等)的控制。更适合提供给运维人员使用。

PaaS(Platform as a service – 平台即服务) |烘焙即服务

硬件设施、操作系统、应用及中间件都由别人提供。你只需要搞开发。

比如Docker起个应用里面就带系统带应用,起来后只需要开发写代码放进来。

PaaS给用户提供的能力是使用由云服务提供商支持的编程语言、库、服务以及开发工具来创建、开发应用程序并部署在相关的基础设施上。用户无需管理底层的基础设施,包括网络、服务器,操作系统或者存储。他们只能控制部署在基础设施中操作系统上的应用程序,配置应用程序所托管的环境的可配置参数。

常见的PaaS服务有数据库服务、web应用以及容器服务。**成熟的PaaS服吧务会简化开发人员,提供完备的PC端和移动端软件开发套件(SDK),拥有丰富的开发环境(Inteli、Eclipse、VS等),完全可托管的数据库服务,可配置式的应用程序构建,支持多语言的开发,面向应用市场。

SaaS(Software as a Service – 软件即服务) |必胜客,披萨即服务

硬件设施、操作系统、应用、中间件、代码全部由别人提供。

比如直接去买人家做好的OA系统、财务软件、Jumpserver等

提供给客户的服务是运营商运行在云计算基础设施上的应用程序,用户可以在各种设备上通过过客户端界面访问,如浏览器。消费者不需要管理或控制任何云计算基础设施,包括网络、服务器、操作系统、存储等等;平时使用的邮件服务器,即属于SaaS服务。

这里借用汽车的例子对IaaS、PaaS、SaaS的解释进一步阐述三者的区别。假设你需要出去外出使用交通工具,我们有四种的方案:

On-premise方案:

自己开车,需要维护汽车,是其安全工作。同时需要为车上保险,提供燃料。(服务器 + 操作系统/数据库 + 应用软件)

IaaS:

从租车公司租一辆车,汽车的维修、安检都由租车公司承担。你只需要提供燃料(需要提供操作系统+应用软件)

PaaS:

除了基础设施(汽车),还为你提供司机。类似出租车。只需要提供目的地,汽车的行驶和运行都有司机决定。(只需要提供应用软件)。

SaaS:

类似于做轨道交通, 一切都是由别人控制。只有较少的定制化功能。

目前主流的IaaS、PaaS和SaaS产品如下图所示:

在这里插入图片描述

二、云计算的特点和优势

1)云计算是一种使用模式

2)云计算必须通过网络访问

3)弹性计算,按需付费

在云计算之前的模式或技术

1)IDC托管

2)IDC租用

3)虚拟主机(卖空间的)

4)VPS:虚拟专用主机,openvz超卖很坑人的,xen不支持超卖

相对于云计算,传统数据中心面临的问题

1)资源利用率低(大部分机器cpu所占比率低于15%)

2)资源分配不合理

举例:由于某个活动,上线各种服务器,但是并未达到实际效果,导致服务器资源浪费

3)很难实现真正的运维自动化

三、云计算的部署模式

公有云、私有云、混合云

  • 公有云(public cloud):

通常指第三方提供商为用户提供的能够使用的云,公有云一般通过Internet使用,可能是免费或成本低廉的,公有云的核心属性是共享资源服务。这种云有许多实例,可在当今整个开房的共有网络中提供服务。例如:aws,阿里云,青云,百度云,腾讯云。

优点:价格低廉,使用方便

  • 私有云(private cloud):

是为一个客户单独使用而构建的,因而提供对数据、安全性和服务质量的最有效控制。该公司拥有基础设施,并可以控制在此基础设施上部署应用程序的方式。私有云可部署在企业数据中心的防火墙内,也可以将他们部署在一个安全的主机托管场所,私有云的核心属性是专有资源。

优点:可控,数据安全(银行必然使用私有云)

  • 混合云(hybird cloud):

混合云融合了公有云和私有云,是近年来云计算的主要模式和发展方向。我们已经知道私有云主要是面向企业用户,出于安全考虑,企业更愿意将数据存放在私有云中,但是同时又希望可以获得公有云的计算资源,在这种情况下混合云被越来越多的采用,他将公有云和私有云进行混合和匹配,以获得最佳的效果,这种个性化的解决方案,**达到了既省钱又安全的目的。**例如在一次活动中,只需要暂时几台机器,在私有云存在的情况,考虑混合云的使用,是最合理化的。

优点:集合的使用方式更完美,可扩展,更节省

四、云计算与虚拟化

虚拟化的好处:

  • 虚拟化可以虚拟出来多个操作系统:每个操作系统之间是相互独立的,所以每个操作系统上所跑的应用自然是相互不影响的。在这里用一个经典例子说明,一台物理机跑8个tomcat,和8个虚拟机上各跑1个tomcat,跑8个tomcat的物理机,如果其中一个tomcat出了问题(内存问题,jvm问题等),势必会影响到其它7个tomcat,但是在8个虚拟机上分别各跑一个tomcat,他们之间是互不影响的。

    由于虚拟化的原因占用了一些资源,效果并没有直接一台物理机跑8个tomcat效果好,但是虚拟机的互相独立互不影响是更重要的,而且便于管理,每个tomcat实例都会起3个端口(8080:对外服务端口,8009AJP端口,8005关闭端口),使用虚拟机之后,就不会担心多个tomcat端口冲突的情况。

  • 支持异构:linux系统可以虚拟化Windows系统,方便不同场景系统的使用。

  • 支持快照功能和克隆功能

虚拟化和云计算的简单总结:

虚拟化是一种技术,云计算是通过虚拟化技术实现的一种通过网络访问获取资源,流量,交付的使用模式,两者并不能互相比较,虚拟化相当于实干家,而云计算是思想家。

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐