1,云计算平台
    云计算是一种资源的服务模式,该模式可以实现随时随地、便捷按需地从可配置计算资源共享池中获取所需的资源(如网格、服务器、存储、应用服务器),资源能够快速供应并释放,大大减少了资源管理工作的开销。

    经典云计算架构包括了IaaS(Infrastructure as a Service,基础设施即服务)、PaaS(Platform as a Service,平台即服务)、SaaS(Software as a Service,软件即服务)三层服务。
    了解云计算平台和docker - 图1

    补充:
    CaaS是Communications-as-a-Service缩写,意思是通讯即服务(也可称为协作即服务)。CaaS是将传统电信的能力如消息、语音、视频、会议、通信协同等封API(Application Programming Interface,应用软件编程接口)或者SDK(Software Development Kit,软件开发工具包)通过互联网对外开放,提供给第三方(企业、SME、垂直行业、CP/SP以及个人开发者等等)使用,将电信能力真正作为服务对外提供。
    MaaS(Machine as a Service)物联网即服务,这个概念伴随着物联网产生,物联网常见的两种业务形式就是MAI与MaaS,因此MaaS属于物联网业务形式的一种。

    IaaS层为基础设施运维人员服务,提供计算、存储、网络及其他基础资源,云平台使用者可以在上面部署和运行包括操作系统和应用程序在内的任意软件,无需再为基础设置的管理而分心。
    产品
    主要产品包括:Amazon EC2,Linode,Joyent,Rackspace,IBM Blue Cloud和Cisco UCS等。
    功能
    资源抽象:使用资源抽象的方法(比如,资源池)能更好地调度和管理物理资源。
    资源监控:通过对资源的监控,能够保证基础实施高效率的运行。
    负载管理:通过负载管理,不仅能使部署在基础设施上的应用运能更好地应对突发情况,而且还能更好地利用系统资源。
    数据管理:对云计算而言,数据的完整性,可靠性和可管理性是对IaaS的基本要求。
    资源部署:也就是将整个资源从创建到使用的流程自动化。
    安全管理:IaaS的安全管理的主要目标是保证基础设施和其提供的资源能被合法地访问和使用。
    计费管理:通过细致的计费管理能使用户更灵活地使用资源。

    PaaS层为应用开发人员服务,提供支撑应用所需的软件运行时环境、相关工具与服务,如数据库服务、日志服务、监控服务等,让应用开发者可以专注于核心业务的开发。
    产品
    主要产品包括:Google App Engine,force.com,heroku和Windows Azure Platform等。
    功能
    友好的开发环境:通过提供SDK和IDE等工具来让用户能在本地方便地进行应用的开发和测试。
    丰富的服务:PaaS平台会以API的形式将各种各样的服务提供给上层的应用。
    自动的资源调度:也就是可伸缩这个特性,它将不仅能优化系统资源,而且能自动调整资源来帮助运行于其上的应用更好地应对突发流量。
    精细的管理和监控:通过PaaS能够提供应用层的管理和监控,比如,能够观察应用运行的情况和具体数值(比如,吞吐量和反映时间)来更好地衡量应用的运行状态,还有能够通过精确计量应用使用所消耗的资源来更好地计费。

    SaaS层为一般用户服务,提供了一套完整可用的软件系统,让一般用户无需关注技术细节,只需通过游览器、应用客户端等方式就能使用部署在云上的应用服务。
    产品
    主要产品包括:Salesforce Sales Cloud,Google Apps,Zimbra,Zoho和IBM Lotus Live等。
    功能
    随时随地访问:在任何时候或者任何地点,只要接上网络,用户就能访问这个SaaS服务。
    支持公开协议:通过支持公开协议(比如HTML4/5),能够方便用户使用。
    安全保障:SaaS供应商需要提供一定的安全机制,不仅要使存储在云端的用户数据处于绝对安全的境地,而且也要在客户端实施一定的安全机制(比如HTTPS)来保护用户。
    多住户(Multi-Tenant)机制:通过多住户机制,不仅能更经济地支撑庞大的用户规模,而且能提供一定的可定制性以满足用户的特殊需求。

    三种模式之间的关系
    它们之间的关系主要可以从两个角度进行分析:其一是用户体验角度,从这个角度而言,它们之间关系是独立的,因为它们面对不同类型的用户。其二是技术角度,从这个角度而言,它们并不是简单的继承关系(SaaS基于PaaS,而PaaS基于IaaS),因为首先SaaS可以是基于PaaS或者直接部署于IaaS之上,其次PaaS可以构建于IaaS之上,也可以直接构建在物理资源之上。

    2,docker的优点

    持续部署与测试:Docker消除了线上线下的环境差异,保证了应用生命周期的环境一致性和标准化。开发人员使用镜像实现标准开发环境的构建,开发完成后通过封装这完整环境和应用的镜像镜像迁移,由此,测试和运维人员可以直接部署软件镜像来镜像测试和发布,大大简化了持续集成、测试和发布过程。

    跨云平台支持:Docker带来的最大好处之一就是其适配性,越来越多的云平台都支持Docker,用户再也无需担心受到云平台的捆绑,同时也让应用平台混合部署成为可能。

    环境标准化和版本控制:基于Docker提供的环境一致性和标准化,你可以使用Git等工具对docker进行进行版本控制,相比基于代码的版本控制来说,您还能够对整个应用环境进行版本控制,一旦出现故障可以快速回滚。相比以前的虚拟机镜像,Docker压缩和备份速度快,镜像启动也像启动一个普通进程一样快速。

    容器跨平台性与镜像:Docker在原有Linux容器的基础上进行大胆革新,为容器设定了一套标准化的配置方法,将应用及其依赖的运行环境打包成镜像,真正实现了”构建一次,到处运行”的理念,大大提高了容器的跨平台性。

    易于理解且易用:一个开发者可以在15分钟之内入门Docker并进行安装和部署。因为它的易用性,有更多的人关注容器技术,加速了容器标准化的步伐。

    应用镜像仓库:Docker官方构建了一个镜像仓库,组织和管理形式类似于GitHub,其上已积累了成千上万的镜像。因为Docker的跨平台适配性,相当于用户提供了一个非常有用的应用商店,所有人都可以自由的下载微服务组件,这为开发者提供了巨大便利。

    Docker重要技术:
    Docker有两方面的技术非常重要,第一是Linux 容器方面的技术,第二是Docker镜像的技术。从技术本身来讲,两者的可复制性很强,不存在绝对的技术难点,然而Docker Hub由于存在大量的数据的原因,导致Docker Hub的可复制性几乎不存在,这需要一个生态的营造。

    docker和虚拟机比较
    了解云计算平台和docker - 图2