国内知名六⼤云平台对⽐,开发者如何选型什么叫做云计算?
主要是提出的概念:⽤户的⼿机、pc、笔记本统称为端;⽹络的服务称为云。端和云的⽹络格
局。
可以从“端”通过“云”(⽹络)获得强⼤的计算能⼒,数据处理能⼒及其它。
每个端也可以为整个云贡献⾃⼰的计算能⼒。——云计算
狭义云计算指IT基础设施的交付和使⽤模式,指通过⽹络以按需、易扩展的⽅式获得所需资源;
⼴义云计算指服务的交付和使⽤模式,指通过⽹络以按需、易扩展的⽅式获得所需服务。这种
服务可以是IT和软件、互联⽹相关,也可是其他服务。
云计算的核⼼思想,是将⼤量⽤⽹络连接的计算资源统⼀管理和调度,构成⼀个计算资源池向
⽤户按需服务。提供资源的⽹络被称为“云”。“云”中的资源在使⽤者看来是可以⽆限扩展的,并
且可以随时获取,按需使⽤,随时扩展,按使⽤付费。
云计算的产业三级分层:云设备、云平台、云软件
那么“云设备、云平台、云软件”⼜是什么呢?先看看这张图:
基础设施即服务(IaaS):消费者通过Internet可以从完善的计算机基础设施获得服务。
平台即服务(PaaS):PaaS实际上是指将软件研发的平台作为⼀种服务,以SaaS的模式提交给
⽤户。因此,PaaS也是SaaS模式的⼀种应⽤。但是,PaaS的出现可以加快SaaS的发展,尤
其是加快SaaS应⽤的开发速度。
软件即服务(SaaS):软件即服务。它是⼀种通过Internet提供软件的模式,⽤户⽆需购买软件,
⽽是向提供商租⽤基于Web的软件,来管理企业经营活动。
这些概念挺起来很难懂吧,我在来看⼀个图:
这样图写的⾮常明⽩了,IaaS其实就是⼀些硬件,⽹络和操作系统的组成,对于我们程序员来
说这部分不需要太多了解,因为我们不可能去组建⾃⼰的 Iaas,提供给⼤家使⽤,就如同我们
在各个云计算平台中提到的云存储、VM(虚拟机)或者云服务器。对于开发者来说如果我们使⽤IaaS,就像我们操作⼀个服务器⼀样,只是不⽤安装操作系统了,因为OS已经包括在IaaS中
了。但是和操作服务器⼜不⼀样,如果服务器硬盘扩容,加内存,换CPU,扩充带宽等,必须
要经过备份/迁移/测试等⼤量的⼯作,但IaaS就不⼀样,我们可以直接“设置”就能解决,实际上就是我们把这些东西都外包给别⼈,然后我们使⽤他的服务,⼀般IaaS供应商会提供这些操作,我们只需要选择我们要什么操作系统,什么样的带宽,什么样的硬件配置,然后设置就可以了,根部不⽤担⼼安装 OS,防⽕墙,⽹络升级,换硬件了什么的了。即“基础设施即服务”。
开发网站需要什么软件这已经很⼤的进步了,不是吗?我们再来看看PaaS吧,我们使⽤云服务器的时候虽然操作系统不⽤安装了,硬件⽹络问题不⽤担⼼了,但是我们还是要安装和配置程序的环境,⽐如说安装IIS,Tomcat,数据库等等。PaaS,就是加⼊了中间件和数据库,常见的有GAE/SAE/BAE这些。如果我们使⽤的是PaaS,这些也不⽤做了,我们只关⼼程序的开发和部署就可以了,因此我们选择PaaS的时候⾸先要考虑的就是⾃⼰使⽤的是什么语⾔和习惯使⽤的数据库。也就是说我使⽤的是⼀个平台,是PaaS供应商提供给我们在互联⽹上的⼀种服务。即“平台即服务”
⼜是⼀个很⼤的进步吧?然后是SaaS,如果我们不是万能的程序员,我想⽤⼀个OA系统,我们把软件买过来(或者⼈开发)后,还要安装部署呢?即便是使⽤的PaaS,我们也必须知道安装⽅法啊?想想我们如果想邮箱⼀样使⽤OA系统多好,我只需要注册⼀个账号即可使⽤,甚⾄组建⾃⼰企业的内部邮箱。这就是SaaS的作⽤,其实本⾝(163或者腾迅提供)就是⼀个SaaS的应⽤,⾃⼰只需要注册⽤户,然后设置⾃⼰企业的邮箱域名,就整个企业的⽤户可以使⽤了。我们虽然使⽤的是软件,但是并不需要⾃⼰光盘安装,也不需要软件的维护,我们其实享受的是SaaS这些供应商提供的服务,也就是说“软件即服务”的概念。
如果上⾯的讲解还不够让你形象的理解,那么我们来打个⽐⽅吧:如果我们需要修建⼀条马路,那么iaas就是这条马路的基⽯,paas就是这条马路的钢筋⽔泥,让马路更加牢固,⽽saas 则是这条马路修建后⽤于别⼈使⽤的⽤途。
对于⼀般开发者⽽⾔:Iaas的具体内容不⽤去关⼼太多,那些确实不是我们程序员考虑的。⽽SaaS我们只需要知道⽬前⽐较好⽤的SaaS有哪些就⾏了,举⼀个例⼦,我们如果想做⼀个旅游⽹站,⾥⾯⽤到了天⽓预报的功能,没有必要我们单独做⼀个这样功能,我⼀个接⼝好⽤的天⽓预报的SaaS,使⽤他的服务,然后融⼊到我们的旅游⽹站就OK了,再如果我们想通过短信提醒⽤户,那我们我们就使⽤短信发送的SaaS等。剩下的就只剩下PaaS了,如果我们想把精⼒全部放在软件开发⽅⾯,不想再考虑什么硬件负载,⽹络连接,⿊客攻击,平台兼容,环境搭建这些,那么PaaS绝对是⾸选,甚⾄你
看不到“我的电脑”,“IIS”看到的就是PaaS供应商为你提供的专业界⾯,简单实⽤。
那么下⾯来看看,我对⼏⼤云计算平台做的对⽐吧:站在程序员⾓度,我们只考虑⼀下⼏个⽅⾯:是否提供云服务器(虚拟机)、应⽤程序引擎、开发环境(语⾔)、数据库⽀持等。
百度云
⽹址:yun.baidu
云服务器:⽆
应⽤程序引擎:BAE
开发环境
Node.js
PHP
Python
Java
Static
云数据库
MySQL
MongoDB
Redis
其他服务
语⾳识别
⼈脸识别
百度翻译
百度地图
云推送
备注
很成熟
后台硬
阿⾥云
⽹址:www.aliyun 云服务器:有
应⽤程序引擎:ACE
开发环境:
PHP
Java
云数据库
MySQL
SQL Serve
其他服务
阿⾥系应⽤的良好对接备注
很成熟
后台硬
腾迅云
⽹址:www.qcloud 云服务器:有
应⽤程序引擎:即将推出开发环境(预计):PHP
Java
云数据库
MySQL
其他服务
腾迅系应⽤的良好对接备注
收费较⾼
后台硬
新浪云
⽹址:sae.sina 云服务器:⽆
应⽤程序引擎:SAE
开发环境
PHP
Java
Python
云数据库
MySQL
其他服务
短信服务
邮件发
分词
⼈脸检测
有道翻译
地理信息
语⾳识别
⾳频⼆维码
备注
国内⾸家
盛⼤云
⽹址:andcloud
云服务器:有
应⽤程序引擎:CAE(Beta)开发环境
PHP
Ruby
Java
Python
预计
云数据库
MySQL
MongoDB
其他服务
暂⽆
备注
后起之秀
基于:CloudFoundry
微软云
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论