1>什么是云?
计算机网络用语
云是指你作为接受服务的对象,是云端,不管你在何时何地,都能享受云计算提供的服务。云是网络、互联网的一种比喻说法。
云分为私有云、公有云、混合云及行业云等等。云在勾画网络拓扑或网络结构时常见,过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。
2>什么是私有云?
私有云(Private Cloud)是为一个组织单独使用而构建的一种云计算服务形式。私有云可提供对数据、安全性和服务质量的有效控制。该组织拥有基础设施,并可以控制在此基础设施上部署自己的网络和应用服务。私有云可由该组织自己的ICT部门构建,也可由专门的私有云提供商构建。私有云的所有者不与其他企业或组织共享资源,私有云的核心属性是资源专有。
2>-1私有云的特点和价值
企业部署云计算服务的模式有三大类:公有云(Public Cloud)、私有云(Private Cloud)、混合云(Hybird Cloud)。其中,私有云则是云计算服务提供商为特定组织在其内部建设的专有云计算系统。私有云系统存在于该组织数据中心的防火墙之内,或者部署在一个安全的主机托管场所,只为该组织提供服务。
私有云的特点和价值有:
安全:私有云仅面向特定用户,而非面向一般公众,且私有云部署在该组织自己的防火墙后面,因此可提供更高的安全及隐私级别,可确保第三方无法访问敏感数据。
SLA稳定:私有云通常部署在该组织自己的数据中心内部,当本组织内部访问私有云中资源时,SLA非常稳定。
自主可控:私有云客户可以自由购买他们喜欢的硬件和软件,而不是公有云服务提供商提供的硬件和软件。
定制化强:私有云客户可以以他们想要的任何方式定制计算、存储和网络,并运行自己的定制化软件和管理平台,私有云围绕该组织的实际业务需求来定制化构建。
2>-2私有云都提供了什么?
私有云主要可以提供IaaS(Infrastructure as a Service,基础设施即服务)、PaaS(Platform as a Service,平台即服务)、运维能力。
私有云IaaS层提供计算、存储、网络资源服务能力。用户根力。私有云需要尽可能做到满足业务需求的前提下精简系统,以优化运维复杂度及投资成本。
私有云PaaS一般认为是公有云PaaS的一个能力子集,与公有云不同的是,私有云的PaaS只为拥有私有云的用户提供服务,而第三方用户无权限接入使用。
私有云用户可以直接使用IaaS、PaaS提供商提供的运维平台,也可以根据自身业务特点,按需定制自己独有的、与业务紧密相关的运维平台。
3>什么是公有云?
公有云通常指第三方提供商为用户提供的能够使用的云,公有云一般可通过 Internet 使用,可能是免费或成本低廉的,公有云的核心属性是共享资源服务。这种云有许多实例,可在当今整个开放的公有网络中提供服务。
4>私有云与公有云的比较
4>-1 总体对比
与公有云相比,私有云的安全性更好,但成本也更高,且私有云整个基础设施的平均利用率要低于公有云。
4>-2与私有云相比,公有云具备以下优点:
更高的弹性和可扩展性:使用公共云,客户可以快速订购计算、存储和网络资源来应对激增的业务需求,而无需购买和部署新的硬件。
更低的进入成本:大多数客户可以无需添加自己的物理基础设施就可以使用公共云服务。
更快地获取最新技术:在许多情况下,与客户自己购买和安装硬件和软件相比,公有云提供商能够更快地提供最新的硬件和软件,及其对应的升级更新。
4>-3建设与运行模式对比
私有云的资产归属该组织拥有,由该组织主导云的建设、管理和维护,部署在该组织内部的数据中心。私有云前期建设投入成本较多,建设和调试周期较长。私有云的运维一般需要该组织自身完成。
公有云是一种新的IT能力消费模式,公有云的用户只需关注云服务所提供的能力和SLA,并不关注背后的资源所在地,以及建设、交付、运维等问题。公有云用户可以快速租用资源,部署自己的业务,前期投入低,业务上线周期短。在运维层面,公有云提供商提供大部分运维服务,公有云用户只需要关注自身的应用。
4>-4架构对比
从架构上看,一般认为私有云的IaaS、PaaS能力是公有云IaaS层、PaaS层能力的子集。由于私有云是满足某组织的具体业务需求构建的,因此不需要将IaaS、PaaS的能力全部都纳入私有云,该组织不使用的能力,可以不部署。例如该组织只使用虚拟机服务,不使用裸金属服务,则该私有云中可以不部署裸金属服务。
公有云架构中除了IaaS、PaaS以外,还有SaaS、运营等主要能力。
公有云一般均提供SaaS能力,但是在私有云中,却不一定会部署SaaS软件。当SaaS软件私有化部署后,私有云拥有者需要投入大量的资源去维护SaaS软件,在成本上比使用公有云版本的纯SaaS服务要高得多。在实际部署中,不论是公有云、私有云、混合云,其部署都是基于不同客户的需求制定的SaaS实施方案,主要取决于客户对于安全、成本、维护等各个因素的综合考虑。
由于私有云的私有属性,在私有云的组织内部一般不涉及费用计算问题,此时不涉及运营。而公有云需通过各种模式向其用户收费,因此其运营能力是必选项。
4>-5业务类型对比
私有云中一般部署该组织的核心业务、设涉及到信息安全等级高的业务。
公有云中一般部署非核心业务、需要快速迭代的业务、对外部提供服务的业务。
类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..
我试图获取一个长度在1到10之间的字符串,并输出将字符串分解为大小为1、2或3的连续子字符串的所有可能方式。例如:输入:123456将整数分割成单个字符,然后继续查找组合。该代码将返回以下所有数组。[1,2,3,4,5,6][12,3,4,5,6][1,23,4,5,6][1,2,34,5,6][1,2,3,45,6][1,2,3,4,56][12,34,5,6][12,3,45,6][12,3,4,56][1,23,45,6][1,2,34,56][1,23,4,56][12,34,56][123,4,5,6][1,234,5,6][1,2,345,6][1,2,3,456][123
我正在研究使用EventMachine支持的twitter-streamrubygem来跟踪和捕获推文。我对整个事件编程有点陌生。我如何判断我在事件循环中所做的任何处理是否导致我落后?有没有简单的检查方法? 最佳答案 您可以通过使用周期性计时器并打印出耗时来确定延迟。如果您使用的是1秒的计时器,您应该已经过了大约1秒,如果它更长,您就知道您正在减慢react器的速度。@last=Time.now.to_fEM.add_periodic_timer(1)doputs"LATENCY:#{Time.now.to_f-@last}"@
假设您编写了一个类Sup,我决定将其扩展为SubSup。我不仅需要了解你发布的接口(interface),还需要了解你的私有(private)字段。见证这次失败:classSupdefinitialize@privateField="fromsup"enddefgetXreturn@privateFieldendendclassSub问题是,解决这个问题的正确方法是什么?看起来子类应该能够使用它想要的任何字段而不会弄乱父类(superclass)。编辑:equivalentexampleinJava返回"fromSup",这也是它应该产生的答案。 最佳答案
我正在尝试获得良好的Ruby编码风格。为防止意外调用具有相同名称的局部变量,我总是在适当的地方使用self.。但是现在我偶然发现了这个:classMyClass上面的代码导致错误privatemethodsanitize_namecalled但是当删除self.并仅使用sanitize_name时,它会起作用。这是为什么? 最佳答案 发生这种情况是因为无法使用显式接收器调用私有(private)方法,并且说self.sanitize_name是显式指定应该接收sanitize_name的对象(self),而不是依赖于隐式接收器(也是
我在我的rails应用程序中安装了来自github.com的acts_as_versioned插件,但有一段代码我不完全理解,我希望有人能帮我解决这个问题class_eval我知道block内的方法(或任何它是什么)被定义为类内的实例方法,但我在插件的任何地方都找不到定义为常量的CLASS_METHODS,而且我也不确定是什么here,并且有问题的代码从lib/acts_as_versioned.rb的第199行开始。如果有人愿意告诉我这里的内幕,我将不胜感激。谢谢-C 最佳答案 这是一个异端。http://en.wikipedia
来自Java,我正在尝试在Ruby中实现LinkedList。我在Java中实现它的通常方法是有一个名为LinkedList的类和一个名为Node的私有(private)内部类,其中LinkedList的每个对象都作为Node对象。classLinkedListprivateclassNodeattr_accessor:val,:nextendend我不想将Node类暴露给外部世界。然而,通过Ruby中的这个设置,我可以使用这个访问LinkedList类之外的私有(private)Node类对象-node=LinkedList::Node.new我知道,在Ruby1.9中,我们可以使用
我遇到了ruby正则表达式的问题。我需要找到所有(可能重叠的)匹配项。这是问题的简化:#Simpleexample"Hey".scan(/../)=>["He"]#Actualresults#Withoverlappingmatchestheresultshouldbe=>["He"],["ey"]我尝试执行并获得所有结果的正则表达式如下所示:"aaaaaa".scan(/^(..+)\1+$/)#Thislooksformultiplesof(here)"a"biggerthanonethat"fills"theentirestring."aa"*3=>true,"aaa"*2=
这里还有一个新手问题:require'tasks/rails'我在每个Rails项目的根路径中的Rakefile中看到了这一行。我猜这行用于要求vendor/rails/railties/lib/tasks/rails.rb加载所有rake任务:$VERBOSE=nil#LoadRailsrakefileextensionsDir["#{File.dirname(__FILE__)}/*.rake"].each{|ext|loadext}#LoadanycustomrakefileextensionsDir["#{RAILS_ROOT}/lib/tasks/**/*.rake"].so