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

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

---转载请注明出处,多谢!---

1 项目背景---概述:

  “在移动互联网时代,企业需要寻找新的软件交付流程和IT架构,从而实现架构平台化,交付持续化,业务服务化。

容器将成为新一代应用的标准交付件,容器云将帮助企业用户构建研发流程和云平台基础设施。缩短应用向云端交付的周期,降低运营门槛。加速企业向互联网技术和业务的双转型。

  容器云将对接各类代码托管库,实现自动化持续集成和DOCKER镜像构建,为新一代应用交付和开发运维一体化奠定了基础。容器云将支持应用的一键式部署交付,提供负载均衡,私有域名绑定,性能监控等应用生命周期管理服务。是微服务架构,轻量级应用部署和运维的理想平台。

  容器云是支持公有云,私有云,并且可跨云跨网进行管理的混合式容器运维平台。

  容器云将与应用交付平台无缝对接,实现新一代应用在公有云,私有云的灵活交付。

  容器云将为企业打造面向下一代互联网应用的交付和运维平台。

  变革应用交付,推动持续创新。”

---以上描述摘自DaoCloud宣传片广告词

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

  IaaS(基础设施即服务):提供虚拟机或者其他基础资源作为服务提供给用户。用户可以从供应商那里获得虚拟机或者存储等资源来装载相关的应用,同时这些基础设施的繁琐的管理工作将由IaaS供应商来处理。IaaS主要的用户是企业的系统管理员和运维人员。

  PaaS(平台即服务):把开发平台作为服务提供给用户。用户可以在一个包括SDK,文档和测试环境等在内的开发平台上非常方便地编写应用,而且不论是在部署,或者在运行的时候,用户都无需为服务器,操作系统,网络和存储等资源的管理操心,这些繁琐的工作都由PaaS供应商负责处理。PaaS主要的用户是企业开发人员。

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

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

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

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

技术关键字解析:

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

CaaS平台


集群框架


代码持续集成


某云平台A


Docker Swarm


支持Github,Bitbucket,Coding,GitCafe等第三方代码仓库。自动侦测本地用户账号,并找到该账号下的工程代码或资源,根据该工程下的DockerFile在本地云平台Build成镜像文件,并可手动/自动部署或发布。

支持客户端代码持续集成。


某云平台B


Azure


同某云平台A。


某云平台C


Kubernetes/Mesos


同某云平台A。


CaaS平台


多租户管理


跨主机集群


镜像仓库


某云平台A


支持


支持

腾讯云,阿里云,UCloud,

AWS等IAAS虚拟主机


支持

本地公有,租户私有,DockerHub


某云平台B


支持


只支持本地云跨主机


支持


某云平台C


支持


支持


支持


CaaS平台


应用编排服务


专属主机


APaaS服务


某云平台A


支持


支持


健康监控


某云平台B


支持


支持


不支持


某云平台C


支持


支持


不支持


CaaS平台


容器管控


数据卷或云盘


某云平台A


支持


支持


某云平台B


支持


支持


某云平台C


支持


支持

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


CaaS平台


销售模式


某云平台A


免费用户:

对容器数量有限制,Max容器数:2

付费用户:

对容器数划分若干套餐,并按月收费。

例:8x套餐:¥49/月,最多8容器。


某云平台B


免费用户:

对容器数量和CPU数量有限制,Max容器数:4 CPU数:2

付费用户:

对资源(CPU,内存,磁盘,带宽)等划分为若干套餐,并按月收费或按日收费。用户可清晰的在WEB上看到每日账单。

例:S套餐:¥58/月,1CPU共享,1GB内存,10GB磁盘,10MB共享带宽。

对于专属主机单独收费。

定期有活动促销优惠。


某云平台C


免费用户:

CPU:0.3 网络:10M带宽 内存:0.5G 磁盘:0.6G 测试集群:1个

付费用户:

对资源(CPU,内存,网络,磁盘,编排服务)等划分为若干套餐,按小时计费。用户可清晰的在WEB上看到每时账单。

例:S套餐:$56/月,1CPU共享,1G内存,10G硬盘,10M共享带宽。

另提供VIP套餐,即集群套餐。

例:M套餐:¥99/月,1个集群即10个容器节点


CaaS平台


现状


某云平台A


CEO,来自微软Azure和VMware PaaS架构师。CTO,来自EMC 中国研究院总架构师。已获得光速安振创投基金数百万美元的PreA轮投资。至今,已经吸引了近万个开发者和企业用户。目前,某云平台A节点分布在全球6个数据中心,大约有上千个业务同时运行,却只有“半个”运维工程师。


某云平台B


CEO,CTO。15年10月完成A轮1000万美金融资(宽带资本天使,高榕资本PreA轮200万美金,高榕资本A轮1000万美金),两名微软Azure团队重要架构师。从 6月上线以来,已经为几十家企业客户服务,包括金山、微软、e 袋洗等,使用的开发者达到了上万人。


某云平台C


CEO,来自IBM CDL工程师。创业团队核心人员来自IBM,阿里等。目前完成了天使轮500万人民币融资,正在寻求A轮融资。截止7月底,某云平台C已经拥有超过5千用户,运行了超过 5 万个容器。目前某云平台C有 15 名员工,其中 13 名研发人员,包括CEO都在抽时间写代码。


美国Docker


美国Docker公司经过2014年一月到2015年4月的三轮融资,总共融到了来自红杉资本和高盛等的1亿6000万美元。

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

为何CaaS?

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

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

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

镜像仓库管控:

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

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

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

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

容器服务管理:容器服务是指通过启动基于一个镜像文件的多个容器共同完成某应用的负载均衡功能,比如启动多个Tomcat容器做某Web应用的服务端负载均衡场景。

服务分类管理(应用,数据,工具,磁盘),服务生命期管理(启动,停止,删除),多容器弹性伸缩配置(自动,手动CPU/内存阈值),多容器负载均衡,服务间链接管理,服务日志管理

容器应用管理:容器应用是由多个容器服务共同完成用户业务目标的架构。比如某业务架构的容器应用为(Ngnix服务+Tomcat服务+MySql服务+数据卷服务

应用生命期管理(启动,停止,删除),应用编排,应用基本信息管理,应用域名管理(二级域名,自有域名),应用资源监控(CPU,内存,带宽),应用事件描述

主机集群管理(域管理):主机域包括本地平台主机集群环境,第三方公有云主机集群接入,用户私有主机接入等。

主机生命期管理(接入,退出),第三方公有云主机管理,域资源监控(CPU,内存,带宽)。

数据卷管理:数据卷是在宿主机上存在的特殊用途目录,为了完成某些容器数据持久化,荣期间数据共享等功能。还可以作为用户云盘使用。

数据卷生命期管理(创建,配置,删除),数据卷信息显示

租户管理:接入平台的用户个人属性管理

账户及套餐管理,个人信息管理

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

持续集成:为了实现代码持续集成的能力,需要挂接公共代码仓库(GITHub,GITCafe)等。

公共代码库API接口调用(用户身份认证/授权,项目/代码接入,持续集成事件回调)等。

APaaS服务工厂管理:

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

/*--------------------------------------------------------------------------------------*/

作者自述:

本人从事十六年WINDOWS应用/游戏/设备/WEB开发,目前从事Linux,Docker及CAAS云平台架构设计及开发。

基于全球开源共享理念,本人会分享更多原创及译文,让更多的IT人从中受益,与大家一起进步!

基因Cloud 原创,转发请注明出处

[email protected] (工作繁忙,有事发邮件,QQ不加,非要事勿扰,多谢!)

2015.11 月

时间: 2024-08-06 07:31:14

【原创】基于Docker的CaaS容器云平台架构设计及市场分析的相关文章

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

[转自]http://www.cnblogs.com/darkprince/p/5115739.html 基于Docker的CaaS容器云平台架构设计及市场分析 ---转载请注明出处,多谢!--- 1 项目背景---概述: “在移动互联网时代,企业需要寻找新的软件交付流程和IT架构,从而实现架构平台化,交付持续化,业务服务化. 容器将成为新一代应用的标准交付件,容器云将帮助企业用户构建研发流程和云平台基础设施.缩短应用向云端交付的周期,降低运营门槛.加速企业向互联网技术和业务的双转型. 容器云将

平台架构设计及市场分析

平台架构设计及市场分析 基于Docker的CaaS容器云平台架构设计及市场分析 ---转载请注明出处,多谢!--- 1 项目背景---概述: “在移动互联网时代,企业需要寻找新的软件交付流程和IT架构,从而实现架构平台化,交付持续化,业务服务化. 容器将成为新一代应用的标准交付件,容器云将帮助企业用户构建研发流程和云平台基础设施.缩短应用向云端交付的周期,降低运营门槛.加速企业向互联网技术和业务的双转型. 容器云将对接各类代码托管库,实现自动化持续集成和DOCKER镜像构建,为新一代应用交付和开

微服务与K8S容器云平台架构

微服务与K8S容器云平台架构 微服务与12要素 网络 日志收集 服务网关 服务注册 服务治理- java agent 监控 今天先到这儿,希望对技术领导力, 企业管理,系统架构设计与评估,团队管理, 项目管理, 产品管理,团队建设 有参考作用 , 您可能感兴趣的文章: 领导人怎样带领好团队构建创业公司突击小团队国际化环境下系统架构演化微服务架构设计视频直播平台的系统架构演化微服务与Docker介绍Docker与CI持续集成/CD互联网电商购物车架构演变案例互联网业务场景下消息队列架构互联网高效研

基于PaaS通用校园办公云平台的设计与实现视频教程

基于PaaS通用校园办公云平台的设计与实现视频教程下载课程分享链接:https://pan.baidu.com/s/1RpC198Q76eTu1E-lyeuO9g 密码:3d8j 1.1.课程的背景该课程是一个paas平台搭建的课程,paas是云计算三层概念中的第二层,提出了平台及服务,向客户提供开发平台,即使客户不懂任何的编程知识,也一样可以根据自己的需求来定制软件模块.在课程中,引入了工作流中间件和元数据的概念.强大的工作流中间件保证了系统流程的稳定运行,自定义的工作流中间件也能够根据paa

腾讯基于Kubernetes的企业级容器云平台GaiaStack (转)

GaiaStack介绍 GaiaStack是腾讯基于Kubernetes打造的容器私有云平台.这里有几个关键词: 腾讯:GaiaStack可服务腾讯内部所有BG的业务: Kubernetes:GaiaStack的技术实现主要是依托于Kubernetes和容器: 私有云:GaiaStack通过腾讯云向外部企业输出解决方案,并成功在金融.游戏.政务.互联网等各行业落地. GaiaStack的产品功能主要分为下面两个部分,分别是集群管理员的集群管理功能,以及集群用户的应用全生命周期管理的功能. 集群管

网易容器云平台的微服务化实践(一)

作者:冯常健来自: 网易云-共创云上精彩世界 摘要:网易云容器平台期望能给实施了微服务架构的团队提供完整的解决方案和闭环的用户体验,为此从 2016 年开始,我们容器服务团队内部率先开始进行 dogfooding 实践,看看容器云平台能不能支撑得起容器服务本身的微服务架构,这是一次很有趣的尝试. 一旦决定做微服务架构,有很多现实问题摆在面前,比如技术选型.业务拆分问题.高可用.服务通信.服务发现和治理.集群容错.配置管理.数据一致性问题.康威定律.分布式调用跟踪.CI/CD.微服务测试,以及调度

【重磅】完美融合Kubernetes,Ghostcloud企业级容器云平台EcOS率先实现双容器调度

前言 给大家报道一个最新重磅消息:最新版Ghostcloud企业级容器云平台EcOS(Enterprise Container Operation System)已完美支持容器市场最主流的调度引擎Kubernetes,并于今日正式上线啦!内置自研容器调度框架Newben和开源引擎Kubernetes,意味着EcOS平台率先实现了双容器调度引擎的融合.(新平台EcOS-Kubernetes现已开放试用申请,请至文末扫码申请.) EcOS平台是Ghostcloud推出的企业级容器云PaaS/CaaS

容器云平台在传统企业落地的一些思考和探索

本文内容是我今天在一个云原生论坛上演讲的材料,加上一些备注,现在分享给大家. 从应用的承载和部署方式这一角度看,一共经历了传统的物理机架构.虚拟化架构.和现在的容器化三种架构.但是,容器并不是一种虚拟化技术,它与虚拟机有实质性区别. 虽然把云分为IaaS.PaaS 和 SaaS 已经好多年了,但是,它们只有的差别,一直是想得出但摸不到.对我个人来说,只有在搞了OpenStack 后才算了解了一些IaaS,只有在用了 OpenShift 后才算了解了一些PaaS.这两个产品,对我都有云启蒙性的帮助

魅族容器云平台自动化运维实践

魅族容器云平台主要是基于 k8s 的技术.将从以下六个方面介绍魅族容器云的实践过程,分别是基本介绍.k8s 集群.容器网络.外部访问4/7层负载均衡.监控/告警/日志.业务发布/镜像/多机房. 1.基本介绍 魅族云平台的定位是私有云平台,主要是用于支撑在线业务,用以替换传统的虚拟化方式.目前现状是2017年完成全国三个数据中心的建设,年内完成90%业务的迁移. 我们是以小团队紧跟 k8s 社区步伐,快速迭代.低成本试错的方式来构建我们的平台的.同时,针对一些我们遇到的问题,做一些局部创新,在保证