林源详解青云基于IaaS的PaaS服务策略
- +1 你赞过了
【天极网云计算频道】青云QingCloud作为一家国内云计算提供商,其最大的特色就是追求技术的卓越。三名创始人都是比较偏技术派,注重后端技术开发。青云QingCloud CEO黄允松主要是负责整体的框架设计,而IaaS偏后端的部分主要由甘泉负责,他也是青云QingCloud整个技术的领导者。而今天接受我们采访的青云QingCloud联合创始人兼架构师林源则主要负责中间层,主要是API层。
在近日召开的青云QingCloud Redis缓存集群服务媒体沟通会上,林源为我们详细讲解了青云QingCloud推出Redis缓存服务的来龙去脉,由此我们也可以窥见青云QingCloud对于未来云计算趋势的思考。
在2014年12月18日,QingCloud推出了Redis缓存服务。QingCloud此次推出的Redis高性能缓存集群包含多个缓存节点,支持一主一从和一主多从的架构,并提供可持久化和自动备份服务,确保用户数据的快速读写和高可用性。Redis是QingCloud推出的第一款缓存服务,搭建在QingCloud稳定、可靠、安全的IaaS之上。
林源表示,QingCloud拥有的功能更多的还是集中在IaaS层,就是最基础的计算、存储、网络和安全,但这些对用户来说是远远不够的。除了计算资源外,他们还要在上面搭建自己的服务,对用户来说门槛最高的是跟数据相关的东西。比如前端的Web、Apache很简单,用户自己可以解决,但是跟数据相关的,比如数据库层面的技术会比较难。
从2014年下半年QingCloud开始提供PaaS服务,最新上线的、偏PaaS的第一个产品就是RDS(关系型数据库服务),即MySQL服务,就是要解决用户比较困难的问题。有了数据库只解决一半的问题,因为数据库最终还是会依赖磁盘读数据,所以它是有瓶颈的。一套完整的架构,除了数据库之外,中间还需要缓存,我们需要把产品做的更全面。所以QingCloud推出了Redis缓存服务。
林源接下来详细讲解了QingCloud Redis集群服务的特点,首先QingCloud提供的Redis是一个标准的版本,版本号是2.8.17版本,跟之前推出的MySQL服务一样,我们提供的是标准版本,用户之前就用Redis的话,他可以完整迁移过来。我们做的事情是给他提供了一个更好的Redis服务,如果他不用我们的服务,就意味着他需要自己搭建一个Redis、自己维护,这是需要很高技术门槛、耗费很大精力的事情。我们所做的就是给他提供一个高可用的、稳定的Redis服务,而且我们可以在整个运行期间提供各种各样的监控和管理手段,降低他们在这方面运维的开销和成本,让用户最终可以花更多的时间在更有意义的事情上(比如业务本身)。
总结一下QingCloud Redis缓存集群服务的特点:
一是我们提供的Redis是一个集群服务。用户得到的Redis是有集群概念的,集群的节点可以任意选择,可以有一个主节点和多个从节点。它的目的是可以随着负载增长,用户可以随时扩张或者收缩节点的个数,以满足业务需求。
二是扩容,我们提供了在线扩容的能力。在运行过程中,Redis的工作压力可能会增长,主要会涉及到两方面的扩容,一个是横向扩展,另一个是纵向扩展。横向扩展很简单,我们是集群服务,它可以增加节点扩充它读的能力。还有一种就是内存不够,想增加怎么办?可以在线扩容,叫纵向扩展。我们把这两种扩容能力提供给用户,相当于用户可能在界面上通过简单的操作,甚至直接通过API的方式就可以让整个系统在线上的运维变得非常简单。
三是备份。所有数据库,包括缓存、MySQL,它都跟数据有着紧密的关系,数据对于用户来说是很重要,所以我们提供了备份功能,既有自动备份,也有手动备份,完全看用户的需求进行选择。我们通过多节点的方式保证集群的可用性,同时我们通过备份的方式,避免客户在生产过程中的误操作造成灾难的发生,以确保数据的安全。
谈到安全性,备份是其中一点,安全涉及到数据安全和业务安全。数据安全我们通过备份方式解决;业务安全,我们知道QingCloud有一项比较有特点的功能,就是私有网络,我们在公有云上可以给客户提供二层隔离的私有网络,它跟其他用户的网络是100%二层隔离的。我们的Redis集群,包括之前提到数据库的集群都要运行在私有网络里。所以在业务安全的层面,我们可以通过私有网络做到保障。
对数据的保护,QingCloud有两个层面的方式,对于用户所有落地的东西,QingCloud会保证你的数据都在。因为所有落地的数据不单单存在当前的物理机,还是依赖我们的块存储存放的,会有多个副本,在灾难的情况下,我随时可以恢复你的数据,保证你数据不丢。备份解决的问题是什么?误删。这是两个层面的问题。我们不会认为用户的数据是不重要的。
用户所有的存储数据,最终肯定落到虚拟磁盘上。在我们物理级的层面来说,虚拟磁盘都是块设备,都是二进制的文件,从我们自己QingCloud的管理员来看,我们无法看到里面的数据,这保证了安全。从用户层面来看,我们一直强调要提供私有网络和二次隔离的功能。用户不需要对外开放的业务,都应该放在二层网络隔离起来。比如数据库跟web之间的交互,没有必要放在公网上进行,可以在私网就行了。你需要开放的仅仅是80端口而已,这样的话多了一层保障。没法100%保证安全问题,只能在我们想到的范围内,我们把能做的事情都做了。
剩下就是跟监控相关的,运行过程中肯定需要监控,我们提供大量的实时数据(如上图)(每10秒钟刷新一次)。一般用户在Redis运行过程中感兴趣的数据,比如内存使用量、QPS的情况、每种类型Key的个数、操作次数、网卡进出流量,总之用户所想到和关心到的所有数据,我们都通过图表的方式展现出来。用户可以通过API的方式,也可以在我们后台上查看,可以随时随地知道Redis当前运行的状况。有了监控肯定不够,还要加上告警,用户可以对每种关心的维度或者meters设置各种各样的阈值,当触发阈值的话,可以通过短信或者邮件的形式给用户通知。接下来我们会做一件事情,我们要提供Auto Scaling的服务,这是一个通用的框架,在告警之外有了Auto Scaling的功能之后,我们可以做更多的事情,比如可以触发集群的扩容等。
还有,如果把我们上线的Redis成为1.0的话,我们这几天要发布1.1的版本,增加一个数据迁移的功能。用户总有现有的数据要迁到Redis集群上,我们会提供一个很方便的工具,帮用户做这个迁移,他们现有的数据很容易迁到我们的集群上。Redis缓存集群服务从特点和特性就是以上这些。
林源在介绍完青云QingCloud Redis缓存服务后,也谈了QingCloud未来的开发计划。他表示,因为仅有IaaS是不够的,QingCloud还要在PaaS上做更多产品出来。QingCloud现有的服务是MySQL和Redis的服务,这肯定是不够的。在现有的数据库层面,我们要补充更多的服务。我们接下来要做的PostgreSQL,预计到2015年1月就会提供相应的RDS。除了Redis外,还有一种大家经常用的缓存是Memcached,也会在一月份上线,我们会补齐现有的数据库产品。这些是跟数据相关的。
第二个,我们会提供Auto Scaling服务,功能跟AWS一样,但是我们会做得比他们更强大。还有,Oracle RAC也将在未来一段时间提供。由于Oracle RAC的性能优化需要与SAN存储相结合,据称,青云将在2015年1月左右发布一个名为Virtual SAN的IaaS服务。这是一个将青云中的特定存储资源视作一个块设备提供给数据库应用。
第三个是跟数据处理相关的。用户使用云服务首先消耗计算资源,再落地存储。在此基础上我们会给用户提供大数据分析的工具,就是一整套大数据分析的框架,可能包括Zookeeper、队列服务(Queue Service)、Hadoop集群。
林源强调,QingCloud是国内唯一一家把Redis搭建在自己的IaaS上的。包括我们的数据库也是一样,提供这种服务的厂商也有一些,他们很多的做法是直接在硬件上做Redis或者MySQL,我们的方式不太一样。因为我们的IaaS已经做得很好了,我们的性能足够支撑,所以我们的Redis和MySQL应该直接在虚拟化层面做,可以利用虚拟化层面的高可用特性。而且QingCloud可以将虚拟化的磁盘、内存等性能做到物理资源的水平,而且虚拟化的好处是更富弹性,在扩展性和可用性方面的优势是巨大的。
林源最后表示,QingCloud愿意跟第三方合作,包括安全厂商、CDN厂商。跟我们底层系统耦合紧的,比如IaaS级别的VM监控,QingCloud就自己做。在涉及到业务层面的监控,跟我们系统不是特别耦合的,合作伙伴擅长的,就会跟第三方合作;他们擅长的是很多应用层面的监控,而且他们做得很通用,就完全可以接进来。比如Redis监控,合作伙伴做得比我们好,用户可以直接用他们的,不用我们的。QingCloud始终保持开放的态度。
最新资讯
热门视频
新品评测