有关云架构建设和选型的思考

最近在负责公司内部私有云的建设,一直在思考怎么搞云计算,怎么才能够把云架构设计得好一些。本文尽量全面的列出了云架构建设和选型的考量因素。

我们主要从五个层面逐步评估云架构的建设和选型,分别是:

行业生态

企业需求

云计算的能力

潜在的挑战

如何建设

一、行业生态

计算机云经过多年的发展,由一开始的概念,慢慢发展成熟并能够推向市场,提供多种多样的服务,市场空间非常之大。

在云的发展过程中,亚马逊经过多年的深耕积累,发展成为了云行业的标杆企业,甚至可以说是建立了云解决方案的标准。之后,Google、IBM、思 科、Oracle、HP、Intel、华为等IT巨头先后参与进来,在软件和硬件方面提供专门的面向企业的解决方案,纷纷打着云计算、大数据、智能等概念 来吸引客户,拓展市场。

另外一方面,基于大数据、存储、云服务等,市场上也先后出现一些创新企业,如Dropbox、Rackspace,国内的七牛、青云、UnitedStack等。

当前的IT世界有一个常见的现象,就是只要某一个领域有一套成熟的商业软件,就同时也会有一套开源的解决方案,如Windows之于 Linux,Google的MapReduce、GFS、大表之于Hadoop等。在云领域也存在相应的开源解决方案,目前最为著名的有 Openstack和Cloudstack。开源行业的领导者RedHat此前

在企业操作系统的市场已经做的很好,RHEL的各个版本在企业级系统市场有相当高的市场份额。现在的RedHat特别重视云的发展,并将云操作系统作为未来10年的发展战略重点,在最近两年先后收购了Gluster以及Ceph等存储企业,以壮大自己在云领域的影响力。

随着云领域的发展,市场上也逐渐形成了面向企业提供硬件和软件产品的提供商、面向企业提供服务的提供商、面向市场初创企业提供基础服务的提供商、面向个人提供业务服务的提供商等一系列行业生态。

二、企业需求

需求是什么,也就是what people need这个问题。我们所说的people,即人或者公司实体,该对象的划分并不单纯,可粗浅的从三个角度来进行分类:

从企业角度看:

1)小型企业

小型企业的技术储备不多,人员缺乏,没有独立的IT部门,但是在构建自己的IT系统过程中需要购置各种产品和服务,包括服务器、网络、CDN等等,而要完成这样的工作,需要投入大量的人力和财力。通过购买云服务可以更加方便快捷,简单的完成系统的搭建。

2)中型企业

中型企业有一定的规模,需要在信息化、管理方面有所注重,一般内部都设立IT部门,但是和小型企业一样,IT部门大多数都是为了解决自身需求,很难能够有一个完整的解决方案。这样在服务器、网络、CDN、企业管理软件等等的需求还是比较大的。

3)大型企业

大型企业人数规模在万人以上,特别是高新企业,都有一个实力不错的IT支撑部门,通过部门就可以完善对企业内部信息化建设。

从企业性质范围来看:

1)传统行业企业

传统行业大多数是以服务业、制造业、生产性企业为主,在IT信息化方面相对比较落后,属于重资产行业。

2)互联网企业

互联网行业是基于IT作为解决方案的

3)IT服务企业

以销售软件、硬件、以及技术咨询服务为主的企业。

针对市场中存在的企业、个体等的需求特点,市场上一般对软件服务进行如下分类:

提供软件的服务,解决企业内部信息化问题,如ERP系统、进销存管理系统、人力资源管理系统、行政系统、财务系统等等。(SaaS)

提供平台服务,解决行业共性问题,将SaaS迁移到云端,提供平台类的服务。如淘宝的开放平台、Facebook的开放平台、基于Salesforce的销售系统、云笔记、云盘等。(PaaS)

提供基础设施服务。基础设施包括软件和硬件方面的,包括存储、虚拟机、网络、防火墙、缓存、负载均衡、数据库等等。(IaaS)

从企业内部人员角色来看:

企业内部,尤其是互联网企业内部,一般将角色分为如下几类:

开发

测试

运维

DBA

产品

项目管理人员

客服

业务人员(销售、市场、BD、人力资源、行政等等)

不同的角色对于软件服务的需求也是不同的,下图大致描绘了互联网行业各个角色对云平台的需求:

三、云计算的能力

云计算能够解决什么,也就是what cloud offer这个问题。目前的云计算在应用中主要提供了以下八个能力:

封装:将计算能力和软件放在云端,可以减少重复建设,将通用的服务封装起来,达到重用,减少资源的浪费,提高生产效率,并提供成熟的解决方案。 在云端,云提供商可以建立软件的标准,提供发布包的方式,用户可以通过软件包的方式进行购买使用,譬如目前开源领域的Docker。

安全:云计算将数据和存储,软件逻辑都集中于云端,更能方便的统一构建安全体系,通过Iptables实现网络过滤,并在服务端做安全组件实现安全策略,并能够通过海量集群应对DDOS攻击等。

灵活:云计算提供灵活的软件和服务端架构,用户不再需要自己构建应用运行环境,对资源的使用能够按需购买,并能够升级,并自由组合。举例来说:用户可以选用不同的存储方式(mysql、oracle,文件系统,kv等等)

性能:通过集群的能力和云端的集成能够提高集群的性能处理,通过专业的云解决提供商,在云端的性能扩展更加方便,技术上更加专业。譬如服务端可以在用户毫不察觉的情况下完成添加机器、存储扩容等操作。

伸缩能力:在存储和计算能力方面提供弹性的资源管理,能够按需使用,在使用过程中,可以通过动态的添加和减少物理资源,来提高响应能力或节约成本。

运维:云计算在IaaS角度来看,重要的是运维,能够将运维更加集中化管理,并完全智能化,大大降低人力成本

充分利用物理资源:通过云建设,能够将物理资源进行虚拟化处理,屏蔽物理硬件底层,并能够完成物理资源软化进行逻辑管理和分配调度

大数据:大数据保存于云端,能够提供数据分析和智能处理

当然,云计算还有很多很多好处,给我们带来很多想像空间和IT技术的革命。

公有云与私有云

行业内将云分为“公有云”和“私有云”。在我们之前的需求分析过程中,大致了解了云的需求,“公有云”和“私有云”的差别最大的是需求的差异,因为需求的差异,导致了技术方案和产品决策的差异。

公有云需求上由于用户多种多样,导致需求存在不一样,特别需要更多的定制化,譬如:

存储个性化

云存储方面大概分为块存储和对象存储,块存储适合于vm运行环境,对象存储提供了KV的访问方式提供了海量扩展存储文件的能力,用户可以根据自己 的需求选择不同的存储方式,选用不同的容量。在存储物理介质方面来说,因为存在不同的物理介质,对性能和安全的要求,可以采用传统的SATA硬盘,或者 SSD存储等。

内存使用

内存方面,需要提供动态扩展内存的方式,用户能够自由扩展

网络的定制化

公有云用户需要能够构建自己的内部网络,并能够自动组网

数据库使用

公有云的用户分属不同的公司团体,各自的技术差异存在,因而有不同的数据库类型,譬如mysql,sqlserver,oracle等等。并能够定义存储大小,内存运行大小等等。并提供数据备份、恢复、高可用服务等

缓存使用

公有云的用户可以选择不同的缓存方式,譬如增加CDN,采用不同的KV缓存方式并选择容量。

安全问题

公有云对于云的安全和私有云差别较大,私有云大多数在安全问题上不需要公有云那么严格,大多数是内部系统之间的交互

以上仅限于IaaS层面的考虑,当然对于公有云来说还有很多细化的个性化需求,例如:数据分析,业务对接服务等等。

四、潜在的挑战

计算机自从诞生以来,一直按照冯.诺伊曼的体系发展在硬件的基础上的操作系统,也分为网络协议体系的实现、内存管理、文件管理体系等等。大致的抽象图如下:

要建设云,有几个重要的问题需要解决:

管理问题

云计算的实施首先要解决运维的问题,在云环境下后端是大规模数量的物理节点的集群,对于同时维护数以千计算的计算节点,以及部署结构的复杂,需求 的变化,光靠增加人力也难以解决复杂的问题。从而需要构建高效的计算资源管理系统,能够灵活简单的管理运系统,并能够及时的发现问题。

计费问题(公有云)

对于公有云而言,因为是面向公众的,必然产生费用的问题,常用的收费方式多种多样,也因为产品的不同而计费方式不同,譬如:网络、存储、cpu、数据库容量等等

资源隔离问题

云计算运行在云端,是通过虚拟化体系建立的,虚拟化是建立在硬件之上,多个虚拟化资源同时运行于同一节点(host)中,存在着资源的共享争用问题,

这样就存在着资源使用的公平性问题,导致同一Host上的资源使用相互影响。为了使得彼此资源使用相互独立,我们要建立相应的隔离机制。资源的隔离包括:存储、内存、cpu、数据库、网络等,其中网络是最难控制的。

安全问题

在云端的应用和基于客户端的安全,面临的环境不一样,客户端方面大多数是病毒问题引起的,而在云端,也存在一些服务器攻击的问题,以及数据相互独立相互影响的问题,以及一些服务端编程的安全问题等。

性能问题

对于云来说,需要保证云端的性能问题,包括CPU处理性能,IO处理能力,资源的就近访问,资源数据同步的速度,还需要解决系统底层的性能问题,包括文件处理Cache,存储介质的优化,采用SSD等,或者采用SATA+SSD的混合方式节约资源和降低成本。

存储问题

对于云来说,由于云端是将客户端的数据和运算转移到云端,必须要有足够的存储能力以及足够稳定的存储系统,保证用户数据的安全,对于存储来说,有 提供VM虚拟机运行环境的block device(块存储),以及提供KV方式的对象访问存储,这些都需要保证数据复制、数据读写访问的性能和数据永久可用的能力

网络问题

对于公有云以及私有云的一些应用场景,需要能够提供网络的逻辑隔离(SDN)或物理隔离,以及对网络的访问灵活问题。构建虚拟化网络,由于物理条 件的限制,我们不得不从L2-L4层进行处理,我们常用的方式 是:bridge,vlan,gre,sdn(openflow,opendaylight),以及一些厂家的产品等等。

高可用问题

高可用问题是在分布式系统中必须要处理的问题,正因为集群的问题,我们必须要从多方面考虑解决的问题,包括保证云管理系统的高可用性,存储介质的高可用性,网络的高可用性,虚拟机高可用问题等等。

提高资源利用率问题

对于物理资源的虚拟化,我们有很多种解决方法,KVM、Vmware、xen、Hyperv、LXC等等,在HVM的方式下,对于VM本身的启动 需要占用大量的内存、cpu和存储资源,导致系统内存和cpu使用有一定的浪费,基于LXC的解决方案因为是机基于Host OS进程,通过namespace的方式进行隔离的,是一种轻量级的实现,能够在资源初始化,资源利用率方面能够最大化,对于各个应用场景来说,我们可以 选用合适的解决方案。

五、如何建设

58同城经过多年的发展,探索了一条适合自身发展的技术架构体系。随着业务和技术的发展,团队规模不断壮大,在技术和管理上面临越来越多的挑战。在 项目需求管理,开发效率、代码管理和质量建设,测试,线上发布,运维管理等方面需要有一套完整的解决方案,来提升公司的协作能力和整体能效。

58同城目前所有的应用在线上都是跑在物理机器上,采用物理机的方式,一方面会导致服务器资源得不到充分和合理的使用,譬如:有些物理机器cpu使 用长期在10%以下,有些内存使用剩余很多;另外一方面,由于互联网的特点,存在着时段内的访问高峰问题,需要解决资源使用的伸缩问题;基于以上问题,架 构部对现有的技术体系进行梳理和分析,采用资源虚拟化的方式进行私有云的建设,并在这基础上,完善公司整体技术体系,包括:开发、测试、上线、运维等一系 列自动化和智能化方面的建设。

私有云的目标

提高物理资源的利用率

一套云管理系统,降低运维的复杂度,提高运维工作效率

构建灵活的开发、测试集成环境

提供海量的存储体系

建立完善的监控体系

建立基础应用环境、方便测试

统一架构

智能资源调度

实施方案:OpenStack

对于云计算来说,也存在着多种解决方案,如CloudStack和OpenStack等。在两种方案的比较之后,我们最终选择了OpenStack的解决方案。主要是出于以下几点原因:

OpenStack的社区成熟度:OpenStack经过几年的发展,社区已经越来越成熟,很多大公司都参与进来帮助完善,红帽公司未来十年也将OpenStack作为发展的战略重点。

架构设计的选择:OpenStack采用了Python语言编写,并且设计上采用组件化的方式,各个组件独立发展,并相互解耦

OpenStack提供了更加完整成熟的方案,能够满足多样的需求,同时已经有不少公司采用,已经经过生产上的验证

文档问题:OpenStack文档化做的不错,网上能够找到多种多样的问题处理办法

人员招聘问题,经过多年的发展和市场的培育,了解OpenStack的人越来越多,对于开发维护的人才建设和招聘相对成熟一些。

发展比较迅速

下图是我们大致的架构规划

文章观点仅一家之言,欢迎大家一起交流探讨。我计划在下一篇文章《58同城私有云建设实践》中详细介绍我们私有云建设的思路和过程,中间遇到的问题,希望跟大家一起探讨。

来源: infoQ

原文: http://www.infoq.com/cn/articles/cloud-structure-thinking     作者: 罗立树

转载本文请遵循原文要求

最近在负责公司内部私有云的建设,一直在思考怎么搞云计算,怎么才能够把云架构设计得好一些。本文尽量全面的列出了云架构建设和选型的考量因素。

我们主要从五个层面逐步评估云架构的建设和选型,分别是:

行业生态

企业需求

云计算的能力

潜在的挑战

如何建设

一、行业生态

计算机云经过多年的发展,由一开始的概念,慢慢发展成熟并能够推向市场,提供多种多样的服务,市场空间非常之大。

在云的发展过程中,亚马逊经过多年的深耕积累,发展成为了云行业的标杆企业,甚至可以说是建立了云解决方案的标准。之后,Google、IBM、思 科、Oracle、HP、Intel、华为等IT巨头先后参与进来,在软件和硬件方面提供专门的面向企业的解决方案,纷纷打着云计算、大数据、智能等概念 来吸引客户,拓展市场。

另外一方面,基于大数据、存储、云服务等,市场上也先后出现一些创新企业,如Dropbox、Rackspace,国内的七牛、青云、UnitedStack等。

当前的IT世界有一个常见的现象,就是只要某一个领域有一套成熟的商业软件,就同时也会有一套开源的解决方案,如Windows之于 Linux,Google的MapReduce、GFS、大表之于Hadoop等。在云领域也存在相应的开源解决方案,目前最为著名的有 Openstack和Cloudstack。开源行业的领导者RedHat此前

在企业操作系统的市场已经做的很好,RHEL的各个版本在企业级系统市场有相当高的市场份额。现在的RedHat特别重视云的发展,并将云操作系统作为未来10年的发展战略重点,在最近两年先后收购了Gluster以及Ceph等存储企业,以壮大自己在云领域的影响力。

随着云领域的发展,市场上也逐渐形成了面向企业提供硬件和软件产品的提供商、面向企业提供服务的提供商、面向市场初创企业提供基础服务的提供商、面向个人提供业务服务的提供商等一系列行业生态。

二、企业需求

需求是什么,也就是what people need这个问题。我们所说的people,即人或者公司实体,该对象的划分并不单纯,可粗浅的从三个角度来进行分类:

从企业角度看:

1)小型企业

小型企业的技术储备不多,人员缺乏,没有独立的IT部门,但是在构建自己的IT系统过程中需要购置各种产品和服务,包括服务器、网络、CDN等等,而要完成这样的工作,需要投入大量的人力和财力。通过购买云服务可以更加方便快捷,简单的完成系统的搭建。

2)中型企业

中型企业有一定的规模,需要在信息化、管理方面有所注重,一般内部都设立IT部门,但是和小型企业一样,IT部门大多数都是为了解决自身需求,很难能够有一个完整的解决方案。这样在服务器、网络、CDN、企业管理软件等等的需求还是比较大的。

3)大型企业

大型企业人数规模在万人以上,特别是高新企业,都有一个实力不错的IT支撑部门,通过部门就可以完善对企业内部信息化建设。

从企业性质范围来看:

1)传统行业企业

传统行业大多数是以服务业、制造业、生产性企业为主,在IT信息化方面相对比较落后,属于重资产行业。

2)互联网企业

互联网行业是基于IT作为解决方案的

3)IT服务企业

以销售软件、硬件、以及技术咨询服务为主的企业。

针对市场中存在的企业、个体等的需求特点,市场上一般对软件服务进行如下分类:

提供软件的服务,解决企业内部信息化问题,如ERP系统、进销存管理系统、人力资源管理系统、行政系统、财务系统等等。(SaaS)

提供平台服务,解决行业共性问题,将SaaS迁移到云端,提供平台类的服务。如淘宝的开放平台、Facebook的开放平台、基于Salesforce的销售系统、云笔记、云盘等。(PaaS)

提供基础设施服务。基础设施包括软件和硬件方面的,包括存储、虚拟机、网络、防火墙、缓存、负载均衡、数据库等等。(IaaS)

从企业内部人员角色来看:

企业内部,尤其是互联网企业内部,一般将角色分为如下几类:

开发

测试

运维

DBA

产品

项目管理人员

客服

业务人员(销售、市场、BD、人力资源、行政等等)

不同的角色对于软件服务的需求也是不同的,下图大致描绘了互联网行业各个角色对云平台的需求:

三、云计算的能力

云计算能够解决什么,也就是what cloud offer这个问题。目前的云计算在应用中主要提供了以下八个能力:

封装:将计算能力和软件放在云端,可以减少重复建设,将通用的服务封装起来,达到重用,减少资源的浪费,提高生产效率,并提供成熟的解决方案。 在云端,云提供商可以建立软件的标准,提供发布包的方式,用户可以通过软件包的方式进行购买使用,譬如目前开源领域的Docker。

安全:云计算将数据和存储,软件逻辑都集中于云端,更能方便的统一构建安全体系,通过Iptables实现网络过滤,并在服务端做安全组件实现安全策略,并能够通过海量集群应对DDOS攻击等。

灵活:云计算提供灵活的软件和服务端架构,用户不再需要自己构建应用运行环境,对资源的使用能够按需购买,并能够升级,并自由组合。举例来说:用户可以选用不同的存储方式(mysql、oracle,文件系统,kv等等)

性能:通过集群的能力和云端的集成能够提高集群的性能处理,通过专业的云解决提供商,在云端的性能扩展更加方便,技术上更加专业。譬如服务端可以在用户毫不察觉的情况下完成添加机器、存储扩容等操作。

伸缩能力:在存储和计算能力方面提供弹性的资源管理,能够按需使用,在使用过程中,可以通过动态的添加和减少物理资源,来提高响应能力或节约成本。

运维:云计算在IaaS角度来看,重要的是运维,能够将运维更加集中化管理,并完全智能化,大大降低人力成本

充分利用物理资源:通过云建设,能够将物理资源进行虚拟化处理,屏蔽物理硬件底层,并能够完成物理资源软化进行逻辑管理和分配调度

大数据:大数据保存于云端,能够提供数据分析和智能处理

当然,云计算还有很多很多好处,给我们带来很多想像空间和IT技术的革命。

公有云与私有云

行业内将云分为“公有云”和“私有云”。在我们之前的需求分析过程中,大致了解了云的需求,“公有云”和“私有云”的差别最大的是需求的差异,因为需求的差异,导致了技术方案和产品决策的差异。

公有云需求上由于用户多种多样,导致需求存在不一样,特别需要更多的定制化,譬如:

存储个性化

云存储方面大概分为块存储和对象存储,块存储适合于vm运行环境,对象存储提供了KV的访问方式提供了海量扩展存储文件的能力,用户可以根据自己 的需求选择不同的存储方式,选用不同的容量。在存储物理介质方面来说,因为存在不同的物理介质,对性能和安全的要求,可以采用传统的SATA硬盘,或者 SSD存储等。

内存使用

内存方面,需要提供动态扩展内存的方式,用户能够自由扩展

网络的定制化

公有云用户需要能够构建自己的内部网络,并能够自动组网

数据库使用

公有云的用户分属不同的公司团体,各自的技术差异存在,因而有不同的数据库类型,譬如mysql,sqlserver,oracle等等。并能够定义存储大小,内存运行大小等等。并提供数据备份、恢复、高可用服务等

缓存使用

公有云的用户可以选择不同的缓存方式,譬如增加CDN,采用不同的KV缓存方式并选择容量。

安全问题

公有云对于云的安全和私有云差别较大,私有云大多数在安全问题上不需要公有云那么严格,大多数是内部系统之间的交互

以上仅限于IaaS层面的考虑,当然对于公有云来说还有很多细化的个性化需求,例如:数据分析,业务对接服务等等。

四、潜在的挑战

计算机自从诞生以来,一直按照冯.诺伊曼的体系发展在硬件的基础上的操作系统,也分为网络协议体系的实现、内存管理、文件管理体系等等。大致的抽象图如下:

要建设云,有几个重要的问题需要解决:

管理问题

云计算的实施首先要解决运维的问题,在云环境下后端是大规模数量的物理节点的集群,对于同时维护数以千计算的计算节点,以及部署结构的复杂,需求 的变化,光靠增加人力也难以解决复杂的问题。从而需要构建高效的计算资源管理系统,能够灵活简单的管理运系统,并能够及时的发现问题。

计费问题(公有云)

对于公有云而言,因为是面向公众的,必然产生费用的问题,常用的收费方式多种多样,也因为产品的不同而计费方式不同,譬如:网络、存储、cpu、数据库容量等等

资源隔离问题

云计算运行在云端,是通过虚拟化体系建立的,虚拟化是建立在硬件之上,多个虚拟化资源同时运行于同一节点(host)中,存在着资源的共享争用问题,

这样就存在着资源使用的公平性问题,导致同一Host上的资源使用相互影响。为了使得彼此资源使用相互独立,我们要建立相应的隔离机制。资源的隔离包括:存储、内存、cpu、数据库、网络等,其中网络是最难控制的。

安全问题

在云端的应用和基于客户端的安全,面临的环境不一样,客户端方面大多数是病毒问题引起的,而在云端,也存在一些服务器攻击的问题,以及数据相互独立相互影响的问题,以及一些服务端编程的安全问题等。

性能问题

对于云来说,需要保证云端的性能问题,包括CPU处理性能,IO处理能力,资源的就近访问,资源数据同步的速度,还需要解决系统底层的性能问题,包括文件处理Cache,存储介质的优化,采用SSD等,或者采用SATA+SSD的混合方式节约资源和降低成本。

存储问题

对于云来说,由于云端是将客户端的数据和运算转移到云端,必须要有足够的存储能力以及足够稳定的存储系统,保证用户数据的安全,对于存储来说,有 提供VM虚拟机运行环境的block device(块存储),以及提供KV方式的对象访问存储,这些都需要保证数据复制、数据读写访问的性能和数据永久可用的能力

网络问题

对于公有云以及私有云的一些应用场景,需要能够提供网络的逻辑隔离(SDN)或物理隔离,以及对网络的访问灵活问题。构建虚拟化网络,由于物理条 件的限制,我们不得不从L2-L4层进行处理,我们常用的方式 是:bridge,vlan,gre,sdn(openflow,opendaylight),以及一些厂家的产品等等。

高可用问题

高可用问题是在分布式系统中必须要处理的问题,正因为集群的问题,我们必须要从多方面考虑解决的问题,包括保证云管理系统的高可用性,存储介质的高可用性,网络的高可用性,虚拟机高可用问题等等。

提高资源利用率问题

对于物理资源的虚拟化,我们有很多种解决方法,KVM、Vmware、xen、Hyperv、LXC等等,在HVM的方式下,对于VM本身的启动 需要占用大量的内存、cpu和存储资源,导致系统内存和cpu使用有一定的浪费,基于LXC的解决方案因为是机基于Host OS进程,通过namespace的方式进行隔离的,是一种轻量级的实现,能够在资源初始化,资源利用率方面能够最大化,对于各个应用场景来说,我们可以 选用合适的解决方案。

五、如何建设

58同城经过多年的发展,探索了一条适合自身发展的技术架构体系。随着业务和技术的发展,团队规模不断壮大,在技术和管理上面临越来越多的挑战。在 项目需求管理,开发效率、代码管理和质量建设,测试,线上发布,运维管理等方面需要有一套完整的解决方案,来提升公司的协作能力和整体能效。

58同城目前所有的应用在线上都是跑在物理机器上,采用物理机的方式,一方面会导致服务器资源得不到充分和合理的使用,譬如:有些物理机器cpu使 用长期在10%以下,有些内存使用剩余很多;另外一方面,由于互联网的特点,存在着时段内的访问高峰问题,需要解决资源使用的伸缩问题;基于以上问题,架 构部对现有的技术体系进行梳理和分析,采用资源虚拟化的方式进行私有云的建设,并在这基础上,完善公司整体技术体系,包括:开发、测试、上线、运维等一系 列自动化和智能化方面的建设。

私有云的目标

提高物理资源的利用率

一套云管理系统,降低运维的复杂度,提高运维工作效率

构建灵活的开发、测试集成环境

提供海量的存储体系

建立完善的监控体系

建立基础应用环境、方便测试

统一架构

智能资源调度

实施方案:OpenStack

对于云计算来说,也存在着多种解决方案,如CloudStack和OpenStack等。在两种方案的比较之后,我们最终选择了OpenStack的解决方案。主要是出于以下几点原因:

OpenStack的社区成熟度:OpenStack经过几年的发展,社区已经越来越成熟,很多大公司都参与进来帮助完善,红帽公司未来十年也将OpenStack作为发展的战略重点。

架构设计的选择:OpenStack采用了Python语言编写,并且设计上采用组件化的方式,各个组件独立发展,并相互解耦

OpenStack提供了更加完整成熟的方案,能够满足多样的需求,同时已经有不少公司采用,已经经过生产上的验证

文档问题:OpenStack文档化做的不错,网上能够找到多种多样的问题处理办法

人员招聘问题,经过多年的发展和市场的培育,了解OpenStack的人越来越多,对于开发维护的人才建设和招聘相对成熟一些。

发展比较迅速

下图是我们大致的架构规划

文章观点仅一家之言,欢迎大家一起交流探讨。我计划在下一篇文章《58同城私有云建设实践》中详细介绍我们私有云建设的思路和过程,中间遇到的问题,希望跟大家一起探讨。

来源: infoQ

原文: http://www.infoq.com/cn/articles/cloud-structure-thinking     作者: 罗立树

转载本文请遵循原文要求


相关内容

  • 软件解决方案模板
  • XX 公司(局)XX 平台(信息系统)建设 解 决 方 案 XXXX 科技有限公司 XXXX 年 XX 月 目录 第1章 第2章 2.1 2.2 2.3 第3章 3.1 关于本方案 ........................................................... ...

  • 信息化项目建设方案
  • 信息化项目建设方案 一.概述 (一)项目名称. (二)项目性质:新建.扩建.升级改造. (三)项目承担单位及负责人,包括项目建设单位简况.机构职责等概况. (四)项目建设方案编制依据,包括项目提出的理由与过程. (五)项目建设目标.规模.周期. (六)项目建设内容一览表. (七)总投资及来源. (八 ...

  • XX系统建设方案-版本控制-撰写人员-撰写时间
  • 系统建设方案 江西优码创达软件技术有限公司 修订记录 目录 目录 ..................................................................................................................... ...

  • "教育资源共享工程"方案
  • "教育资源共享工程"方案 第一章 工程概述 ...................................................................................................................3 第 ...

  • 人力资源管理信息化建设方案
  • 目 录 一.人力资源管理状况梳理及问题分析.................................. 2 1.福建南平南孚电池有限公司人力资源管理情况简介 ................. 2 2.建南平南孚电池有限公司人力资源管理中存在的问题 ............... 2 3.福 ...

  • 安全方案设计
  • IT 架构 企业的IT 架构情况,本方案主要针对IT 基础架构部分进行规划,并提供选型和部署参考,关于企业IT 业务应用系统部分的规划和建设请参考其它方案. 网络系统规划 当前,企业一般能给信息化方面投入有限.除了人力有限,还缺少专业人才,应用能力.维护能力.开发能力.实施能力等都普遍较弱,这就要求 ...

  • IT部经理的个人简历模板
  • IT部经理的个人简历模板 姓 名: 缑先生 性 别: 男 婚姻状况: 已婚 民 族: 汉族 户 籍: 甘肃-天水 年 龄: 40 现所在地: 广东-东莞 身 高: 170cm 希望地区: 广东-深圳. 广东-东莞. 广东-广州 希望岗位: 计算机IT类-管理/技术支持-信息技术经理/主管 计算机IT ...

  • 公司方案建议书模板
  • X X X 公司 网络信息采集系统 方案建议书 AAA 公司 · 2008年8月 前言 加入世界贸易组织后,中国经济高速发展,行业的竞争也日趋激烈.这种竞争既是产品质量和服务水平的竞争,也是管理水平和成本控制能力的竞争,而信息技术是提高行业核心竞争力的重要手段. 国内.外业内公司在完成了信息网络和业 ...

  • 企业信息化规划论文
  • 论中小型企业信息化规划 摘要:企业信息化的本质是通过持续有效的信息化建设过程,不断提高采购.生产.营销.研发等过程的管理效率和运营水平,不断推动技术创新和管理创新,从而增强企业核心竞争力,提升市场竞争优势,获取良好经济效益.信息化规划则是信息化建设的基本纲领和总体指引,是信息化成功实施的前提和依据, ...