开源云_开源云平台 - CSDN
精华内容
参与话题
  • 技术如今如此如火如荼,开发人员的技术储备,用开源工具是最好的途径。幸运的是,开源许可证几乎成为了开发新技术的标准。 OpenStack OpenStack是一个开源项目,可以创建、管理框架,包括存储,计算能力和...

    云技术如今如此如火如荼,开发人员的技术储备,用开源工具是最好的途径。幸运的是,开源许可证几乎成为了开发新云技术的标准。

    OpenStack

    OpenStack是一个开源项目,可以创建、管理云框架,包括存储,计算能力和网络,以帮助处理从身份管理到数据库部署的所有事情。

    Linux 容器(Docker\Kubernetes)

    Linux容器正逐渐成为一种为云开发应用程序的方法,它依赖于Linux内核内置的功能,作为虚拟机更快的替代品,Docker等项目帮助开发人员开始构建容器,以及用于编排由许多容器化部件组成的应用程序的Kubernetes。

    大数据和网络

    大数据和物联网是云计算资源的量大用户,这里有很多提供应用动力的工具都是开放式开发的。

    还有很多,从传统Linux/Apache/MySQL/PHPweb服务器堆栈到云存储应用到在线编辑器协作的每件事。

     

    展开全文
  • [转]五款开源云计算平台

    千次阅读 2009-11-27 11:57:00
    from:http://labs.chinamobile.com/groups/10215_14723云计算的关键技术:第一虚拟机技术,...在以上的三种服务之上,提供一个整合的平台,用户的硬件资源,软件资源,以及数据资源均可架构在远端的计算之上,从而

    from:http://labs.chinamobile.com/groups/10215_14723

    云计算的关键技术:

    第一虚拟机技术,可以提供虚拟计算机给用户
    第二web service,可以按需的提供标准的软件资源服务
    第三数据即服务,可以提供海量的数据存储,
    第四整合的服务平台,在以上的三种服务之上,提供一个整合的平台,
    用户的硬件资源,软件资源,以及数据资源均可架构在远端的计算云之上,
    从而按需的提供整体的计算解决方案。

      

    云计算是个IT界火热的词汇,开源云计算更是被认为是IT的趋势。我们熟知的几个IT巨头的云计算平台,如亚马逊EC 2、IBM的蓝云、微软的Azure、Sun Cloud等,那么开源云计算的平台又有哪些呢?以下列举了开源中国社区收录的5款知名的开源云计算平台。

      1、AbiCloud企业级开源云计算平台

      Abiquo公司推出的一款开源的云计算平台——“abiCloud”,使公司能够以快速、简单和可扩展的方式创建和管理大型、复杂的IT基础设施(包括虚拟服务器,网络,应用,存储设备等等)。AbiCloud较之同类其他产品的一个主要的区别在于其强大的Web界面管理。你可以通过拖拽一个虚拟机来部署一个新的服务。这个版本允许通过VirtualBox部署实例,它还支持VMware,KVM和Xen。  

      abiCloud架构如下图所示:  

      2、Eucalyptus 开源云计算平台

      Eucalyptus 项目(Elastic Utility Computing Architecture for LinkingYour Programs To Useful Systems)是 Amazon EC2 的一个开源实现,它与商业服务接口兼容。和 EC2一样,Eucalyptus 依赖于 Linux 和 Xen 进行操作系统虚拟化。Eucalyptus 是加利福尼亚大学(SantaBarbara)为进行云计算研究而开发的。您可以从该大学的网站上下载它,或者通过 Eucalyptus Public Cloud体验它,不过后者有一些限制。  

      3、10gen MongoDB 开源高性能存储平台

      10gen 既是一个云平台,又是一个可下载的开放源代码包,可用于创建您自己的私有云。10gen 是类似于 App Engine的一个软件栈,它提供与 App Engine 类似的功能 — 但有一些不同之处。通过 10gen,可以使用 Python 以及JavaScript 和 Ruby编程语言开发应用程序。该平台还使用沙盒概念隔离应用程序,并且使用它们自己的应用服务器的许多计算机(当然,是在 Linux上构建)提供一个可靠的环境。  

      4、Enomalism 弹性计算平台

      Enomaly's Elastic Computing Platform (ECP)是一个可编程的虚拟云架构,ECP平台可以简化在云架构中发布应用的操作。

      云计算平台是一个 EC2 风格的 IaaS 。Enomalism 是一个开放源代码项目,它提供了一个功能类似于 EC2的云计算框架。Enomalism 基于 Linux,同时支持 Xen 和 Kernel Virtual Machine(KVM)。与其他纯IaaS 解决方案不同的是,Enomalism 提供了一个基于 TurboGears Web 应用程序框架和 Python 的软件栈。  

      5、云计算平台 Nimbus

      Nimbus由网格中间件Globus提供,Virtual Workspace演化而来,与Eucalyptus 一样,提供EC2的类似功能和接口。

     

    展开全文
  • 9大开源云管理平台(CMP)

    千次阅读 2020-01-10 10:48:03
    这里为大家推荐9款市场上顶级的开源云平台。 对于任何基于云的全面部署,用户面临的问题包括维护在线迁移的所有数据的完整性,可用性和安全性等。随着企业IT运营开始将功能和资源扩展到云中,企业现在希望通过以下...

    一、什么是CMP?

    云管理平台(CMP)是具有集成工具的综合软件套件,企业可以使用它来监控和控制云计算资源。市场上有许多CMP,包括开源的和专有的。这里为大家推荐9款市场上顶级的开源云平台。

    对于任何基于云的全面部署,用户面临的问题包括维护在线迁移的所有数据的完整性,可用性和安全性等。随着企业IT运营开始将功能和资源扩展到云中,企业现在希望通过以下方式管理云资源,比如对现有IT环境具有相同的政策,程序,指导和愿景。

    解决基于云实施产生的所有问题的唯一解决方案是云管理平台(CMP)。它为编排和自动化提供了丰富的功能,还可以跨多个公有和私有云以及虚拟服务器和裸机服务器进行操作、监控、管理,治理和成本优化。

    有各种各样的工具可以应对这些挑战,并帮助公司有效地在云中操作应用程序和服务。供应商提供了多种云管理工具,这些工具使IT组织能够构建,购买,管理,监控,跟踪和优化其云资源。借助这些工具,组织可以节省时间和精力,同时让IT员工专注于更具战略意义的目标。这些工具还有助于监控用户与云基础架构的交互以及管理资源分配。

    在云市场中,不同的工具具有独特的功能集。功能包括跨多个云的统一管理,与用于配置和监控目的的第三方工具集成,仪表板和报告,以获取有关资源消耗的详细信息,达到预定义阈值时的通知和警报,以及对资源的受控访问,以避免过度使用或未经授权的情况访问。通过简化云环境的管理并降低管理多个活动的复杂性和成本,正确的云管理工具可以为任何组织带来速度,灵活性,安全性和成本效益。

    因此,重要的问题是:“哪个CMP是最好的?”那么,有商业和开源选择。如今,开源技术已成为全球许多用户的云计算中心。在深入研究开源CMP的类型之前,让我们讨论它们的一些广泛功能以及它们如何工作。

    根据Market Research Future(MRF)的分析,2018年全球CMP市场有81.8亿美元,预计到2022年将达到267.7亿美元,在预测期内的复合年增长率为18.4%。市场的增长归因于企业对IT支出的更大控制的需求不断增加,异构和多模IT服务交付环境的采用激增,虚拟化工作负载的快速部署以及运营效率的提高。另一方面,在评估期间,预计会阻碍市场增长的一些因素是,技术专业知识不足以及内部开发平台对安全性的关注日益增加。

    二、云管理平台的工作原理

    CMP作为由数据库和服务器组成的虚拟机(VM)部署到现有的云环境中。服务器与应用程序编程接口(API)通信,以连接数据库和云中保存的虚拟资源。该数据库收集有关虚拟基础架构如何运行的信息,并将分析结果发送到Web界面,系统管理员可以在其中分析云性能。整个互连性依赖于操作系统,该操作系统命令构成云的所有不同技术并部署云管理工具。

    CMP应该具有以下功能:

    与IT基础架构的强大集成:CMP应根据企业需求进行定制,并且必须满足操作系统,应用程序,存储框架以及云中运行的任何其他组件的要求。
    自动执行手动任务:CMP应该具有自助服务功能,可以自动进行所有操作,而无需人工干预。
    成本管理:CMP应协助组织进行精确的成本预测和报告,以轻松使用和管理各种云服务。
    服务管理:他们应协助IT团队监控基于云的服务,以帮助进行容量规划,工作负载部署,资产管理和事件管理。
    治理和安全性:CMP应该使管理员能够对云资源实施基于策略的控制,并提供诸如加密以及身份和访问管理之类的安全性功能。

    三、9大开源云管理平台

    1、Apache CloudStack

    Apache CloudStack是一种开源,多元管理程序,多租户,高可用性的基础架构即服务CMP,它通过为云环境提供完整的功能部件和组件堆栈来促进创建,部署和管理云服务。它使用现有的虚拟机管理程序(例如KVM,VMware vSphere,VMware ESXi,VMware vCenter和XenServer/XCP)进行虚拟化。CloudStack还可以协调服务交付的非技术元素,例如计费和计量。它提供了一系列API,使其可以与任何其他平台集成。
    在这里插入图片描述
    CloudStack的主要组件是:

    计算节点(CN),是实例化VM实例时的服务器。
    集群,由共享同一虚拟机管理程序和主存储系统的几个CN组成。
    Pod是一组包含第2层交换机和一个或多个集群的硬件。它负责存储代表主要存储的VM文件。
    可用区由一个或多个Pod组成,辅助存储区构成一个区域。这等效于代表地理位置分配的单个数据中心。辅助存储存储VM模板,ISO镜像和磁盘卷快照。
    管理服务器是提供Web用户界面和API的单点配置,并管理VM实例到特定主机的分配,公共和私有IP地址到特定帐户的分配以及存储的分配。
    特征

    自助服务用户界面:AJAX控制台访问,多角色支持,网络虚拟化,与虚拟机管理程序无关,使用情况计量,虚拟路由器。
    LVM支持:块存储卷,NetScaler支持,OpenStack Swift集成,LDAP集成,域和委托管理。

    2、OpenStack

    OpenStack由一组软件工具组成,这些工具用于使用池化的虚拟资源为公有云和私有云构建和管理云计算平台。构成OpenStack平台的工具称为project。他们处理计算,网络,存储,身份和图像服务的核心云计算服务。OpenStack软件控制着整个数据中心的大型计算,存储和网络资源池,并通过仪表板或OpenStack API进行管理。
    在这里插入图片描述
    OpenStack由以下九个组件组成。

    Nova:这是用于部署和管理大量虚拟机和实例以处理计算任务的主要计算引擎。 Swift:这是对象和文件的存储系统。 Cinder:这是用于计算实例的持久性块存储组件。 Quantum:提供联网功能,以便所有组件都能快速通信。 Horizou200bu200bn:这是OpenStack的GUI界面。 Keystone:这为OpenStack提供身份服务。 Glance:提供了镜像服务,并允许将镜像(硬盘的虚拟副本)用作部署新虚拟机实例的模板。 Ceilometer:为个人提供遥测服务和计费服务。 Heat:这是一个编排组件,允许开发人员将云应用程序的需求存储在文件中。

    特征

    • 服务:消息传递,集群,容器,计算,身份,应用程序数据保护即服务,事件,元数据索引即服务,工作流,DNS,数据库即服务,裸机配置,优化和部署,治理以及基准测试。
    • Web前端,大数据处理框架,容器编排引擎,密钥管理和NFV编排。

    3、ManageIQ

    它是用于混合IT环境的开源CMP,混合了公有云和私有云。它提供了用于管理小型和大型环境的工具,并支持多种技术,例如虚拟机,公有云和容器。它允许用户下载任何虚拟设备并将其副本部署到OpenStack或VMware等虚拟化平台中。ManageIQ的三个主要变体:Vagrant,Docker和Public Cloud。

    ManageIQ用Ruby编写,并使用Ruby on Rails框架。ManageIQ软件是作为预构建的虚拟设备提供的,大小约为1GB。该设备基于CentOS操作系统,并包含一个嵌入式PostgreSQL数据库。

    特征

    • 通过发现,监控,性能,报告,分析,费用分摊和趋势提供见解。
    • 控制安全性,合规性,警报,基于策略的资源和配置管理。
    • 自动化IT流程,任务和事件,供应,工作负载管理和编排。
    • 集成系统管理,工具和流程,事件控制台,CMDB,RBA和Web服务。

    4、Cloudify

    Cloudify允许用户对应用程序的整个生命周期进行建模和自动化。这包括部署到云或数据中心环境,已部署应用程序的管理,故障检测和持续维护。该平台非常适合希望在云中启动预构建应用程序而无需处理技术方面的用户。

    它将应用程序转换为以YAML格式编写的blueprint配置,并描述应如何部署,管理和自动化应用程序。它标识每个应用程序层的资源和事件。

    Cloudify使用户可以使用两种主要方法来部署应用程序-通过使用CLI和使用Cloudify管理器。后者是一个专用环境,包括一个开放源代码堆栈,使用户能够:

    • 使用插件(例如Docker,Script,Chef和Puppet插件)来管理应用程序主机。
    • 保留用户blueprint的目录。
    • 为每个blueprint创建多个部署并安装它们。
    • 在已安装的应用程序上执行修复,扩展和其他自定义工作流程。
    • 同时运行多个工作流。
    • 查看应用程序的拓扑。
    • 使用Cloudify Web UI视图指标执行不同的任务。

    Cloudify执行以下任务:

    • 应用程序建模:这将描述应用程序及其所有资源。
    • 编排:这将维护并运行应用程序,并执行正在进行的操作,例如扩展,修复和维护。
    • 可插拔性:这为系统提供了可重用的组件抽象。
    • 安全性:这可通过SSL提供安全的通信,从而使客户端能够确保对接收到的数据集进行加密。

    功能

    轻松编排,内置节点类型,blueprint目录,基于角色的访问控制,IT安全和治理,网络和TOSCA编排,新的NFV功能,自定义小部件和LDAP集成。

    5、Mist.io

    Mist.io是一个简化云管理并帮助用户防止供应商和复杂性锁定的平台。它为跨公有和私有云,Docker容器和KVM虚拟机管理程序的服务器提供成本和使用情况报告,RBAC,管理,供应,编排,监控和自动化。它提供可操作的警报,因此用户可以使用任何与Web相连的设备从任何地方解决操作问题。

    Mist.io提供了一个统一的界面,用于执行常见的管理任务,例如预配,编排,监控和自动化。这是一个带有开源组件的免费增值服务,旨在成为多云管理和云计算服务代理的事实上的标准。它面向开发人员,系统管理员和执行本地,远程或混合计算的任何组织。

    特征

    • 控制公有和私有云,容器,裸机服务器等。
    • 具有用于委派团队成员访问权限的细粒度控件。
    • 启用整个基础架构的成本和使用情况报告。
    • 编排可重复的部署,并自动执行常见响应。
    • 在任何计算平台上一致地实施策略。

    6、VirtEngine

    VirtEngine是一个开源CMP,可用于构建支持IaaS,PaaS和SaaS的私有或公有云。该平台即服务系统允许用户单击几下即可部署应用程序。VirtEngine具有广泛的应用程序和简单的用户界面,可让客户自助服务其需求。它可以帮助用户在极短的时间内构建公有云和私有云,并支持基础架构平台和其他存储设备。它也具有很高的可扩展性,并带有为公司提供竞争优势的自动化工具。VirtEngine可作为公有云和私有云的两种不同解决方案来使用。公有云允许用户构建自己的云并为客户提供服务器。它既有迷你版,也有完整的解决方案。

    特征

    • 访问控制,需求和供应监控,成本管理,多云管理,一键式应用程序以及自动启动。
    • DNS支持,自我修复,云原生,多位置,Docker容器,云虚拟机和迁移工具。

    7、openQRM

    openQRM是一个免费的开源云计算管理平台,用于管理异构数据中心基础架构。它为所有裸机和VM部署以及所有IT子系统提供了一个完整的自动化工作流引擎,从而可以对数据中心和云容量进行专业的管理和监控。openQRM平台管理数据中心的基础架构,以构建私有,公有和混合基础架构即服务云。openQRM协调存储,网络,虚拟化,监控和安全实施技术,以根据分配策略将多层服务作为虚拟机部署在分布式基础架构上,并结合了数据中心资源和远程云资源。

    openQRM提供了一个基于Web的开源数据中心管理和云平台,借助该平台,可以将各种内部和外部技术抽象化并组合在一个通用管理工具中。该管理系统还负责配置,高可用性和所提供服务的监控。openQRM并未提供用于完成配置管理和系统监控等单独任务的单独工具,而是集成了经过验证的开源管理工具。
    架构:openQRM系统架构包括三个组件-数据中心管理和云平台,插件API和混合云连接器。

    数据中心管理和云平台提供openQRM的基本功能,并使用插件API与也安装在本地网络(管理程序,存储和网络)上的数据中心资源进行通信。openQRM支持五个虚拟化环境-VMware ESX,Citrix XenServer,KVM,LXC和OpenVZ。

    openQRM可以处理LVM,iSCSI,NFS,以太网ATA,SAN Boot和Tmpfs存储。对于网络配置,openQRM集成了关键网络服务,例如DNS,DHCP,TFTP和LAN唤醒。软件包附带的网络管理器可帮助管理员配置这些服务所需的网桥。混合云连接器负责连接外部数据中心资源,例如AWS,Eucalyptus或OpenStack云。

    openQRM云门户提供了一个Web界面,内部或外部用户可以根据需要访问这些界面以编译IT资源。

    特征

    • 支持P2V,P2P,V2P,V2V迁移和高可用性。
    • 与所有主要的开放式和商业存储技术集成。
    • 集成计费系统,可将CCU/h(云计算单位)映射为真实货币。
    • 面向最终用户的自助门户在几分钟之内即可配置新服务器和应用程序堆栈!

    8、OpenNebula

    OpenNebula是一个简单但功能强大且灵活的交钥匙开源解决方案,用于构建私有云和管理数据中心虚拟化。OpenNebula平台管理数据中心的虚拟基础架构,以构建基础架构即服务的私有,公有和混合实施。OpenNebula平台的两个主要用途是数据中心虚拟化解决方案和云基础架构解决方案。

    OpenNebula旨在帮助公司在现有IT基础架构上构建简单,经济高效,可靠的开放式企业云。它提供了灵活的工具,可以协调存储,网络和虚拟化技术,以实现服务的动态放置。OpenNebula的设计是灵活和模块化的,以允许与不同的存储和网络基础架构以及虚拟机管理程序技术集成。
    在这里插入图片描述

    • OpenNebula组件包括以下三层:

    1.驱动程序层负责创建,启动和关闭虚拟机(VM),将存储分配给VM以及监控物理机(PM)的运行状态。
    2.核心层管理VM的整个生命周期,包括动态设置虚拟网络,为VM动态分配IP地址以及管理VM的存储。
    3.工具层提供了与用户进行通信的界面,例如命令行界面(CLI)。

    特征

    • 支持多种API,例如AWS EC2,EBS和OGF OCCI。
    • 强大的基于UNIX的CLI进行管理。
    • 云客户和数据中心专业人员的GUI。
    • 通过细粒度的ACL进行资源分配;负载平衡,高可用性,高性能计算。
    • 强大的任务管理计划。
    • 支持与LDAP和Active Directory集成。
    • 支持SSH和X.509以获得安全性,甚至还支持登录令牌功能。

    9、Eucalyptus

    Eucalyptus是Elastic Utility Computing Architecture的缩写,用于将程序链接到有用的系统。它是一个开源软件框架,为在计算机集群上实施私有云计算提供了平台。桉树为私有云和混合云中的解决方案实施基础架构即服务(IaaS)方法。

    Eucalyptus为单个界面提供了一个平台,因此用户可以计算私有云中可用的资源以及公共云服务中外部可用的资源。Eucalyptus可以运行Windows和Linux虚拟机镜像的多个版本。用户可以使用与基础架构详细信息分离的应用程序元数据构建Eucalyptus机器镜像(EMI)库,从而使它们可以在Eucalyptus云上运行。

    在这里插入图片描述
    体系结构:Eucalyptus体系结构具有以下五个主要组成部分。

    云控制器(CLC):CLC充当云管理的管理界面,并执行高级资源调度和系统记帐。CLC接受来自命令行界面(例如euca2ools)或基于GUI的工具(例如Eucalyptus管理控制台)的用户API请求,并管理基础计算机存储和网络资源。
    可扩展对象存储(SOS):这是一项可插拔服务,使基础架构管理员可以灵活地使用实现S3接口的开源和商业解决方案在商品资源之上实现横向扩展存储。
    集群控制器(CC):用C语言编写,充当Eucalyptus云中集群的前端,并与存储和节点控制器进行通信。
    存储控制器(SC):用Java编写,与集群控制器和节点控制器通信,管理Eucalyptus块卷和到特定集群中实例的快照。它与包括本地,NFS,iSCSI和SAN的存储系统连接。
    节点控制器(NC):用C编写,承载虚拟机实例并管理虚拟网络终结点。它从可伸缩对象存储中缓存图像,并创建和缓存实例。
    特征

    • 可与多个虚拟机管理程序配合使用,包括VMware,Xen和KVM。
    • 内部流程中的通信通过SOAP和WS-Security进行保护。
    • 提供管理功能,例如用户和组管理以及报告。
    • 定义明确的接口(通过WSDL,因为它们是Web服务),因此可以轻松地换出自定义组件。
    • 灵活,可以以最小的安装量安装。
    展开全文
  • 主流开源云计算软件大盘点

    千次阅读 2015-09-28 11:47:59
    开源云计算软件的若干优点   ...虽然开源云软件常常被称为是商业云软件的“替代品”,其实根本不是这样。而在许多情况下,开源应用程序是同类软件中率先使用云技术的。 有许多理由求助于开源

    -- http://os.51cto.com/art/201508/488159_all.htm

    开源云计算软件的若干优点

     

    虽然市面上有数量众多的商业软件可用于构建云基础设施,但是在你开始花血汗钱之前,也许应该看一下可供使用的开源方案。虽然开源云软件常常被称为是商业云软件的“替代品”,其实根本不是这样。而在许多情况下,开源应用程序是同类软件中率先使用云技术的。

    有许多理由求助于开源软件来满足你的云计算要求。如果求助于一个或多个这样的开源应用程序,贵公司可以省下一大笔费用,具体取决于公司规模。此外,你可能会发现自己在与大规模企业竞争,对方其实在运行与你一样的开源软件,实际上让竞争环境变得了公平一点。

    但是也有其他理由可能迫使你试一下这些方案。许多云计算开源项目有更庞大的用户群。由于实施软件的门槛很低,有更多数量和类别的人在使用它,而且软件背后常常有充满活力的社区,充当支撑体系。开源项目通常具有创新精神,很短的发布周期推动技术前进。实际上,用户常常根据实际的商业要求来决定下一个特性发布周期。

    另外,开源意味着可以随意享用应用编程接口(API)和编写它们所使用的开放标准。应用程序代码库更透明,这常常有助于推动创新前进,加大社区支持。

    综观许多云计算服务模式,比如用户云(又叫软件即服务)、开发云(又叫平台即服务)和系统云(又叫基础设施即服务),有大量多种多样的应用程序可供选择,既有商业产品,又有免费的开源产品。你可能会注意到,许多开源项目有着更崇高的目标,原因在于庞大、开发的社区,广大开发者致力于编写创新的软件,希望进一步推动云计算技术。幸好,有开放标准,许多开源应用程序可以彼此联系,让你可以精挑细选应用程序,为贵企业构建一套可靠、整合的云计算解决方案。

    这样的应用程序和解决方案就包括如下:Salesforce.comGoogle DocsRed Hat NetworkVMware Cloud FoundryGoogle AppEngineWindows AzureRackspace SitesRed Hat OpenShiftActive State StackatoAppFogEC2Rackspace Cloud FilesOpenStackCloudStackEucalyptusOpenNebula及另外许多。

    不妨更近距离地看一看如今市面上的主流开源云计算软件。

     

    一、开源虚拟机管理程序

          

    Xen云平台(XCP

    XCP含有思杰公司的商业发行版XenServer的一小部分功能。它包括Xen API工具堆栈,提供了主机系统池管理、多租户模式、存储库、支持SLA以及预先整合网络和磁盘功能(比如Open vSwitch)。 XCP可以通过ISO来安装,类似XenServer,附有所有一样的驱动程序。虽然与XenServer不一样,但是代码库大部分一样。XCP还可以通过安装在Debian GNU/LinuxUbuntu Linux中的程序包管理器下的XCP-XAPI程序包来获得和配置。ISO基于CentOS 5.x,使用XAPI本地管理,支持XenServer的大多数功能。然而,它是类似黑盒的设备,只能在CentOS上工作,而XCP-XAPI程序包易于定制、易于从源代码来构建,并以程序包的形式存在,那样你就能围绕它们组装自己的系统。缺点就是,相比ISOXCP-XAPI在功能方面有一些限制,而且只支持数量有限的存储库类型,而ISO支持大多数类型。

    相关链接:http://www.xenproject.org

     

    KVM

    基于内核的虚拟机(KVM)是一个开源项目,为在x86硬件上运行的GNU/Linux开发。由于可装入的Linux内核模块(kvm.ko),KVM可与安装有KVMGNU/Linux系统整合起来,包括针对特定处理器的Linux内核模块(kvm-intel.kokvm-amd.ko)。作为一套完整的虚拟化系统,编写了许多外部程序来管理KVM映像。KVM可以运行GNU/Linux或微软Windows系统的多个映像,包括可访问专有的网卡、磁盘、显卡和USB等。虽然KVMLinux内核整合起来(自Linux 2.6.20起,KVM就是主线代码的一部分),Xen之类的虚拟机管理程序却是外部的,不得不控制安装有KVM的机器,并利用资源管理;KVM充当系统的一部分,使用Linux调度程序和内存管理。目前,KVM需要QEMU(开源模拟器)才能工作,但是撰写本文时,该项目在努力摈弃这种依赖。

    相关链接:http://www.linux-kvm.org

     

    VirtualBox 

    为了非商业机构易于使用,VirtualBox可以在多种平台上工作,易于安装和设置。它提供x86AMD64/英特尔64虚拟化,在家庭环境和企业环境下都很容易得到利用。它可以在WindowsLinuxMacintoshSolaris主机上运行,支持主机安装WindowsNT 4.02000XPServer 2003VistaWindows 7Windows 8)、DOS/Windows 3.xLinux2.42.63.x)、SolarisOpenSolarisOS/2以及OpenBSDVirtualBox拥有众多引人入胜的功能:可以轻松运行多个操作系统访客;你的限制主要取决于系统内存和处理器能力。可以使用VirtualBox来建立虚拟网络,用于实验室环境,比如渗透测试、构建集群原型和贝奥武夫(Beowulf)集群模板。一项名为“快照”的功能让用户可以保存虚拟机状态,如果需要的话,可以恢复到之前的那些状态。你还可以构建系统、配置系统并交付虚拟机,用于客户的VirtualBox实例。相比另外一些知名的商业虚拟化解决方案,VirtualBox 因占用的内存和处理器资源最少而著称。

    相关链接:https://www.virtualbox.org

     

    OpenVZ

    OpenVZ基于“容器”技术,它不是一种名副其实的虚拟化应用程序。它拥有经过改动的Linux内核(意味着主机系统只能是某种版本的GNU/Linux),经过了定制,以支持OpenVZ容器。容器是独立的实体,依赖资源管理和检测点(借助经过改动的Linux内核),其行为总的来说如同正常的服务器,有文件系统、应用程序、用户、用户组等。主机内存对OpenVZ容器来说更为灵活,原因在于没有被一个容器使用的内存可以轮换、供另一个容器使用。OpenVZ中的资源管理包括用户计数器、磁盘输入/输出调度程序、处理器调度程序和两级磁盘配额。在运行过程中不需要重启即可更改这些资源,这对开发者和测试人员或者对运行的活动系统与用户交互的人来说是诱人的功能。容器是安全的、隔离的,在服务器上的应用程序之间不太有冲突,不然这些应用程序会共享库或目录空间。OpenVZ是采用GNU公共许可证(GPL)发行的,是免费软件。

    相关链接:http://openvz.org/Main_Page

     

    LXC

    OpenVZ一样,LXC也是一种容器技术,作为一种用户空间接口而存在,支持Linux内核容器控制功能。这些功能包括:内核命名空间(ipcutsmountpidnetworkuser)、来自ApparmorSELinux的配置文件、Seccomp策略、通过pivot_rootchroot以及cgroup(控制组)。LXC还不完全是虚拟机,仍能提供类似Linux安装的环境,就像VirtualBox中的虚拟机上那样。然而,不需要LXC下有单独的内核,因为它扎根于主机内核。与OpenVZ一样,LXC使用主机内核的资源管理和检查点。LXC包含众多容器模板、管理容器的标准工具、支持多种语言(RubyPythonGoLua)的绑定,以及liblxc库(libvirt被认为是一种替代的库)。LXC是免费软件,大多数代码按照GNU LGPL许可证的条款来发行(访问LXC官方网站,即可了解不是采用LGPL许可证的组件方面的细节)。

    相关链接:https://linuxcontainers.org

     

    开源云设备

     

    Bitnami

    获得预构建的设备从来没有这么容易过。与SUSE Studio一样,用户可以使用预构建的Bitnami堆栈,下载虚拟机或安装程序。可从Bitnami获得的应用程序包罗万象:从基础设施和云工具,到客户关系管理(CRM)、内容管理系统(CMS)和企业内容管理(ECM),不一而足。耳熟能详的应用程序包括:WordPressJoomlaDrupalMoodleJBossLimeSurveyDokuWikiSugarCRMownCloud等等。另外,Bitnami提供一系列堆栈,包括RubyDjangoLAMPWAMPWAPPMAMPLAPPMAPPBitnami设备拥有诸多功能,比如具有独立、安全、最新等优点,按一致的标准来构建。每个设备都捆绑有它所需要的所有库、数据库和运行时环境。每个设备都针对互联网上最常见的使用和情况进行了优化。Bitnami还通过亚马逊网络服务,为需要设备所提供的功能,可是又没有资源来下载和安装设备的那些人提供云服务。

    相关链接:https://bitnami.com

     

    BoxGrinder

    眼下BoxGrinder主要是一种命令行构建工具,用于构建虚拟化用途和云部署的设备,BoxGrinder这个项目在不断开发之中。目前支持构建基于FedoraCentOS、红帽企业级LinuxRHEL)和Scientific Linux的设备。设备目前可以部署到VMwareVirtualBoxVirtualPCEC2。交付的内容包括一组插件,可用于本地交付、SFTPS3EBSElasticHostsOpenStack。不过眼下,只能在Fedora上构建设备。用Ruby编写的BoxGrinder需要rubygem用于安装和管理程序包。由于项目还在开发之中,附加功能还在规划之中,BoxGrinder是未来值得关注的项目,但是构建系统的局限性和设备操作系统底层的局限性会让你暂时关注其他的云设备应用程序。

    相关链接:http://boxgrinder.org

     

    Oz

    Oz是为了便于自动安装操作系统而开发的,它从用户获得首次安装的极少输入后,迅速推出一个完整的系统。Oz可以安装操作系统、定制操作系统,并生成程序包清单文件。不过,Oz方面有些地方需要手动维护。就新的操作系统和版本而言,它们需要手动添加。必须经常更新Oz,才能支持新的操作系统版本。作为其功能的一部分,Oz使用操作系统提供的原生安装工具来执行安装。虽然Oz支持安装一系列广泛的操作系统,包括RHELCentOSScientific LinuxFedoraOpenSUSEDebianUbuntuMandrakeMandrivaFreeBSDWindows,不过就这每一款操作系统及不同版本而言,Oz可能支持其中一种操作(安装、定制和生成清单文件),也可能不支持。然而,不像其他许多堆栈安装或操作系统安装工具,Oz让操作系统的安装就像它安装在裸机系统上一样。

    相关链接:https://github.com/clalancette/oz/wiki

     

    SUSE Studio

    SUSE Studio2009年首次发布以来就大受欢迎,迅速经历了从LifeHackerTuxRadar的几轮评估。借助最初由Novell SUSE(现在的SUSE)发布的在线Linux映像创建工具,该网站让你很容易配置青睐的操作系统 (从核心应用程序到系统级定制),然后使用自动化工具来构建系统。RPM可以上传到构建环境,也可以添加软件库。因而生成的映像可以作为ISOLive CD/DVD,预装)、虚拟机(VMware/VirtualBox/OVF/Xen)、SUSE云或USB映像来下载。还有一系列广泛的预装映像可以选择,既有SUSE开发的,也有SUSE Studio用户贡献的。默认映像都基于SUSE,既有openSUSE,又有SUSE Linux Enterprise Server。除了这些功能外,SUSE还能通过之前存在的AWS帐户上传AMI映像,为EC2映像创建实例,还可以通过之前存在的Windows Azure帐户,上传VHD映像,为Azure应用程序创建实例。

    相关链接:https://susestudio.com

     

    三、开源计算云(IaaS

     

    Apache CloudStack

    尽管外面传闻Java不会继续是许多主要云应用程序的核心,但它依然扮演这一重要角色。Apache CloudStack的核心是用Java编写的一批功能,包括用户管理、多租户和帐户分离、网络、计算和存储等资源核计、基于Web的管理控制台、原生API及与亚马逊S3/EC2兼容的API,以及支持主存储/辅助存储。Apache CloudStack可以与XenServer/XCPKVMHyper-VVMware上的主机协同运行。Apache CloudStack用来部署和管理虚拟系统组成的大型网络,被许多提供商选择用来为客户部署私有云、公有云和混合云等解决方案。额外的功能特性包括:高可用性、作为服务云计算平台的可扩展基础设施,以及用户和开发者组成的庞大社区(他们不断推动技术进步、改进功能特性)。

    相关链接:http://cloudstack.apache.org

     

    Eucalyptus

    虽然目前只出现在CentOS和红帽企业级Linux上,但是Eucalyptus作为一种完整的IaaS解决方案,已经备受关注。Eucalyptus包括云控制器(CLC)、Walrus(持续性数据存储)、集群控制器(CC)、存储控制器(SC)、节点控制器(NC)和可选的VMware代理(VB),这俨然是一款功能齐全的产品。每个组件都是一种独立的Web服务(VB除外),旨在让Eucalyptus可以为每种服务提供API(与语言无关)。这种基于Linux的系统让用户可以使用一种基于行业标准的模块化框架,在现有的基础设施里面部署私有云和混合云。尤其是,Eucalyptus提供了隔离各路流量的虚拟网络覆盖层,让多个集群在同一局域网(LAN)上可以做到透明,同时保持数据完整性。此外,Eucalyptus通过API与亚马逊的EC2S3IAMELB、自动扩展(Auto Scaling)和CloudWatch等服务兼容,因而对实施混合云方案来说再理想不过了。

    相关链接:https://www.eucalyptus.com

     

    OpenNebula

    OpenNebula结合了功能项目和功能研究,声称是数据中心虚拟化发展道路上迈出的下一步。从研究的角度来看,该项目力求开发先进的、自适应的虚拟化数据中心和企业云。通过与云计算领域的其他开源项目和研究人员合作,OpenNebula希望还能获得云计算软件的稳定性和质量。该项目的核心价值包括:流程和技术开放性、项目的所有生命周期都确保出色以及云开发方面的创新。至于其实际的功能产品,目前声称的主要功能特性包括:界面直观的自助服务门户网站、自动化服务管理目录、管理和超级用户界面、设备市场、性能及容量管理、高可用性、业务连续性、虚拟基础设施管理、企业级安全、第三方工具整合,以及开发者直接提供出色的产品支持和基于服务级别协议(SLA)的商业支持。

    相关链接:http://opennebula.org

     

    OpenStack

    在所有IaaS解决方案当中,OpenStack是出现在云计算架构多个产品领域的两种解决方案之一。OpenStack这个全球性项目由Rackspace和美国宇航局共同创办,它们开发了一个大规模扩展的云运营系统,采用了Apache 2.0许可证,可随意使用。OpenStack并不要求使用专有的硬件或软件,被设计成可以在完全虚拟的系统和裸机系统里面都能够运行。支持多种虚拟机管理程序,包括KVMXenServer,还支持容器技术,包括LXCOpenStack应用广泛,从为客户部署IaaS的服务提供商,到为项目团队和各部门提供私有云服务的企业IT部门,不一而足。OpenStack可与Hadoop协同运行以满足大数据要求,可以纵向和横向扩展,以满足不同的计算要求,还提供高性能计算(HPC)以处理密集的工作负载。主要的功能特性包括:虚拟机映像缓存、基于角色的访问控制、虚拟机映像管理、局域网管理、通过Web浏览器的VNC代理、浮动IP地址及其他众多功能。

    相关链接:https://www.openstack.org

     

    四、开源云存储软件

     

    GlusterFS

    GlusterFS使用FUSE(用户空间中的文件系统)与VFS(虚拟文件系统)连接起来建立了一种在用户空间里面或者在内核及其特权扩展件外面编写的集群网络文件系统。GlusterFS使用ext3ext4xfs之类的现有文件系统来存储数据。GlusterFS之所以大受欢迎,是由于用户可以使用这样一种框架:能够扩展,在单一挂载点下提供数PB数据。GlusterFS可以将文件分布到一组子卷上,用一批较小的存储单位组成一个大的存储单位。这可以跨一台或几台服务器上的卷来实现。可以通过添加新服务器来增加卷,尤其是可以实时添加。由于复制功能,GlusterFS提供了存储冗余性和可用性。

    相关链接:http://www.gluster.org

     

    Ceph

    Ceph的技术基础是可靠的自主分布式对象存储(RADOS),它在单个统一的存储集群中为应用程序提供了对象存储、块存储和文件系统存储。由于库让客户机应用程序可以直接访问基于对象的RADOS存储系统,用户就能充分利用RADOS块设备(RBD)、RADOS网关以及Ceph文件系统。RADOS网关提供了与亚马逊S3OpenStack兼容的接口,以便连接RADOS对象存储。此外,POSIXCeph的一项主要的特性。POSIX语义用Ceph的传统文件系统来驱动接口,那样使用符合POSIX的文件系统的应用程序就能轻松使用Ceph的对象存储系统。额外的库让用CC++JavaPythonPHP编写的应用程序也可以访问Ceph对象存储文件系统。高级的功能包括:部分/完整读取/写入、快照、对象级键值映射和原子事务(具有附加、截断和克隆范围等功能)。Ceph还与几种虚拟机客户软件兼容。

    相关链接:http://ceph.com

     

    OpenStack

    OpenStack的许多架构特性当中,存储是基本的云架构必备要件之一。OpenStack提供了可扩展、冗余的对象存储,使用服务器集群,可以存储数PB数据。借助这种分布式存储系统,OpenStack为其功能组合添加了另一层面的可扩展性、冗余性和耐久性。数据写入到数据中心中的多个磁盘上,数据复制得到管理,数据复制得到保障。对在意预算的那些人来说,OpenStack存储解决方案既可以将数据写到老式的小容量驱动器上,也可以写到新式的高速驱动器上。对OpenStack存储不满意?OpenStack与其他存储解决方案兼容,比如CephNetAppNexentaSolidFireZadara。额外的功能包括:快照(可以恢复或用来创建新的存储块)、扩展(添加新的服务来扩展和跨节点复制数据)、支持块存储、自愈合、众多功能强大的管理工具(可报告使用情况、性能和一般情况),包括审查工具。

    相关链接:https://www.openstack.org

     

    Sheepdog

    Sheepdog是另一种分布式对象存储解决方案,恪守代码库小巧、简单和易于使用的原则。Sheepdog主要用于卷和容器服务,能够智能化管理磁盘和节点,它可以扩展至数千个节点。Sheepdog可以连接到QEMU虚拟机和Linux SCSI目标设备,还支持快照、克隆和自动精简配置。它还可以连接到在裸机硬件上运行的其他虚拟机和操作系统(不过iSCSI必须得到支持)。Sheepdog支持libvirtOpenStack,可与HTTP Simple Storage进行联系,还有后端存储功能,比如支持丢弃、日志功能、支持单一节点上的多磁盘以及支持擦除代码。由于通过Web接口可与OpenStack Swift和亚马逊S3兼容,Sheepdog能存储和检索海量数据。

    相关链接:http://sheepdog.github.io/sheepdog/

     

    五、开源平台即服务(PaaS

     

    Cloud Foundry

    VMware开发的Cloud Foundry将丰富多样的产品和服务作为平台即服务来提供,它是VMwareEMC合资创办的Pivotal Sotware公司的一部分。Ruby开发者和用户组成的庞大开放社区支持Cloud Foundry,不仅专注于代码库,还专注于这个PaaS提供的托管服务。Cloud Foundry为其托管解决方案提供的服务包括:MySQL DBVFabric PostgresMongoDBRedisRabbitMQ。作为一种相当简单直观的模式,Cloud Foundry提供了诸多机制,可用于部署应用程序、为云环境设计应用程序、推送应用程序、使用服务、迁移数据库、使用环境变量以及映射自定义域。此外,Cloud Foundry提供了客户端工具,比如cf命令行工具、Eclipse插件和构建整合工具。Cloud Foundry还有应用程序日志、第三方日志管理服务整合、Splunk整合和应用程序清单文件。如今该项目眼里的主要竞争对手包括AppScaleHerokuOpenShift和谷歌应用程序引擎。

    相关链接:http://cloudfoundry.org

     

    Cloudify

    Cloudify主要致力于自动化,可以自动安装、部署、监控和修复应用程序堆栈,还可以根据使用情况,自动扩展应用程序堆栈。Cloudify使用Oasis基金会开发的名为TOSCA的技术,TOSCA的全称是面向云应用程序的拓扑结构和编排规范;Cloudify声称其技术“致力于改善云应用程序和服务的移植性。有了TOSCA,就能够统一描述应用程序和基础设施云服务、服务各部分之间的关系,以及这些服务的操作行为(比如部署、打补丁和关闭),独立于开发服务的供应商以及任何云提供商或主机托管技术。TOSCA还让更高层的操作行为有可能与云基础设施管理关联起来。”使用TOSCA蓝图,你可以指定“配方”(recipe),配方成为你的应用程序堆栈模板。Cloudify支持与OpenStackAWSCloudStack、微软AzureVMware整合。

    相关链接:http://getcloudify.org

     

    OpenShift

    OpenShift PaaS是红帽公司的一项主要服务;该公司目前支持该软件的私有云版本:OpenShift EnterpriseOpenShift允许部署可在红帽企业级Linux上运行的二进制代码。支持的语言包括:JavaScriptRubyPythonPHPPerlJavaHaskell.NETOpenShift支持众多数据库,包括MySQLPostgreSQLMongoDB和微软SQL Server。可以在OpenShift下面发现一些最流行、应用最广泛的Web应用程序框架,比如RubyWSGI for PythonPSGI for PerlNode.js for JavaScript。额外的框架包括LaravelCodeIgniterCakePHPRuby on RailsDjangoPerl DancerFlaskSinatraTornadoWeb2py。为了保持竞争力(也就是叫板AppScaleHerokuCloud Foundry、谷歌应用程序引擎、JelasticElasticBox),OpenShift提供了企业级功能,比如加快应用程序服务交付、尽量避免厂商锁定、自助服务和按需应用程序堆栈以及标准化的开发者工作流程。PaaS还是个“多面手”,支持许多编程语言和框架、企业应用程序(支持Java EE6)、内置数据库服务,还支持多种环境(开发环境、测试环境和生产环境)。OpenShift的其他功能特性包括:依赖项及版本管理、持续集成及版本管理、源代码版本管理、远程SSH登录到应用程序容器、IDE集成、应用程序远程调试、丰富的命令行工具集、反应迅即的Web控制台以及其他功能。

    相关链接:https://www.openshift.com

     

    Stackato

    ActiveStateStackato提供常见的功能特性,包括可定制的应用程序商店、Web管理控制台、活动流和自助服务。Stackato拥有的其他特性包括:端到端开发、自动配置、集中式集群管理、动态负载均衡及弹性扩展、放置区及可用区、应用程序自动扩展和持久性文件系统共享。由于实际上采用了自助服务模式,ActiveState可以在短短几分钟内而不是数周内完成部署。由于属于开发者驱动,Stackato团队制作了一款出色的开发、构建和发布工具。因致力于敏捷企业这个群体,上市时间是ActiveStateSkackato采用的设计模式的一个关键驱动因素。报告功能涵盖上市时间、停运时间、使用情况和性能等方面。

    相关链接:http://www.activestate.com/stackato

     

    WSO2 Stratus

    WSO2 Stratos被知名调研机构加特纳集团(Gartner)评为是“有远见者”,自诩为“最全面的企业级云解决方案”。它支持的核心服务数量超过如今市面上的其他PaaS方案;一些企业力求“将从企业内部实施异构环境获得的灵活性和创新扩展到云端”,对它们来说这是不错的选择。WSO2 Stratos提供众多功能,包括可扩展的cartridge架构(可以以插件的模式接入到PHPMySQLTomcat等第三方运行时环境,支持为WSO2 Carbon产品构建基于Puppetcartridge,配置以添加多租户或单租户cartridge);经过改进的云部署支持,可支持多个IaaS(在亚马逊网络服务EC2经过了全面测试,对OpenStackvCloud提供试验性支持;能够通过jclouds API支持任何IaaS;云突发可扩展至同时支持多个IaaS;可用于私有云、公有云和混合云等解决方案),而且易于开发SaaS应用程序(对多租户和单租户模式提供内置支持,支持用户身份管理、计量和计费)。PaaS还为数据存储提供了易于访问、缓存和查询的功能,还有作为多租户应用程序的SaaS应用程序,让每个租户都可以在旁边部署自己的自定义逻辑。组件分配协调器(ADC)将支持外部的GitGitHub软件库,还包括这项功能:将应用程序日志发布到集中位置,便于监控。

    相关链接:http://wso2.com/landing/stratos-donation-to-apache/

     

    六、开源软件定义网络工具

     

    Floodlight

    作为一种企业级OpenFlow控制器(OpenFlow是开放网络基金会管理的一项开放标准),Floodlight采用了Apache许可证,基于JavaFloodlight是一种开放的SDN控制器,可与通过OpenFlow协议进行联系的虚拟和物理交换机协同运行。此外,它还能指定用于远程控制网络设备的协议,比如交换机、路由器、虚拟交换机及其他接入点等设备。有了OpenFlowFloodlight就能远程控制交换机的数据包转发表、流表规则、转发或阻止流量,并且充分利用自定义接口和脚本语言。主要的功能特性包括:模块装入系统、极少的依赖项、支持OpenFlow和非OpenFlow网络以及高性能。Floodlight背后还有一个庞大的社区在支持OpenStack

    相关链接:http://www.projectfloodlight.org

     

    Indigo

    开源项目Indigo能够支持物理交换机上和虚拟机管理程序交换机上的OpenFlow。它还是Big Switch Networks公司的Switch Light交换机软件的基础。Indigo为许多流行的交换机提供了固件,因而让那些交换机可以享用OpenFlow技术。这项技术包括拥有一套核心库的Indigo代理以及硬件抽象层(HAL),以便与交换机轻松整合,通过Indigo实现转发和端口管理功能。还有一个抽象层用于交换机上的“混合”模式OpenFlowIndigo还随带一款名为LoxiGen的编译器,该编译器可生成编组/反编组(marshalling/unmarshalling)库。Indigo固件既有预构建的二进制代码格式,又可以通过虚拟机来分发源代码。另外还提供Indigo虚拟交换机,这是与KVM兼容的开源虚拟交换机,包含与OpenFlow整合的Indigo框架。

    相关链接:http://www.projectfloodlight.org/indigo/

     

    OpenStack NetworkingNeutron

    作为OpenStack项目的一部分,NeutronOpenStack服务(比如Nova)管理的接口设备(比如网卡)之间提供了“网络即服务”。虽然是OpenStack核心的一部分,Neutron因其规模以及作为“NaaS”产品的功能而理应得到特别注意。用户可以构建多层Web应用程序拓扑结构,利用先进的网络功能(比如端到端服务质量或NetFlow监控)。先进的网络功能可以通过插件添加到OpenStack租户网络中,比如负载均衡即服务、VPN即服务、防火墙即服务、入侵检测系统(IDS)即服务和数据中心互联即服务。Neutron提供了Horizon GUI,可支持Neutron2/3层网络、子网建立/删除以及启动VMson Neutron网络。还提供了一套API,可以利用该API来编写扩展件。

    相关链接:https://wiki.openstack.org/wiki/Neutron

     

    Open vSwitch

    作为一种多层软件交换机,Open vSwitch支持一系列广泛的功能特性,包括带干线和接入点的802.1Q虚拟局域网(VLAN)、网卡绑定(带或不带LACP上游机制)、NetFlow/sFlow、服务质量、通用路由封装(GRE)、基于IPSECGRE、虚拟扩展局域网(VXLAN)、LISP隧道、802.1ag连接故障管理、OpenFlow、通过Linux内核的高性能转发以及事务配置数据库。借助内核模块,Open vSwitch可以完全在用户空间里面运行,或者作为基于内核的交换机,支持多种虚拟化技术,包括Xen/XenServerKVMVirtualBox。还特别支持思杰XenServer和红帽企业级Linux这两种主机。Open vSwitch的组件包括:守护程序“ovs-vswitched”、数据库服务器软件“ovsdb-server”、用于配置查询和更新的工具“ovs-dpctl”,以及用于管理和监控的其他众多工具。

    相关链接:http://openvswitch.org

     

    七、开源NoSQL数据库

     

    Apache Cassandra

    Apache Cassandra这种数据库在硬件、虚拟系统或云基础设施上提供了可扩展性、高可用性和容错性。由于列索引、日志结构更新、非规范化和物化的视图以及内置缓存机制,许多大规模企业组织已选择使用Cassandra,包括Constant Contact 欧洲原子核研究组织(CERN)、康卡斯特、电子港湾、GitHubGoDaddyHuluInstagramIntuitNetflixReddit、美国天气频道及其他众多组织。功能特性包括:自动复制到多个节点以实现容错;让集群节点保持一样,避免了单一故障点;更新过程中的同步或异步复制,以及支持读取/写入吞吐量,没有停机时间或干扰。还提供了面向Apache Cassandra的第三方合同支持服务。

    相关链接:http://cassandra.apache.org

     

    CouchDB

    CouchDB是为了满足Web应用程序数据库的需要而专门编写的,它缺少一种预定义的数据结构(即模式)。CouchDB数据存储在JSON文档里面,这些文档含有的名称字段可以是字符串、数字、日期或排序列表和关联映射。CouchDB支持Web和移动应用程序,可以直接从CouchDB里面提供Web应用程序。CouchDB使用JavaScript来描述,可以聚合、连接和报告数据库文档,而不影响文档的底层结构。CouchDB完全分布式、基于对等,服务器和离线客户机可以拥有同一数据库的独立复制副本。复制活动包括冲突管理、增量复制及双向复制、过滤后的复制以及主/从复制和主/主复制。CouchDBErlang编程语言编写而成,内置了支持并发、分布和容错的机制;语言和运行时环境能够充分利用有多个处理器核心的较新硬件。

    相关链接:http://couchdb.apache.org

     

    HBase

    Apache Hbase以在Hadoop分布式文件系统(HDFS,即ApacheHadoop文件系统)上运行而出名,具有分布式、可扩展、安全、高可用性等优点。HBase仿照谷歌的BigTable,可处理含有几十亿行和几百万列的庞大数据表,可以利用同一集群里面多台服务器上的存储、内存和处理器等资源,那样数据库就能实现横向扩展。其他功能特性包括:跨表和列的Kerberos安全性、自动分片、完全一致性,以及便于添加服务器以增加计算容量的向外扩展架构。HBase还有压缩、内存中操作和针对每列的布隆过滤器等功能。MapReduce任务在Hadoop中运行,可以使用HBAse表用于输入和输出。

    相关链接:http://www.cloudera.com/content/cloudera/en/products-and-services/cdh/hbase.html

     

    Hypertable

    Hypertable仿照Bigtable(谷歌的大规模扩展数据库),拥有一种扁平的表结构,采用键前缀和块数据压缩。它与关系数据库没多少相似之处,除了这一点:它以采用行和列这种形式的信息表来表示数据。Hypertable中的行键是UTF-8字符串,不支持数据类型、连接或事务。Hypertable中的信息以大规模数据表的形式存储,按行键排序,行键是唯一的、主要的键。Hypertable的其他功能包括:单元版本控制(时间戳)、列修饰符、命名空间(就像文件系统中的目录层次结构),以及为RangeServer进程添加额外服务器时可实现“实时”扩展。

    相关链接:http://www.hypertable.org

     

    MongoDB

    开源文档数据库MongoDBC++编写而成,是一种NoSQL数据库。功能包括:面向文档的存储(JSON式样的文档和动态模式)、支持全面索引(针对任何属性)、复制和高可用性(跨局域网和广域网)、自动分片(横向扩展)、查询、快速就地更新以及映射/化简。MongoDB还有灵活的聚合和数据处理、GridFS(存储任何大小的文件)、MongoDB管理服务和专业支持。MongoDB的一大优点就是嵌入的文档和数组,它们减少了需要开销很大的连接。此外,动态模式支持顺畅多态,文档对应于许多编程语言中的原生数据类型。

    相关链接:https://www.mongodb.org

     

    Redis

    RedisANSI C编写而成,是一种联网的内存中键值数据存储系统。这是一种大受欢迎的键值数据存储系统,已经与它有着密切关系的语言包括ActionScriptCC++C#ClojureCommon LispDartErlangGoHaskellHaxeIoJavaJavaScriptNode.js)、LuaObjective-CPerlPHPPure DataPythonRRubyScalaSmalltalkTcl。主要的功能特性包括:键值映射的字典数据模型、通过将整个数据集存储到内存中实现的持续性、主从复制以及通过内存中存储提升的性能。Redis还提供开发阶段集群、IaaSPaaS平台中易于使用的特点,以及将Radis用作托管服务的功能(没必要启动数据库的虚拟机实例)。

    相关链接:http://redislabs.com

     

    Riak

    这种数据库是一种云存储和分布式数据库相结合的解决方案(Riak CS/Riak),目的在于在私有云和公有云中提供任何规模的云存储。Riak具有诸多功能特性:与亚马逊S3-API兼容、可了解每个租户的情况(通过网络输入/输出来了解)、支持元数据和大对象、多数据中心复制及更多功能。Riak中的数据在默认情况下具有私密性;访问控制列表可用来进一步完善数据可见性。然而,目前并不支持对“静态数据”进行加密;数据在获取时没有经过任何压缩(不过可以由外部应用程序来进行压缩)。

    相关链接:http://docs.basho.com/riakcs/latest/

     

    八、开源配置工具

     

    Axemblr Provisionr

    这个Apache孵化器项目主要是一种跨多个云的虚拟机池管理工具。作为一项简单的服务,Axemblr Provisionr可以管理几十个或几百个虚拟机组成的池。该项目专注于半自动化的工作流程、云移植性和配置管理。为了实现云移植性,API隐藏起来,并做了一些假设,比如平台运行特定的操作系统,拥有预安装的程序包和库、DNS设置和网络配置。该项目的外部依赖项目前都有Apache兼容许可证,比如ActivitiApache 2.0)、AWS SDKApache 2.0)、jcloudsApache 2.0)和Google GuavaApache 2.0)。Axemblr目前用于根据需要在企业内部部署Hadoop集群,用于测试和质量保证。

    相关链接:http://provisionr.incubator.apache.org

     

    Cobbler

    Cobbler倡导的口号就是化简(reduce)、重复使用(reuse)、回收(recycle)。作为支持快速配置网络环境的Linux安装系统,Cobbler依赖庞大的模板库来配置及管理DNSDHCP之类的服务。为了最大限度地重复使用代码,kickstartpreseed之类的所有响应文件也都模板化。除了模块库外,Cobbler还有一大堆的代码片段可以嵌入到模板中。目的在于,支持管理员易于使用,并且省去编写新代码的时间,让管理员可以管理和响应。应用程序用Python编写而成,总共只有大约1.5万行代码,就一款企业应用程序而言异常短小。不过,由于强大的功能特性和丰富的配置选项,又能够与Puppet之类的配置管理应用程序联系起来,Cobbler比其他一些更庞大的资源配置工具更像是一款管理员工具。

    相关链接:http://www.cobblerd.org

     

    JuJu

    UbuntuJuJu有一个讨巧的主题:charm可通过charm商店来获取。在你的云上运行JuJu就如同利用GUI或命令行接口来定义、配置、部署、管理、监控服务,并将服务扩展到任何公有云或私有云一样简单。有了几乎可以满足各种要求的charm,通过插件添加新的配置功能就跟部署之前,搜索Ubuntu charm商店,然后将你所需要的charm拖到“画布”(canvas)上、配置新功能来得一样容易。charm可以通过服务彼此连接起来,已预先构建,知道与哪些charm兼容。JuJu通过Landscape提供了服务监控、警报和额外智能,Ubuntu的这个系统管理工具可用于检查、重启和更新运行中的服务。

    相关链接:https://juju.ubuntu.com

     

    Salt Cloud

    虽然号称使用简单,但SaltStack在大小、功能多样性和配置可能性方面类似OpenStack。这款系统和配置管理软件拥有可高度配置的资源配置功能,支持大多数基础设施、云和开发运营等环境。Salt Cloud的一些企业功能包括:通过其基础设施自动化和云编排,推送拉取远程执行、为数据中心工作流程和任务编排详细描述(overstate)、应用程序配置及持续部署、混合云配置及管理以及并行管理。SaltStack将一致性和简单性作为卖点,尤其是凭借Salt声称的最低的管理成本和运营成本,单一的独立式平台以及根本不需要编程。它还提供了一种高效的配置管理系统,根本不需要专有的管理工具、代码或语言。它有单一的用户界面和命令行、统一的用户体验以及易于部署和管理。

    相关链接:http://www.saltstack.com

     

    Dell Crowbar

    戴尔的Crowbar很惹人注目。戴尔的这种云计算框架最先于2011年在开源大会(OSCON)上开放源代码,似乎仍然是很重要的框架。Crowbar让用户可以简化在云端配置、部署及使用企业硬件的任务。戴尔Crowbar用户可以在线移动硬件,快速高效地安装和配置应用程序,并且安装操作系统,不必等工作人员架设和配置服务器。Crowbar便于硬件出现故障后快速恢复,还能够安装及配置应用程序和操作系统,只需要一次。现在添加了Hadoop后,增添了支持多操作系统的功能。一种名为“barclamp”的模块化概念俨然成形,可用于包装部署基础设施的单个层。这些barclamp让其他应用程序可以通过插件插入到Crowbar框架,充当具有独特生命周期的独立模块,提供其他barclamp可以使用的服务,并执行其他众多操作。

    相关链接:http://www.dell.com/learn/us/en/19/cloud-computing/crowbar-software-framework

     

    九、开源配置管理工具

     

    Ansible

    Ansible是一种模型驱动型配置管理工具,充分利用SSH,改善安全、简化管理。除了配置管理外,它还能够让应用程序部署(甚至多层部署)、工作流程编排和云配置实现自动化,因而Ansible公司喜欢该工具被归为“编排引擎”这一类。Ansible基于五大设计原则,包括易于使用(不需要编写脚本或自定义代码)、易于掌握(对管理员和开发者来说都是如此)、全面的自动化(让你可以做到你环境中的几乎一切都实现自动化)、高效率(因为它在OpenSSH上运行,因而不依赖内存或处理器资源),以及安全性(它天生来得更安全,因为不需要代理、额外端口或根级守护程序)。与其他许多开源项目一样,Ansible也有一款收费产品,使用一种名为Ansible TowerWeb用户界面。

    相关链接:http://www.ansible.com/home

     

    CFEngine

    作为市面上最早的功能齐全的配置管理系统之一,CFEngine已推出了好几个版本,就在操作系统由本地数据中心进入到云端的同时,它依然保持了重要地位。作为基础设施自动化框架的核心,CFEngine还是一种建模和监控合规引擎,它占用很少的资源就能够运行。按照CFEngine的建议,识别初始预期状态的几个步骤包括如下:1)为你环境的预期状态建模;2)先模拟配置变化,然后再提交;3)验证预期状态,为自动自愈准备就绪;4)收集实际状态与预期状态的差异方面的报告。CFEngine有一个庞大的库,里面可重复使用的数据驱动型模型将帮助用户为预期状态建模。这些基础设施模式旨在可以跨整个企业重复使用。

    相关链接:https://cfengine.com

     

    Chef

    Chef既有一款开源产品,又有一款企业产品,这种功能强大的工具可用于全面的IT基础设施配置管理。由于开源Chef同为这两种产品的核心,共同的功能特性包括:一种灵活、可扩展的自动化平台,可访问800多本可重复使用的“食谱”(cookbook),并与领先的云服务提供商整合起来。Chef还提供企业平台支持,包括WindowsSolaris,让你可以创建、启动和管理OpenStack云。它易于安装(归功于“一键式”Omnibus安装工具)、系统自动发现(归功于Ohai)、基于文本的搜索功能以及支持多种环境。其他值得注意的功能包括“Knife”命令行接口、测试潜在变化的“模拟执行”(Dry Run)模式,以及在单一Chef服务器上管理10000多个节点的功能。Chef企业版才有的功能特性包括:可作为主机托管服务来提供、经过改进的管理控制台、集中式活动和资源报告,另外还有“推送”(Push)指挥与控制客户软件运行。Chef企业版还包括多租户模式、基于角色的访问控制(RBAC)、高可用性安装支持及验证,以及使用LDAP或活动目录的集中式验证。

    相关链接:http://www.getchef.com

     

    Puppet

    Puppet最初是一种广受欢迎的开发运维工具,如今已迅速成为一股潮流。PuppetRuby编写而成,与Chef一样,它同样既有开源版,也有企业版。不过,虽然Chef为开源版和企业版都提供了相当丰富的功能特性,而Puppet将大部分功能特性放入到企业版。开源版随带的功能特性包括:资源配置(亚马逊EC2和谷歌计算引擎),配置管理(操作系统和应用程序),外加Puppet Forge上的2000多个预构建配置。企业版拥有的功能特性则要多得多,除了开源版的功能外,还包括图形化用户界面、事件检查工具(直观地显示基础设施的变化)、得到支持的模块和资源配置(VMware虚拟机)。另外还包括配置管理(发现和用户帐户)、编排、任务自动化以及基于角色的访问控制(支持外部验证)。Puppet 企业版还有一个统一的跨平台安装工具,可以安装所有组件和支持服务。

    相关链接:http://puppetlabs.com

     

    Salt

    作为一款更庞大的企业就绪的应用软件的一部分,Salt配置管理组件正如人们预料的那样强大稳健、功能齐全。基于远程执行核心而建,系统的执行在“minion”节点上进行;minion节点收到来自中央Salt主节点的命令后,返回相应命令的结果。Salt支持同时配置成千上万个主机的任务。基于主机“状态”,根本不需要编程以编写配置文件;配置文件很短小,易于理解,可以帮助识别每个主机的状态。此外,对于确实习惯编程的那些人或想更大程度地控制及熟悉配置文件的管理员来说,可以利用任何语言来进行配置。

    原文标题:A Guide to Open Source Cloud Computing Software

    展开全文
  • 所有项目较为成熟的、有规模的开源云项目。 下一代的企业正在使用开放云技术打造完全不同的自己。开源云项目定义了一种新的方法,来构造和管理企业的应用和系统。你的选择将有助于鉴定和识别出那些最受欢迎的开源云...
  • 作为全球公认的成功开源项目之一,OpenStack已经在2018年发布了最新的“Queens”版本,这是第17个版本,引发了业界的热烈讨论。 不仅如此,基于OpenStack构建的公有平台、私有平台的供应商,也赢得了越来越多的...
  • 四大开源云平台

    千次阅读 2013-01-07 15:37:22
    CloudStackOpenStackOpenNebulaEucalyptus
  • 1.可用的服务器:组装PC机一台,操作系统为Ubuntu 14.04 LTS,无桌面环境,放在机房,使用远程终端进行访问。有安装了Apache2,运行着svn服务。内网IP地址为192.168.0.168 2.开始安装 2.1 安装web服务器 ...
  • 转码express-ffmpeg是基于nodejs开发的转码切片管理平台,源码开源并且完全免费,每个想要学习ffmpeg操作的人都可以安装使用,安装之前需要系统安装nodejs、mongodb、ffmpeg的环境,如果不知道如何安装,可以...
  • 开源堡垒机软件系统

    千次阅读 2016-07-01 15:17:12
    开源堡垒机 1.Jumpserver * 2.CrazyEye * 3.麒麟开源堡垒机 * 4.开源堡垒机GateOne 5.堡垒机xrdp:  an open source RDP server http://www.xrdp.org/  https://github.com/neutrinolabs/xrdp 6.集中安全...
  • 阿里镜像开源站点

    千次阅读 2018-08-01 09:32:02
    https://opsx.alibaba.com
  • 小程序开发开源项目汇总

    千次阅读 2019-03-05 15:18:27
    开发开源项目 美食地图小程序模板 新鲜天气 猫叫助手 微博鲜知 糗皮虎 图书馆小程序 水果商城小程序 权益中心小程序 网易客堂仿写小程序 五指棋小程序 菜谱小程序 吸猫小程序 小程序开发实现朋友...
  • 百度手环开源 51822开发套件

    万次阅读 2014-09-12 09:09:47
    在昨日深圳举办的“开源与创新:可穿戴设备的未来与趋势”论坛上,百度宣布开源百度智能手环方案,帮助硬件厂商以极低的成本快速切入智能设备市场。  据了解,百度智能手环的开源方案是基于Apache2.0开源...
  • 云平台架构EasyDarwin开源流媒体云平台目前已经包括了EasyCMS中心管理服务、EasyDarwin流媒体服务、EasyCamera设备端(支持Arm_Linux、Android、PC)、EasyNVR(支持ARM...,整个开源云平台经过一段时间的运行测试...
  • 国内开源镜像站

    千次阅读 2017-09-01 23:04:31
    搜狐开源镜像站 http://mirrors.sohu.com/网易开源镜像站 http://mirrors.163.com/阿里云开源镜像站 http://mirrors.aliyun.com/公云开源镜像站 http://mirrors.pubyun.com/首都在线开源镜像站 ...
  • 2019 中国开源年会即将开启

    千次阅读 2019-10-30 17:27:45
    2019 中国开源年会(COSCon'19)为业界最具影响力的开源年度盛会,将于 11 月 2 日至 3 日在华东师范大学(上海普陀区中山北路校区)由开源社举办。 中国开源年会 COSCon 作为一场专属于开源人的聚会,吸引了越来越多...
  • fedora Linux 配置阿里云开源镜像站

    千次阅读 2016-09-02 21:15:10
    在使用dnf命令安装软件时,有时会遇到下载速度非常慢的情况,解决方法就是使用国内的开源镜像站。阿里云开源镜像站 http://mirrors.aliyun.com/本文来自 http://mirrors.aliyun.com/help/fedora阿里云开源镜像站的...
  • 本文由+社区发表 作者:堵俊平 在数据爆炸与智能革命的新时代,新的平台与应用层出不穷,开源项目推动了前沿技术和业界生态快速发展。本次分享将以技术和生态两大视角来看大数据和人工智能技术的发展,通过分析...
  • 当Richard Stallman发起开源运动之时,他恐怕不曾想到开源能够给今日的世界带来如此巨大和深远的变化。开源的开放、共享以及大家齐心协力共同向着同一目标努力奋进的精神,如今已经成为人类共同的精神财富,激励着...
  • 一个开源的网易音乐api项目

    万次阅读 2019-04-30 10:12:13
    昨天在Github上发现了一个开源的音乐api项目,restful风格,Json格式,提供的功能真的是史上最全,足够你开发一款属于自己的客户端了。而且作者非常贴心,除了开源了这个项目外还提供了一份详细的使用文档。今天分享...
1 2 3 4 5 ... 20
收藏数 180,580
精华内容 72,232
关键字:

开源云