基于Docker的CaaS容器云平台架构设计及市场分析

基于Docker的CaaS容器云平台架构设计及市场分析

1 项目背景—概述:

  • “在移动互联网时代,企业需要寻找新的软件交付流程和IT架构,从而实现架构平台化,交付持续化,业务服务化。
  • 容器将成为新一代应用的标准交付件,容器云将帮助企业用户构建研发流程和云平台基础设施。缩短应用向云端交付的周期,降低运营门槛。加速企业向互联网技术和业务的双转型。
  • 容器云将对接各类代码托管库,实现自动化持续集成和DOCKER镜像构建,为新一代应用交付和开发运维一体化奠定了基础。容器云将支持应用的一键式部署交付,提供负载均衡,私有域名绑定,性能监控等应用生命周期管理服务。是微服务架构,轻量级应用部署和运维的理想平台。
  • 容器云是支持公有云,私有云,并且可跨云跨网进行管理的混合式容器运维平台
  • 容器云将与应用交付平台无缝对接,实现新一代应用在公有云,私有云的灵活交付。
  • 容器云将为企业打造面向下一代互联网应用的交付和运维平台
  • 变革应用交付,推动持续创新
  • 以上描述摘自DaoCloud宣传片广告词

2 项目背景—IaaS/PaaS/SaaS区别与联系:

基于Docker的CaaS容器云平台架构设计及市场分析_第1张图片
 IaaS(基础设施即服务):提供虚拟机或者其他基础资源作为服务提供给用户。用户可以从供应商那里获得虚拟机或者存储等资源来装载相关的应用,同时这些基础设施的繁琐的管理工作将由IaaS供应商来处理。IaaS主要的用户是企业的系统管理员和运维人员。
 
 PaaS(平台即服务):把开发平台作为服务提供给用户。用户可以在一个包括SDK,文档和测试环境等在内的开发平台上非常方便地编写应用,而且不论是在部署,或者在运行的时候,用户都无需为服务器,操作系统,网络和存储等资源的管理操心,这些繁琐的工作都由PaaS供应商负责处理。PaaS主要的用户是企业开发人员。

 SaaS(软件即服务):将应用作为服务提供给客户。用户只要接上网络,并通过浏览器,就能直接使用在云端上运行的应用,而不需要顾虑类似安装等琐事,并且免去初期高昂的软硬件投入。SaaS主要面对的是普通的用户。

 CaaS(容器即服务):完成IaaS和PaaS两个层级的功能。相对于传统的IaaS和PaaS服务,CaaS对底层的支持比PaaS更灵活,而对上层应用的操控又比IaaS更容易。同时因为Docker是比VM更细粒度的虚拟化服务,所以能够对计算资源做到更高效的利用。CaaS可以部署在任何物理机,虚拟机或IaaS云之上。

3 项目背景—CaaS云平台技术架构

基于Docker的CaaS容器云平台架构设计及市场分析_第2张图片

4 项目背景—CaaS云平台领域技术现状

技术关键字解析:

  • 集群框架:容器集群管理及编排系统。
  • 代码持续集成:完全自动化的代码管理,包括源代码存储、编译、连接、测试、发布整个创建过程都应该自动完成。
  • 多租户管理:实现多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间资源的隔离性。
  • 跨主机集群:可以将本地云平台内部容器资源,平台外部的客户自有容器资源,及各种第三方公有云容器资源结合到一起形成混合容器云资源模式。
  • 镜像仓库:提供本地公有/私有镜像仓库,提供第三方镜像仓库或DockerHub镜像资源集成。
  • 应用编排服务:使容器之间能够通信、彼此可以传递运行期,同时管理多个容器的行为。当容器集群共同构建应用架构时,需要考虑集群环境中的容器,哪些端口需要暴露、哪些卷需要挂载等信息。
  • 专属主机:即从本地云平台中提供给用户的专属虚拟主机环境用于构建容器集群应用。
  • APaaS服务:基于PaaS之上的公有中间层SDK开发组件或API调用接口,及公有APaaS服务平台。例:用户统一身份认证组件,APP的消息推送组件,公有消息队列平台等。
  • 容器管控:对容器进行CPU/内存资源配置,SSH或控制台容器接入,网络配置,环境变量设置,数据卷挂接,资源监控,日志管控,事件记录,二级域名或自有域名分配等功能。
  • 数据卷或云盘:基于云平台的数据存储工具。主要用于容器间数据共享,或某容器的外接数据卷进行数据持久化存储。
    基于Docker的CaaS容器云平台架构设计及市场分析_第3张图片

5 项目背景—CaaS产品销营销模式及现状

基于Docker的CaaS容器云平台架构设计及市场分析_第4张图片
基于Docker的CaaS容器云平台架构设计及市场分析_第5张图片

6 项目背景—我们为何CaaS?

为何CaaS?
未来IT界会以容器化应用作为交付的标准。CaaS容器云为开发者和企业提供了一个快速构建、集成、部署、运行容器化应用的平台,从而提高应用开发的迭代效率,简化运维环节,降低运维成本。

  • 1.首先作为公司内部技术纽带,多应用统一部署平台,提高开发效率,减少运维成本。
  • 2.CaaS平台产品化过程中,投入少且产出价值高。因为可依托现有的IaaS平台资源,相对于传统的承接项目获益的方式,CaaS即使短期内经济上收益甚微,但会积累宝贵的客户资源及数据资源,这些无形资产最终会为公司赢得巨大战略价值(更广泛的资源整合,更多的合作伙伴加盟等)。
  • 3.增加云企业辨识度,如果只具有IaaS层服务的云平台是不完整的,对用户的云服务是不充分的,应该具有为用户提供全方位的云服务体系,应该具有先进且高附加值的云平台。

7 项目背景—CaaS云平台功能模块

基于Docker的CaaS容器云平台架构设计及市场分析_第6张图片
镜像仓库管控:

本地镜像仓库:创建本地镜像仓库,为平台提供自有镜像资源支持。

本地镜像仓库搭建,本地镜像文件基础管理(版本,描述,指南,后期制作/调试),DockerHub或第三方镜像仓库挂接

容器基础功能:容器是平台中最小计算单元,针对容器的基础管理功能。

镜像/容器配置,容器生命期管理(启动,停止,删除),容器资源配置(CPU,内存,磁盘),容器参数设置(执行命令,接入点),端口映射配置(直联端口,内联方式,负载均衡端口),环境变量设置,容器信息显示,容器日志管理,容器资源监控(CPU,内存,带宽)

容器服务管理:容器服务是指通过启动基于一个镜像文件的多个容器共同完成某应用的负载均衡功能,比如启动多个Tomcat容器做某Web应用的服务端负载均衡场景。
服务分类管理(应用,数据,工具,磁盘),服务生命期管理(启动,停止,删除),多容器弹性伸缩配置(自动,手动CPU/内存阈值),多容器负载均衡,服务间链接管理,服务日志管理

容器应用管理:容器应用是由多个容器服务共同完成用户业务目标的架构。比如某业务架构的容器应用为(Ngnix服务+Tomcat服务+MySql服务+数据卷服务
应用生命期管理(启动,停止,删除),应用编排,应用基本信息管理,应用域名管理(二级域名,自有域名),应用资源监控(CPU,内存,带宽),应用事件描述

主机集群管理(域管理):主机域包括本地平台主机集群环境,第三方公有云主机集群接入,用户私有主机接入等。
主机生命期管理(接入,退出),第三方公有云主机管理,域资源监控(CPU,内存,带宽)。

数据卷管理:数据卷是在宿主机上存在的特殊用途目录,为了完成某些容器数据持久化,荣期间数据共享等功能。还可以作为用户云盘使用。
数据卷生命期管理(创建,配置,删除),数据卷信息显示
租户管理:接入平台的用户个人属性管理;
账户及套餐管理,个人信息管理

用户域及Dashboard功能:本平台内全部资源共同集合成公有域,而在本平台内的租户只能管控自己私有域中的资源,所以要对平台进行逻辑分层,至少分为公有域和用户私有域两层。而对层级的划分后,会涉及到以上各功能点的用户私有域表现。

持续集成:为了实现代码持续集成的能力,需要挂接公共代码仓库(GITHub,GITCafe)等。
公共代码库API接口调用(用户身份认证/授权,项目/代码接入,持续集成事件回调)等。

APaaS服务工厂管理:APP消息推送服务,用户统一认证服务,公共消息平台,健康监控平台等APaaS服务管理。

本文来自:http://www.cnblogs.com/darkprince/

你可能感兴趣的:(Linux系统运维项目)