Openstack/CloudFoundry-IaaS/PaaS选型方案方案草稿

写在最前面

IaaS现状(裸机Docker+OpenStack服务)

开源的私有云方案,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://futurestack.cn/cookbook/backend/paas/
授权协议: CC BY-SA 4.0