私有云已经逐渐成熟落地,不同的企业在私有云的道路上会遇到不一样的问题,为了能更好的解决大家在不同阶段遇到的实际问题,社区组织了一场为期一周的"有问必答”活动:“私有云建设(评估分析——技术路线选型——架构规划——建设实施)专场答疑”,邀请私有云建设方面的专家线上解答。

以下八个问题是在企业云建设之路上普遍会遇到的难点,其解答分析供大家参考。


问题一:在虚拟化建设基础之上,三个私有云建设方向的选择探讨?

我们都知道,虚拟化和云计算是不同的,当虚拟化的规模与日剧增,对自动化、标准化、流程化和服务质量需求的迫切性达到一定程度后,我们会选择开展企业私有云建设。

但是私有云建设目前大致存在三个方向:

1.在原虚拟化的基础之上,采用现成大厂商提供的各级(IAAS、PAAS、SAAS)云管理平台产品,进行虚拟化的统一接入、统一管理和统一流程。

2.在原虚拟化的基础之上,利用标准开源的框架,如openstack,Kubernetes,根据企业自身需求,量身开发属于自己的云计算需求。

3.在原虚拟化的基础之上,从基础框架到软件需求全部根据企业自身需求,量身开发,更加贴切企业实际,安全系数高,可靠性强。

对以上私有云建设三个方向有何见解?企业究竟该如何选择方向?


回答: 

建议如下:

商业银行选择那个路线,还是需要看自身的战略规划和人员素质能力的。这两个路线主要区别如下:

开源私有云:代码自助可控,平台兼容性、定制化能力强,但需要具有大量的人员和财务投入,并且是持续不断的投入,人员素质和财务一定要跟上,同时,开源产品的版本迭代快,健壮性不够,方向性不明确(没准大家一股脑换了一个框架\\\\产品),这样带来的纠错成本很高。总之,自身利用开源搭建和开发私有云,对自身能力带来的很大的挑战,要求企业能够打持久战,并能够不断的在社区中丰富和汲取养分。还有一层,就是开发、维护都有自身完成,无第三方风险转嫁。

商用软件:缺点大家很清楚,容易被厂商绑定,兼容性差,定制化差,随着规模的扩大成本增长明显,但特点是实施周期短,对于企业本身的人员素质较自开发的情况要求低很多,主要是产品经理和用户的角色。并且对于系统的维保、OLA可以通过商务的方式转嫁部分风险。比较适用于企业规模不大,求尽快上云的情况。

最后说一点的是,很多商用软件都是基于开源私有云搭建而成的,可以考虑两者优势结合,通过开源的方式增强开放性,通过商用的方式减少自身建设成本。

目标是第三点,但要求企业自身的能力加强,可以考虑基于开源的商用产品,并且要求足够开放,逐步积累经验,慢慢做到2个并存,逐步代替。


问题二:云与虚拟化的区别是什么?云多了什么?

1:达到什么样的硬件规模,才有上私有云的必要?

有几百上千那是上,有的10台 20台 也是上。每个企业可能衡量的标准不一样。怎么判断要不要上?

2:已有虚拟化的情况下,上云到底能带来什么样的帮助?

云比虚拟化多了什么?


回答:

多了云服务,一种基础设施封装服务模式。虚拟化提供不了SAAS,PAAS,也提供不了计费、计量、服务开发和自服务定制。

虚拟化只是一种比较方便支持云计算的一种技术手段,并不是云计算。

那么就回到问题,要不要上私有云?其实我们这里分析的是上私有云是有什么诉求,这些诉求是否值得投入,投入产出如何。

上云、云管理的诉求1:有把基础设施强烈服务化得需求,很多时候这种诉求来源于资源规模大,组织结构分工细化,基础设施部门面向多个开发环境,迫切需要通过封装自身的服务,把自身的服务能力说清,把服务运行成本、责任分清,云服务提供式一种良好的方式。诉求2:大规模资源有效利用、批量管理的需求。云计算是规模效益,规模上不去,效益体现不出来,因此,要根据自身的能力和规模,看看是否值得去上,是否能够持续投入。诉求3,也是最重点的需求,供给矛盾是否突出,决定了是否走这条道路,虚拟化环境现在管的很好,很方便,能够满足业务需求,那么,个人认为这个矛盾还没有到要改变生产力的时候,什么时候变呢?基础设施要求的速度现有手段跟不上,不能满足应用快速扩容的弹性能力,不能满足应用更高层面,比如PAAS\\\\SAAS方面的需求,或者说需要通过标准手段对架构管控,海量运维。这时就是矛盾突出之时,也是入云日。

因此,在有资金和人力支持的情况下,基础设施利用现有的虚拟化进一步到云计算环境(还要考虑网络、存储、流程的投入),是可以的,但不是必须的,需要考虑自身成本、规模,量体裁衣。


问题三:如何在不做大改变的情况,实现私有云的升级改造?应该关注那些方面的问题?

我们现有已经在使用的虚拟化环境包括POWERVM,VMWARE两种,而且我们的应用环境建设也要求我们只能做私有云方面的考虑,但是按照我们理解的私有云建设要求,必然要求涉及到现有环境中的网络和存储等方面的改造。请教专家,如何在不做大的改变的情况下,实现或者部分实现私有云功能的改造,通过新技术的应用来改善应用环境的各项新要求?也能够提高运维管理等方面的支持。


回答:

如果把服务器作为数据中心中应用的一个点,网络、存储则往往属于面,属于底层基础设施,改造难度和风险较计算资源高。在传统行业中,没有一个新环境的契机,逐步改造,也是很难的。必然带来的网络和存储在搭建私有云中有些技术跟不上。

之前谈过私有云的理解,不一定私有云一定要去用新技术,例如SDN,存储虚拟化,私有云重点是实现面向客户服务模式的支撑,资源的弹性和快速服务能力。在这一点上,一般企业通过采用将现有的环境,向标准化配置努力,大力推动自动化能力开发和建设,使之与云平台结合,同时增强前期容量规划的方式,也可以逐步实现云环境,同时,结合新建的契机,逐步使原来的基础设施更替为更好支持云计算特点的技术及设备。,


问题四: 基于私有云的容灾实现是怎么样的?

私有云的本地容灾、异地容灾,不同数据中心的容灾,OpenStack \ 分布式存储等, 在上述容灾场景 上 有什么具体的方案、成功案例、注意事项?


回答:

这里有个概念,首先大家看看是不是理解一致,我认为灾备事项,在云的环境中,分为两种,一个是灾备云,一个是云的灾备。灾备云指的是该云环境中主要提供的服务都是用于灾备的,云的灾备,指的是将云环境整个备份至灾备中心。

感觉楼主想问的是第二种如何实现,在openstack和分布式存储上,做灾备我了解业界还没有成熟解决方案,而且在云计算行业,尤其在私有云,大家基本上都采用灾备云的方式解决容灾的问题。主要实现是在异地\\同城搭建灾备的云环境,应用采用传统的方式,进行数据级、应用级容灾,由于灾备云环境的弹性,往往这些资源日常被用于和开发测试复用,体现了灾备云的效益,这个在以往,灾备测试复用往往是很复杂,并且只在一些低等级系统中应用的。这样的好处是应用层实现的越多,对底层基础设施的同构要求就越少,可以尽量节约灾备带来的成本负担。也实现了应用可靠性要求与基础架构的松耦合,在这一点上,是明显符合分布式、互联网架构、云计算的特点的。

如果要做云的灾备,基本上还是要涉及数据文件、虚拟机文件的复制、对底层架构的同构性要求也高,分布式存储、云管理平台的备份,更是带来了复杂性。往往这样的灾备,容易导致基础设施稍微变动,对端也要变、上面的应用也受到影响。因此,在提供公有云的厂商中,往往大多也都是采用分布式的部署应用和数据,而没有把整个云采用某一种手段全面容灾的。供参考


问题五: 服务器虚拟化向私有云如何过渡?

目前,公司有几套虚拟化系统,全部采用vmware进行部署管理,每套系统都有自己独立的san网络以及存储。请问下步应该怎样发展才能向私有云过渡,技术上怎样实现?现在我能想到的就是利用svc或者类似设备集成所有存储资源,构建统一的云存储,至于主机计算资源怎样部署还没有很好的规划,难道所有主机都要加到一个大的san网络中么,希望专家给予指点。


回答:

个人意见,偏颇见谅。您可能把私有云的概念理解有些偏差,私有云不代表资源无限、无边界,不代表要把整个数据中心做成一个资源池。

资源池一定是有边界的。无论多大、多小的数据中心,资源池都是有自身的边界。没有必要把SAN全部打通,也没有必要把所有主机加入大SAN网中。

建议方案:资源池的边界是各领域容量边界的有机结合。比如根据云服务的存储容量,计算容量,二层网络需求设计模块化的资源池。4C8G500G的服务,计划这个模块提供多少个,来规划SAN的大小,规划计算资源配比。容量上根据性能预测,留相关的弹性资源。这样来建造几个资源池,会较整个数据中心作为一体化资源损失部分容量,但对于各领域综合实力和集成来讲,是经济的。同时建议资源池之间,要做相关的资源打通技术手段,这个手段可能不是弹性的热迁移,但是要有这个能力,在需要的时候,通过技术手段可以实现部分的资源迁移,以解决一些容量热点问题。

追问:目前根据公司内部局域网络的不同或者业务的不同分别部署有虚拟化系统,这样不管是计算资源还是存储资源应该算是有边界的吧。如何进一步升级为私有云,还需要哪方面的加强?

回复:那么应该就是整体管理这些虚拟化池的云平台了,将需求通过云平台向外提供和向内供给,区分不同的服务请求,在不同区域的资源池自动化的实施


问题六:怎么判断某个系统是否部署在私有云上,有哪些判断指标?

比如:信用评分系统;计费系统等


回答:

最典型一个词来描述“云原生”应用。给您一个参考,敏捷开发的12原则,满足这12原则的应用,基本上在云计算的这种分布式、虚拟化的环境中可以很好的运行。这里,个人认为,最重要的是集群化、支持应用补偿机制、模块化。参考http://12factor.net。

  • 只使用一份基准代码,但是可以部署到多个环境

  • 应用之间的依赖关系要是显示指定的,比如用配置文件描述,不要用隐式的代码关联

  • 配置要用环境变量的方式来提供给应用,而不是用代码里面的常量或者代码相关的方式提供

  • 代码用到的资源,如数据库,消息队列,分布式文件系统等,要作为可attach的资源的方式来提供,不要写死到代码。资源都用资源字符串的形式提供,可从环境变量注射到应用并立即提供服务

  • 严格将编译,发布,生产等环境进行隔离,即使要改动生产配置,也需要用持续发布的方式从编译开始构建并自动发布到生产系统,不要直接更改生产系统

  • 无状态的进程的方式提供服务,应用需要做到自身无状态无共享。如果需要保持状态或者共享,需要使用外置的服务的方式来提供,比如外置session管理器等

  • 使用地址与端口绑定的方式提供服务,例如某个应用服务的消费者只需要知道uri地址与对应的端口,绑定之后即能消费该服务

  • 通过进程模型的方式进行横向扩展,即应用或者微型的服务是可以通过多实例的方式来横向扩展并线性扩展支撑能力的

  • 通常的应用进程要设计成可以快速启动和优雅终止销毁的模式,这样能够方便故障恢复与横向扩展

  • 开发环境与线上环境等价,尽可能的保持开发,预发布,线上生产环境的相同。要能做到持续发布需要尽可能的缩小本地与线上生产环境的差别。尽量反对在不同的环境下使用不同的后端服务

  • 把日志作为事件流来对待,汇总整个的日志来监控平台的应用和环境,这样经过大数据综合分析更能发掘出问题的根本原因

  • 管理或者其他的任务作为一次性进程来对待,例如执行一次性的系统检查,快照一次健康状态等等。


问题七:私有云环境下的统一资源纳管怎样实现?

客户的实际运行环境是十分复杂的,怎样实现不同平台资源的统一云管,从主机、存储、网络不同层面都可以自动化管理,实现自服务?


回答:

这个重点考验的是云平台的开放度。

企业在自身选择云平台的时候要充分考虑自身的环境,有多少类型要涉及,有多少平台要纳管,是否支持异构,是否支持模块化接入。

建议将云平台纳管层面定位为工具框架,实现足够的开放性,标准化接口和统一格式接入,各个领域按标准完成自身自动化封装、自身配置采集、统一视图展示在云平台上,云平台通过流程引擎调度个领域模块,实现操作、纳管。

在实施层面,基本上则是领域负责制,每个想要被纳管的平台(计算、存储、网络等),完成自身的开发和服务的注册。


问题八:上私有云对企业有什么样的要求?

1:运维水平有哪些要求?或者说上了云之后需要具备的素质或努力的方向

对运维团队有哪些典型的要求?制度规范,技术水平,角色人员?

2:标准化程度要求?

制度规范,企业整体IT治理的阶段水平?


回答:

运维水平最大的要求是自动化的运维工具使用、跨领域的协同、运维组织结构调整,和运维文化的转变。

自动化运维工具应对海量运维、最基本的要求就是配置管理的准确性,要不谁敢上去自动化呢?

跨领域协同在私有云建设中很重要,在大企业中,网络、计算、存储、中间件等领域,往往都是独立的部门,有独立的变更和实施流程,但在私有云的设计、和运维上,这必须是一体的,哪怕有个虚拟团队承接。这也就是说,一般情况下,应进行组织结构的调整。

人员要具有面对海量基础设施运维的能力,要有架构团队、需求分析团队。人员要具备运维工具的开发能力,这一点建议百度一下 google的SRE团队,是一个非常好的定位。

谈起标准化,是重中之重,也是私有云最有特点和最有优势的一环,企业架构管控做的好,标准化程度高,决定了云计算的层次,SAAS服务的提供,依赖于高度的标准化。要从物理硬件层、OS\\NET\\DB\\STORAGE各领域完成标准化,然后在继续规范应用的部署模式,逐步规范形成标准,有利于PAAS的提供,真对具体应用标准话,才能完成SAAS的转变。


以上问题由某国有银行系统架构师“傻点好 ”解答,更多问答请点击阅读原文,如有问题也可以在该活动页面中继续提出。


长按下图二维码关注“AIX专家俱乐部”公众号

也可以直接搜索公众号名称“AIX专家俱乐部”或微信号“AIXChina”关注






相关问题推荐