写在最前面
IaaS现状(裸机Docker+OpenStack服务)
- OpenStack
- Mesos
- Docker
- Docker已扎根新一代PaaS
- 如果决定使用Docker,是否有必要同时使用OpenStack?
- 深入浅出Docker(一):Docker核心技术预览
- 深入浅出Docker(二):Docker命令行探秘
- 深入浅出Docker(三):Docker开源之路
- 深入浅出Docker(四):Docker的集成测试部署之道
- 深入浅出Docker(五):基于Fig搭建开发环境
- Docker源码分析(一):Docker架构
- Docker源码分析(二):Docker Client创建与命令执行
- Docker源码分析(三):Docker Daemon启动
- Docker源码分析(四):Docker Daemon之NewDaemon实现
- Docker源码分析(五):Docker Server的创建
- Docker源码分析(六):Docker Daemon网络
开源的私有云方案,OpenStack独大,与之竞争的产品不多。
Mesos可以在操作系统层面与OpenStack相互结合
Docker可以在资源虚拟化层面与OpenStack相互辅助
IaaS企业私有云需求深度挖掘
- 自动扩展(Auto-scaling)支持
- 多租户和租户隔离 (multi-tenancy and tenancy isolation)
- 混合云(Hybrid cloud)支持
- 主流硬件支持、云快速交付 和 SLA 保证
- 大规模扩展性支持
- 私有云外围环境支持(包括支持CDN 、商业SDN控制器、防火墙和VPN/专线等)
- 良好的可使用性(用户和运维 Dashboard 等)
- 向上扩展性(PaaS 和 SaaS 等支撑)
- 企业数据中心IT环境支持(包括裸金属/Bare metal、F5 、GPU、跨云网络连通、租户计费、备份等支持)
- 行业解决方案
- 独立的服务,包括培训、运维等
OpenStack企业私有云新需求(1):Nova 虚机支持 GPU
PaaS现状
- CloudFoundry
- Kubernetes(Google开源的Docker容器集群管理系统)
- Flynn(基于Docker的PaaS平台)
- 参考文章:Flynn初探:基于Docker的PaaS平台
- 对比Kubernetes
- 在应用的抽象上,Flynn与Kubernetes有本质的区别:Flynn的应用管 理单元是App,只对应一个Docker镜像,但可以由这个镜像来启动多个进程,并且每个进程可以单独扩缩容;而Kubernetes的应用管理单元是 Pod,可对应多个不同的Docker镜像,并且Pod内的各个容器保证会运行在相同的机器上,整个Pod作为扩缩容的基本单位。
- 另外一个根本的区别是Kubernetes不提供镜像构建与版本管理的功能。因此,Kubernetes只能看成是面向容器而不是面向应用的系统。当然,我们可以在Kubernetes之上扩充这些功能。
- 对比Deis
- 第一,Deis、Flynn是都是采用Go语言开发;
- 第二,Deis完全依赖于CoreOS,而Flynn因为所有组件都可运行在容器里,没有OS的依赖;
- 第三,Deis在构建阶段,除了buildpack方式构建外,还支持Dockerfile与镜像直接上传两种方式,相对Flynn更为灵活。
PaaS选型及适用范围
- 轻量级:Flynn、Deis二选一
- 团队熟悉GO则Flynn、熟悉Python则Deis
- 都属于轻量级Docker方案,适合服务器较少的情景
- 更加适合灵活的定制,同时也意味着生产环境需要考虑运维成本
- 重量级:CloudFoundry
- 配置较为复杂,初期学习成本相对高
- 较为成熟的重量级PaaS方案,生产环境运维成本低
- 适合服务器集群或更多服务器中使用
Docker部署
OpenStack部署
公司环境参数
- 服务器 Dell PowerEdge T110 II
- 网络接入 电信百兆独享
- 操作系统 Ubuntu 16.04 LTS
Cloud Foundry部署
作者:ryanemax
微信关注:ryanemax (刘雨飏)
本文出处:https://romantic-hoover-f991f1.netlify.com/cookbook/backend/paas/
授权协议:
CC BY-SA 4.0