• 云计算科普——私有云和共有云


    云的概念除了出现频率很高的SaaS,PaaS和IaaS之外,还有两个概念也经常冒出来,就是私有云和共有云(private cloud, public cloud)。

    这两个概念是从另一个侧面描述云的用途。

    所谓私有云,就是企业内部使用的,不对外部开放的云系统。

    私有云是企业自身为了利用云的各种优势而开发的云系统。一个大的企业,集群肯定是必不可少的。而一个新的系统or功能想上线,就不得不面临申请资 源,安装软件,配置环境等一系列的问题。如果可以让资源分配这一块流程化自动化,无疑可以大大提高工作效率,而且可以减少人为操作造成的错误。比如说,一 个功能如果需要10台8CoreCPU,100G内存的机器,安装Linux XX版,Oracle XXg,并且五台在A数据中心,五台在B数据中心。如果要认为操作,会非常麻烦,而且不一定就有现成的机器,如果需要购置机器,那就更费事了。同时,企业 为了应用系统的安全,隔离,维护和升级的考虑,一般不会在一台物理机器上运行两个不一样的系统,这时候一台配置很高的机器可能大多数时间并没有被跑在上面 的应用充分利用。这也是一种很大的资源浪费。

    如果使用云系统来管理集群,把资源的分配,配置和管理都流程化标准化,上面提到的问题都会迎刃而解了。企业的私有云可以是PaaS,也可以是 IaaS,这个需要根据企业自身业务需求确定。如果一个公司的业务就是跑war包,每个系统都是独立的war包跑在应用服务器上,那做成PaaS很合适。 每个系统上线的时候,只要配置好自己需要的资源(CPU,数据库,存储,带宽,数据中心位置等等)就可以扔给云了。企业的私有云是为企业量身打造,肯定会 更加方便适用于企业自身的业务。

    私有云因为是为了企业自身服务的,所以在权限管理,安全等方面的要求可以不做的很高,主要还是集中在解决繁琐的资源分配,应用系统部署,应用系统的稳定性可用性上。

    相对于私有云,共有云的概念就是想外部开放申请和使用的云系统。相比之下就是需要增加用户管理,安全策略等模块。GAE,Amazon EC2这些都是共有云。

    ------------------分割线---------------------

    Why Cloud

    习惯了传统模式之后,可能一下无法理解为什么要兴师动众的上云系统。随着IT业的发展,公司的基础设施规模开始飞速扩大,更好的管理和利用这些资源 慢慢变成了一个问题。就个人来说,我对装系统配环境是无比痛恨的。服务器压力大,一会儿硬盘坏了,一会儿路由器出毛病了,机器一多了,故障率再低也几乎每 天都有几个机器出问题。如何让这些问题不去影响到上层业务,是一个必须解决的问题。

    IT界有句俗话说,所有问题都可以通过增加一层来解决。

    增加一层,让上层应用不再直面自己不应该处理的问题,让增加的这一层专门处理普遍的,通用的问题。比如,增加Spring这一层,就可以把 Runtime Dependency交给Spring管理;增加Hibernate这一层,就可以把ORMapping交给Hibernate处理,应用不再直面数据 库。同时,也增加了隔离性。当Spring中的一个bean改变的时候,别的bean可能并不需要改变代码,只要改改配置文件就行了。同样,从MySQL 迁移到Oracle的时候,隔离性也可以帮助我们尽量少的修改代码,而通过修改配置来适应新的环境。笔者曾经悲催的管理过一个SharePoint站点。 为了应对站点down掉,站点迁移等一系列的问题,最佳实践就是增加虚拟机这一层,把它装到一个虚拟机上,配置好一切之后,备份初始虚拟环境,然后让虚拟 机跑去吧。每天备份SP数据,就算虚拟机挂了,直接用备份的初始环境恢复数据就行了,最多损失一天的数据。

    对于企业遇到的基础设施的问题,这里需要增加的一层就是云。云可以通过虚拟化来管理硬件资源,进而可以提供更多的服务。资源分配,资源利用,环境配 置,资源管理,环境监控,错误恢复,应用迁移等等都可以在上层应用没有注意到的情况下来进行(比自己玩虚拟机高级多了)。正所谓,不要重复自己,如果一件 事情做了一遍又一遍,就应该想办法让它自动化。云平台就是自动化管理硬件资源的解决方案。

    如果需要配置一个LAMP环境,手动安装可能能需要下载image,安装,配置,漫长等待后还要测试。不出任何问题可能也要折腾个一天半天的,身心 疲乏不说,可能到时候都不一定能成。如果IaaS服务商提供了现成的配置好的image,租用云主机可能只需要将它挂载到云主机上就行了,整个过程可能都 不到一个小时,而且保证能用。对比之下,云平台优势就能看得出来了。

  • 相关阅读:
    selenium的持续问题解决
    为什么使用Nginx
    [转]性能测试场景设计深度解析
    [转]CentOS7修改时区的正确姿势
    [转]利用Fiddler模拟恶劣网络环境
    [转]什么是微服务
    [转] WebSocket 教程
    [转] Python实现简单的Web服务器
    shell修改配置文件参数
    [转] linux shell 字符串操作(长度,查找,替换)详解
  • 原文地址:https://www.cnblogs.com/zcy_soft/p/2186498.html
Copyright © 2020-2023  润新知