云计算乱局:你真的懂,什么叫做云吗?

“云”这个词已经被说得烂到不能再烂了。云计算,云平台,云+端,云服务,云……但与很多行业里的朋友聊天发现,其实大家对云计算到底是怎么个玩意,并不是太了解。作者今天为大家梳理一下,各种各样的“云”,葫芦里都在卖什么药。

 

云是网络、互联网的一种比喻说法,计算可以理解为计算机,因此云计算的基本模型,就是远程计算服务:用户通过网络连接到计算机上,获取计算服务。而远程计算机,因为规模效应,可以提供比个人计算机强大若干个数量级的计算能力,可以根据用户需求提可供弹性伸缩的计算资源,可以大大降低用户获取相同计算结果花费的成本。这三点其实都很容易理解。

1.计算能力。用户的个人计算机一台智能配置一颗CPU,但云计算远程调用的计算机集群可能有成百上千颗CPU,计算能力天壤之别。

2. 弹性的计算资源。个人电脑想要增加内存,只能重新买一根内存条来安装。而云计算的弹性伸缩能力,可以做到点下鼠标,内存就变成了8G。

3. 低廉的使用成本。由于规模效应,以及按需使用的分配原则,硬件成本低,资源闲置率也低,所以也进一步降低了云计算的使用成本。

 

【云计算的服务形式】

其实这是作为普通用户,或者从业人员更关心的话题:使用云计算的正确姿势是什么?

云计算提供的服务目前有三种方式:IaaS层,PaaS层以及SaaS层。

IaaS(Infrastructure-as-a- Service):基础设施即服务,常见形式是硬件服务器租用。阿里巴巴、腾讯、京东云鼎提供的就是IaaS层为主的云计算服务。IaaS层的云服务配置 灵活,但使用起来更为复杂,适合大型的、后台处理业务复杂的项目选用。IaaS层的服务目前基本已全面收费。

PaaS(Platform-as-a- Service):平台即服务,常见形式是提供Web托管的应用引擎(App Engine)。我估计PaaS层是大家最不熟悉的一类服务,但恰好,PaaS层是最适合多数开发者选用的云计算服务。PaaS层可以被理解为在IaaS 层提供的硬件服务之上,还额外搭建好了服务器环境、中间件、数据库等。开发者用户只需要将网页代码上传部署,网站就可以运行起来了,既降低了IT运维成 本,还省去了大量的开发与运维工作量。PaaS平台目标的产品包括:京东云擎(JAE)、BAE、SAE,目前京东JAE是全免费,BAE、SAE是收费的,BAE根据每日收费,SAE是根据使用服务来收费。稳定性都存在一些问题,JAE、SAE相比而言较为稳定。

SaaS(Software-as-a- Service):软件即服务,常见的形式是提供Web端应用,按需购买使用,著名的CRM服务提供商Salesforce就是此类代表。国内提供 SaaS服务的包括阿里云、京东电商云、新浪云商店等。SaaS层服务目前收费与免费模式平分秋色,还暂无定论。

 

【个人云服务】

个人云服务,其实谈不上真正的“云计算”,因为它只有“云”,没有“计算”。再退一步讲,所谓“云”,其实也就是一个移动网络而已,没有任何可值得神秘的地方。典型案例便是网易(有道)旗下多款产品:网易云相册、云音乐、云阅读、云阅读等等。

甚至有人称,QQ早年与ICQ竞争的时代,ICQ只能将联系人保存在计算机本地,而QQ可以将联系人保存到服务器上,因此QQ是最早的云计算厂商。 诸如此类的说法, 都是由于对云计算知识的极度贫乏而衍生出来的误读。真正的云计算是技术门槛、资金投入、回报周期、现金流等问题都很突出的行业,只有土豪玩家敢全面布局。 稍有实力的玩家可以做一两个点,多数玩家被排除在门槛之外。

 

这一章我把国内、国外的PaaS平台,即应用托管平台进行了测评对比,包括:国外的AWS、GAE和Windows Azure和国内的京东云擎JAE、百度BAE、 新浪SAE、以及阿里云。IBM也宣布了落地国内的计划,IBM的公有云有好几套方案,一个是现有IBM Smarter Cloud的公有云方案,由TSAM和Websphere Pure application这种厚重的企业软件构成,最终在国内落地哪个还不得而知,这里暂不做比较。

 云计算乱局:你真的懂,什么叫做云吗?_第1张图片

云计算乱局:你真的懂,什么叫做云吗?_第2张图片云计算乱局:你真的懂,什么叫做云吗?_第3张图片

  比较可以看出,很明显,国外三巨头(GAE、AWS、Windows Azure)提供服务稍领先,而且彼此之间难分伯仲。从国内来看,新浪推出最早,更新速度较慢,但BAE迅速赶上,功能上反而比新浪更多。云擎JAE为后 起之秀,以全免费(即不通过向资源收费)服务迅速占据市场,阿里云以卖云服务器起家,推出PaaS层功能,目前功能较少。

    

   云计算是浮云,也是趋势,关键是怎么解决用户的问题,用户是谁?PaaS平台主要面向开发者,按技术分类:初级、中级、高级;按用户性质分类:企业用户 (包括创业团队)、个人用户。不同的用户有不同的需求,不论平台提供的服务多与少,关键是否解决用户的痛点。开发者的基本述求就是:软件的设计开发、测 试、交付到线上运行,并提供运维环境(包括:监控信息、日志信息等)。先不说国外的三大巨头,只谈谈咱们国内的四大巨头的PaaS云平台优缺点吧。

    百度BAE:全收费产品,按天计费。服务组件很多,从移动端到WEB端再到轻应用都有布局,而轻应用属于百度战略级别的产品服务(当然这个也受中国移动网 络速度等限制发展缓慢);另外,BAE因为产品线太长,每个服务产品迭代时间较慢,比如APM组件,好几个月没有更新。BAE本身的应用托管服务稳定性有 待提升,偶尔出现应用宕机的情况。

    新浪SAE:收费产品,中国云平台老大哥,2009年上线,目前市场份额占比较大,跨PaaS与SaaS层的应用,面向开发者与小白用户,有自己的应用商 店,目前托管了较多的优秀应用,是一款按服务类型收费的云平台产品。虽然是行业老大哥,用户反馈随着产品的增多稳定性也存在问题,也会出现宕机等情况。

    阿里云云引擎ACE:依托于阿里云IaaS层服务(比如云服务器、云监控等)发展起来的一款应用托管产品,页面风格清新,操作简单,依托万网的域名注册有 先天的优势,不过目前还处于发放邀请码阶段,规模较小,应用托管支持语言较少(仅Java、PHP)。稳定性尚未测试。

    京东云擎(JAE):一款全免费的云平台产品,免费对开发者来说是一个福音,云擎其主要的特点是操作简单,产品迭代速度快,每周更新一次,50%上线的需求来自用户,同时也支持顶级域名绑定!

 

 

剖析云计算中的“共享型数据库”

一、摘要

   随着云计算的出现,出现了很多新的名词,像云数据库、云存储、弹性扩容,资源隔离等词汇。下面就大家炒的比较热的“共享型数据库”做一下解释,给大家剖析什么叫“共享型数据库”。 

二、什么是共享型数据库

  谈及“共享型数据库”,最让我们困惑的是“共享型”三个字。 ”共享型“让我们会想到其反义词 — “独享型”。 没错,“共享型数据库”是对比“独享型数据库”的一种针对用户资源所有权的数据库称谓, 它是伴随着云计算出来之后的一种数据库创新,以节约资源为目的,而一般情况下,自己的服务器或PC机上安装的不与人共享的数据称为“独享型数据库”。很多 人不明白共享型数据库的特点,那么我接下来就简单介绍一下。

三、共享型数据库与独享型数据库的特点对比

     在介绍共享型数据库之前先来分析一下什么叫“独享型数据库”。 “独享型数据库”,顾名思义,“独享”就是自己的数据库,在云计算出来之前,我们几乎没有独享型数据库的概念,因为没有对比,认为所有的数据库都应该叫做 独享型数据库。 “独享型数据库”就比如我们有一块儿地(这块是有地址和门牌号的,好比数据库IP和端口),自己在这块儿地上修一栋房子当仓库(类似于我们创建了一个数据 库), 我们在这栋房子里任意使用房间来存东西 (类似于我们可以创建Table一样)。

      “共享型数据库”是为节省资源、降低开发者成本孕育而生的,很多人一起共同使用这栋楼房,但是这栋楼房不是属于具体某一个人, 是雇主的资产。在云平台的世界里,雇主是提供云数据库的供应商,比如“京东云擎”, 使用服务的人称为“租户”。大家在一起使用一个数据库,你有创建表的权限、修改表的权限,但是没有创建数据库、修改数据库的权限,因为这栋楼是大家的,不 是你一个人的,而你,只是租户之一。当然,你的几个房间会给你一个标签,取个名字,是某某人的(这个名字就是你以后使用数据库的名称); 您的这些房间与其他人的房间也是完全隔离的,彼此是不存在隐私暴露的问题的。

  "共享型数据库”的租户的房租比较便宜,因为按需收费,甚至免费。“按需收费“是云平台的共同特点,因为你的房间是用来存东西的,就类似于你的 数据 库表是用来存数据的一样, 在以前你使用独享型数据库,你自己买了一个云数据库,是一次性投入,好比你花费了一辈子的积蓄来买了一栋房子,但是你真的需要那么房间来存你的东西吗?如 存粮食? 也许你自己都不知道你的东西有多少个东西。 共享型数据库的诞生解决了这个问题,一般的情况下,你有多少东西,你就租多大的房间,房东就收你多少的费用。这种就叫按需付费。有这样服务的云平台有很 多,比如百度的BAE、新浪的SAE、京东的JAE (即云擎)。目前BAE的数据库是按空间收费,SAE是既按空间计费,也按流量计费。京东的JAE目前是25G以内免费。    

四、京东云擎的云数据库的特点

  下面拿京东云擎 (下面简称“云擎”)的云数据库举例做一下介绍。云擎是一 个 应用托管的云平台,属于云计算模型中的PaaS层。京东云数据库分为独享型和共享型数据库两种,在云擎里使用的共享型数据库,因为云擎是一个PaaS平 台,(我这里不介绍PaaS平台,大家去百度、Google一下)。我只插简单说一下其特点,PaaS平台的主要特点就是节约资源,按需分配,所以云擎使 用了共享型数据库。下面就简单介绍一下其特点吧:

  先看看我手绘的一个架构图:

云计算乱局:你真的懂,什么叫做云吗?_第4张图片 

(注:不代表云擎云数据库真实架构,只为说明清楚问题而绘制)

       1. 租户隔离。 多个租户共享同一数据库实例必然需要一个有效的隔离方案,防止一个用户的慢查询请求或恶意请求影响其他用户访问。这里的隔离实现方式是通过JProxy层 对用户所有的访问进行了拦截,并根据用户访问的数据表索引信息等,对用户执行该请求所需资源进行预判,并拦截掉恶意的请求及影响其他用户的请求。同时为了 精确控制每个用户的资源使用,整个系统针对用户使用的连接数,内存占用容量,磁盘空间使用情况,带宽流量等都做了有效的记录和监控并根据用户的配额进行控 制。

       2. 集群路由信息高一致性保障。整体集群采用经典的弱中心化集群结构,在满足集群高性能的基础上同时具备足够的可控性,JManager管理整个集群路由信 息,并通过多个Slave避免单点故障,当路由变更时,JManager首先同步路由变更信息给自己的Slave,然后才会同步所有的JProxy,避免 路由变更时JManager挂掉导致路由不一致。

       3. 高可用保障。整体集群所有节点无单点,用户的数据库会通过zookeeper做主从的高可用,如果用户主库挂掉,会自动切换至从库,并重新绑定 floating ip到从库,不会影响对用户的服务。(floating ip知道什么意思,想做架构师的朋友可以搜一下,这里不做累述)

      4. 用户数据库无缝升级扩容。当用户的数据库数据增长超过指定配额时,用户可以选择升级数据库,系统会自动根据资源池使用情况将用户数据库迁移到比较空闲的实 例上,迁移过程中并不会影响用户的服务。通过定时自动为用户数据库做快照的方式,结合数据库binlog同步工具,来帮助用户实现增量备份,迁移的工作也 是依赖于以上这些工具完成的。

      5. 共享型数据库基于安全方面考虑,通过jproxy对有潜在安全风险的数据库操作语法进行了限制,不如不能使用Create database,刚才提到了这栋房子除了您在用,别人也在用,你只有这几个或者几十个房间而已,你只能在这几个或者几十个房间里瞎搞,不能去别人的房间 胡来!

云擎的云数据库网址是:http://jae.jd.com  ,对这方面感兴趣的童鞋可以看看,目前是免费使用的。 

五、总结

  云计算出现以后,为企业、创业团队、个人带来了便利, 那个自建机房、购买或者租用服务器搭建环境、中间件、部署应用,搞定域名而浪费大量人力物力的时代,我相信在不久的未来可能会渐行渐远; 按需付费、方便快捷的互联网服务让云平台成为未来软件服务市场的宠儿, 而共享型数据库也会逐步体现其价值,迎接崭新的明天,相关的人才需求也会紧随其后。 预祝中国的云计算有广大的发展空间,越来越多的人才为其服务!

转载于:https://www.cnblogs.com/weixing/p/5160661.html

你可能感兴趣的:(数据库,操作系统,java)