云计算初识及总结

什么是云计算 

官方注解(很抽象,读不太懂):

云计算(cloud computing),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机和其他设备,主要是基于互联网的相关服务地增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。狭义云计算指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务地交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。它意味着计算也可作为一种商品通过互联网进行流通。

对云计算的定义有多种说法。对于到底什么是云计算,至少可以找到100种解释。现阶段广为接受的是美国国家标准与技术研究院(NIST)定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。

自己的理解:

说的直白一点我认为就是将计算机(服务器)分布式搭建一个集群,不放在本地,跟云似的。它和普通的服务器是不一样的,这些云端的服务器的资源是共享的,一旦一个服务器宕掉,将会把任务分配给其他机器。这些云服务会提供给企业或者用户开发需要的:服务器(虚拟机)、操作系统、硬件、网络、中间件、数据库、应用程序等,以上均可称为环境,这些环境都是一种服务,只需要购买就可以,节省了一大部分的运维和开发成本,也缩短了开发周期。打个比方:企业或者用户可以将网站放到里面,并有独享IP;也可以通过客户端登录到云服务器里找你存储在里面的软件或文件;企业也可以进行资料,数据的存储统计,ERP办公等等的众多云计算的应用。

云计算的核心思想,是将大量用网络连接的计算资源统一管理和调度,构成一个计算资源池向用户按需服务。提供资源的网络被称为云。云中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。

 

云计算拥有以下特点:

· 虚拟化和自动化
· 
服务器,存储介质,网络等资源都可以随时替换
· 
所有的资源都由云端统一管理
· 
高度的伸缩性以满足业务需求
· 
集中于将服务传递给业务

 

云计算的分类

从部署方式来说:

·私有云:数据中心部署在企业内部,由企业自行管理。或者是运营商建设好,整体租给该用户。企业、组织、政府等之外的用户无法访问或无法使用;

·公共云:数据中心由第三方的云计算供应商提供,企业将自己的软件及服务部属在上面,供应商帮助企业管理。所有有使用权限的用户都可以按需使用;

·混合云:指公有云和私有云的混合,大多数是指在私有云搭建好自后,由于业务发展等原因,资源需求量超过了资源池,所以需要通过申请使用公有云作为私有云的补充。

从运营方式来说:

·基础设施即服务(IaaS):云计算运营商提供完善的计算机基础设施,但不管理基础设施,第三方通过Internet从中获得服务。第三方开发人员将开发好的软件和服务交给自己公司的IT管理员,由IT管理员负责部署及管理。在这种运营模式下,开发人员和IT管理员有最大限度的自由,然而必须自行管理部分基础设施,因此成本通常也会较大,对管理员的要求也会较高。

·平台即服务(PaaS:云计算运营商将软件开发及部署平台提供给第三方,第三方开发人员在这个平台上开发自己的软件和服务。实际上是指将软件研发的平台作为一种服务,提交给用户。PaaS的出现可以加快SaaS应用的开发速度。

·软件即服务(SaaS:云计算运营商直接以服务的形式供应软件,供最终用户使用。

这些概念听起来很难懂吧,我们来看一个图:

云计算初识及总结_第1张图片

图写的非常明白,IaaS其实就是一些硬件,网络和操作系统的组成,对于程序员来说这部分不需要太多了解,因为我们不可能去组建自己的 Iaas。就如同我们在各个云计算平台中提到的云存储、VM(虚拟机)或者云服务器。对于开发者来说如果我们使用IaaS,就像我们操作一个服务器一样,只是不用安装操作系统了,因为OS已经包括在IaaS中了。但是和操作服务器又不一样,如果服务器硬盘扩容,加内存,换CPU,扩充带宽等,必须要经过备份/迁移/测试等大量的工作,但IaaS就不一样,我们可以直接设置就能解决,实际上就是我们把这些东西都外包给别人,然后我们使用他的服务,一般IaaS供应商会提供这些操作,我们只需要选择我们要什么操作系统,什么样的带宽,什么样的硬件配置,然后设置就可以了,根本不用担心安装 OS,防火墙,网络升级,换硬件什么的了。

  这已经很大的进步了,不是吗?我们再来看看PaaS吧。我们使用云服务器的时候虽然操作系统不用安装了,硬件网络问题不用担心了,但是我们还是要安装和配置程序的环境,比如说安装IISTomcat,数据库等等。PaaS,就是加入了中间件和数据库,常见的有GAE/SAE/BAE这些。如果我们使用的是PaaS,这些也不用做了,我们只关心程序的开发和部署就可以了,因此我们选择PaaS的时候首先要考虑的就是自己使用的是什么语言和习惯使用的数据库。也就是说我使用的是一个平台,是PaaS供应商提供给我们在互联网上的一种服务。

  又是一个很大的进步吧?然后是SaaS,如果我们不是万能的程序员,我想用一个OA系统,我们把软件买过来(或者找人开发)后,还要安装部署呢?即便是使用的PaaS,我们也必须知道安装方法啊?想想我们如果想邮箱一样使用OA系统多好,我只需要注册一个账号即可使用,甚至组建自己企业的内部邮箱。这就是SaaS的作用,其实本身企业邮箱(163或者腾迅)就是一个SaaS的应用,自己只需要注册用户,然后设置自己企业的邮箱域名,整个企业的用户就可以使用了。我们虽然使用的是软件,但是并不需要自己光盘安装,也不需要软件的维护,我们其实享受的是SaaS这些供应商提供的服务,也就是说软件即服务概念。

  对于一般开发者而言:Iaas的具体内容不用去关心太多,那些确实不是我们程序员考虑的。而SaaS我们只需要知道目前比较好用的SaaS有哪些就行了,举一个例子,我们如果想做一个旅游网站,里面用到了天气预报的功能,没有必要我们单独做一个这样功能,我找一个接口好用的天气预报的SaaS,使用他的服务,然后融入到我们的旅游网站就OK了,再如果我们想通过短信提醒用户,那我们就使用短信发送的SaaS等。剩下的就只剩下PaaS了,如果我们想把精力全部放在软件开发方面,不想再考虑什么硬件负载,网络连接,黑客攻击,平台兼容,环境搭建这些,那么PaaS绝对是首选,甚至你看不到我的电脑; PaaS供应商为你提供专业的界面,简单实用。

 

你可能感兴趣的:(云计算总结)