详解主流PaaS软件平台和产品

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/BtB5e6Nsu1g511Eg5XEg/article/details/84038822

640?wx_fmt=jpeg

640?wx_fmt=gif

PaaS(平台即服务)是NIST定义云计算三种服务模式之一,另外两个分别是IaaS和SaaS。PaaS服务一般分为框架类服务和中间件服务。


  • 框架类服务:Tomcat、Websphere、Node.js、Rubyon Rails、Ruby on Rack

  • 中间件服务:数据库(Mysql、mongoDB、Redis)、消息队列(RabbitMQ)、缓存(Memcache)。


PaaS与SaaS的区别是,SaaS直接面向最终的企业用户,而PaaS面向软件开发商,将开发语言、开发平台、开发环境自动化部署至云设施。


640?wx_fmt=png


PaaS是数据中心部署模式由传统的烟囱式模式向SaaS模式发展的必然结果,加速了软件产品的研发和交付,使用SaaS更加完善和规范。


PaaS发展历程和大事件


2005起源于客户需求:在共享主机托管上实现一键式可扩展应用部署。Rackspace两名离职工程师开发Mosso为客户提供分布式、冗余可靠、可扩展的PHP、.NET应用开发平台,客户无需关心服务器的运维管理。


  • Rackspace收购Mosso、Slicehost,提供Cloudsites/Files/Servers服务。

  • EMC/Vmware收购开源CloudFoundry。

  • RedHat收购Makara获得Openshift。

  • Amazon借助Beanstalk进入PaaS。

  • EMC/Vmware开源Cloud Foundry,并同步发布cloudfoundry.com PaaS服务。

  • RedHat开源Openshift。


PaaS爆发期:IaaS厂商纷纷通过收购进入,确立PaaS在云计算中位置; 多语言、多框架的可移植PaaS平台适应互联网多样化需求; 避免IaaS层的Vendor Lock-in,Garter预测(IDC、埃森哲类似):


  • 2013年末:所有的主要软件供应商都将提供PaaS服务。

  • 到2016年:PaaS行业将实现真正的繁荣,PaaS市场将出现白热化的竞争,推动市场出现新的编程模型、新的标准和新的领军企业

  • 2016年生态整合、传统软件巨头加入、运营商加快探索:

  • NFV:阿朗发布基于开源Citrix Cloudstack、Gigaspace Cloudify的CloudBand生态系统计划,并建立NFV Lab

  • 运营商合作:NTT、 CenturyLink基于Cloud Foundry;DT基于Cloudify和GAE;AT&T基于LongJump:中华电信基于IBM

  • Vmware发布Cloud Foundry V2版本,并将其剥离给与GE合资子公司Pivotal,IBM加入CloudFoundry阵营

  • IBM宣布新开源云计算战略,与Pivotal合作开发PaaS

  • Oracle宣布PaaS新战略,收购Engine Yard股份,发布新PaaS产品,SAP宣布将SAPHANA打造成开放PaaS平台的战略。


PaaS技术和产品主要特点


  • 更快的上市时间:随时可起动开发;更多的语言、框架可选择

  • 更少的Bugs:统一的应用开发、测试及最终的部署环境,减少因环境差异引入的Bugs。

  • 应用可视性:从应用的依赖关系(开发阶段)、应用运维(部署后)到应用商业价值(应用如何赚钱)的端到端可视化。

  • 更好的安全:基于PaaS可以建立更安全卫生的编程习惯

  • 广泛的交付选择:PaaS帮助SaaS无需代码修改或少量修改即可在不同的OS平台和设备(含移动平台)上运行。

  • 更丰富的服务支持:开发者可基于PaaS提供的预集成服务集(如大数据分析、报表、DBaaS等)增强其App的功能。

  • 更快的上线发布:PaaS平台通常支持计费和客户管理工具,相对单独发布方式app可更快、更低成本的发布。

  • 预算友好:PaaS提供按需、Pay-as-You-Go付费策略。开发者可对齐APP的托管费用和收入,开发者无需为硬件等基础设施投资。

  • 协作使能:相对“独狼”的开发模式,云开发平台包含开发协作能力。PaaS使得多个开发者在开发和review过程中更易于协作,PaaS用户发现更容易、更快的发现并解决问题。

  • 提供广泛的客户群:部分PaaS可为ISV提供MarketPlace来向终端用户销售其SaaS软件。


PaaS发展阶段分析


PaaS的发展经历了技术导入期、产品爆棚期和成长成熟时三个主要阶段。


  • 导入期特点:PaaS独立供应商主导,面向特定领域、特定问题。代表厂商:Rackspace/Mosso、LongJump、Salesforce。

  • PaaS爆发期特点:IaaS TOP厂商、云基础设施厂商进入,通用可移植型PaaS为主,代表厂商:Amazon、EMC/Vmware、Redhat。

  • PaaS成长期特点:传统软件巨头纷纷进入、开源或成主流。代表厂商:微软、IBM、Cloudify、Oracle、SAP、领先运营商。


随着大厂商的介入,PaaS流派逐渐形成。运营商在IaaS、PaaS和SaaS的三级云架构体系中,PaaS一直处于短板,互联网技术厂商和软件厂商在PaaS领域得到了长足的发展。下图展现的是主流的闭源PaaS产品和开源PaaS产品CloudFoundry,OpenShift和Cloudify,其中CloudFoundry和Cloudify得到了不同行业的广泛应用。


640?wx_fmt=png


运营商基于IT软件实现网络软件来补齐其PaaS方面的能力。如AT&T通过PaaS引入互联网应用开发者,联通、移动往以服务为核心的IT服务转型等等。


主流PaaS厂商和对应产品


640?wx_fmt=png


现在流行的大多数的PaaS平台,底层的虚拟化技术主要分为虚拟机和容器两种。容器相对于虚拟机,是一种更轻量级的虚拟化技术,严格意义上来说,是一种资源隔离技术,如Linux LXC。

 

640?wx_fmt=png


容器主要的技术原理,是利用Linux的Cgroups和NameSpace,对进程进行资源限制和资源隔离,需要共享同一套操作系统软件栈。所以容器比虚拟机有更好的性能,但是在安全隔离性上,要差一些。


  • Cgroups:可以对资源进行配额和度量。在/cgroup目录下新建一个文件夹,即可以建立一个group,新建一个文件task,并把PID写入到文件中,就可以管理这个进程的CPU、Memory等资源。

  • Namespace:有6种不同的namespace,分别是PID、NET、IPC、MNT、UTS和USER,从进程、网络、IPC、文件系统、主机域名、用户角度进行隔离,从而可以对外展现出一个独立的计算机的能力。


主流的开源PaaS平台


开源PaaS产品和平台比较有名的是CloudFoundry,OpenShift和Cloudify,关于CloudFoundry,技术细节可参看“聊聊CloudFoundry开源PaaS云平台”文章。


OpenShift是红帽公司推出的一个云计算服务平台,开发人员可以用它来构建和发布web应用。 Openshift广泛支持多种编程语言和框架,如Java,Ruby和PHP等。


OpenShift服务构建在Red Hat Enterprise Linux上。Red Hat Enterprise Linux提供集成应用程序,运行库和一个配置可伸缩的多用户单实例的操作系统,以满足企业级应用的各种需求。


Cloudify是由Gigaspaces发布的开源PaaS平台,可用于将应用程序自动部署到物理环境、公有云、私有云。目前最新的版本是Cloudify3.0。


Cloudify以工作流的方式自动化应用的部署及监控,并对监控事件自动响应处理。Cloudify集成众多工具,以提供企业级的部署服务:


  • 配置管理工具,如Chef、Puppet

  • 基础设施自动化工具,如Openstack heat

  • 日志及监控工具,如logstash、Elasticsearch

  • 实时分析工具,Reimann.IO


Cloudify 3.0有一个重要更新,是提供了类似插件的机制,允许更大范围的置、监控、云部署工具集成进Cloudify的整体架构中。


更多关于PaaS平台产品,技术和架构,请点击阅读原文链接,获取整理成文的“云计算PaaS主流软件、产品和厂商分析”,具体目前和内容如下所示。


  • 第一章 PaaS背景和发展历程 3

  • 1.1 PaaS是什么 3

  • 1.2 PaaS发展历程及重大事件 4

  • 1.3 PaaS主要特点 5

  • 1.4 PaaS提供商分析 6

  • 1.5 PaaS发展阶段分析 7

  • 1.5.1 PaaS导入期特点 7

  • 1.5.1.1 Mosso介绍 7

  • 1.5.1.2 LongJump介绍 8

  • 1.5.1.3 Salesforce介绍 9

  • 1.5.2 PaaS爆发期特点 10

  • 1.5.2.1 Amazon介绍 10

  • 1.5.2.2 EMC/VMware介绍 11

  • 1.5.2.3 Redhat介绍 13

  • 1.5.3 PaaS成长期特点 13

  • 1.5.3.1 微软介绍 14

  • 1.5.3.2 IBM云计算介绍 15

  • 1.5.3.3 AL-Cloudband介绍 16

  • 1.5.3.4 Oracle、SAP介绍 17

  • 第二章 PaaS容器关键技术解析 20

  • 2.1容器LXC/LXD是否一样 20

  • 2.2 容器Docker/Moby的渊源 23

  • 2.3 Docker镜像格式 26

  • 2.4 容器之Rkt/AppC、OCI 27

  • 2.5 CRI-O和CRI-Containerd容器运行时 32

  • 2.6 HyperContainer、runV技术分析 34

  • 2.7 Openstack Hypernetes是什么 36

  • 第三章 PaaS容器集群管理技术 37

  • 3.1 集群管理Mesos分析 37

  • 3.2 集群管理Mesosphere分析 38

  • 3.3 集群管理Marathon分析 39

  • 3.4 集群管理Kubernetes分析 41

  • 3.5 集群管理之Docker Swarm、Compose、Machine三剑客 44

  • 3.5.1 Swarm分析和资源 44

  • 3.5.2 SwarmKit分析和资源 46

  • 3.5.3 Compose分析和资源 47

  • 3.5.4 Machine分析和资源 47

  • 3.5.5 集群管理Nomad和Serf分析 48

  • 第四章 PaaS虚拟机管理技术 50

  • 4.1虚拟机管理Kubevirt分析 50

  • 4.2 虚拟机管理Virtlet分析 53

  • 4.3 虚拟机管理Frakti分析 56

  • 4.4 Kubevirt、Virtlet和Frakti比较 57

  • 第五章 PaaS平台监控能力 57

  • 5.1 PaaS监控CAdvisor分析和资源 57

  • 5.2 PaaS监控Heapster分析和资源 58

  • 5.3 PaaS监控Prometheus分析和资源 59

  • 5.4 PaaS监控Hawkular分析和资源 60

  • 5.5 PaaS监控Kapacitor分析和资源 63

  • 5.6 各种PaaS监控工具比较 64

  • 第六章 PaaS主流产品介绍 64

  • 6.1 PaaS底层虚拟化技术介绍 65

  • 6.2 PaaS闭源产品介绍 66

  • 6.2.1 Google App Engine产品 66

  • 6.2.2 Amazon AWS Beanstalk产品 68

  • 6.2.3 Windows Azure产品 69

  • 6.3开源产品介绍 70

  • 6.3.1 Cloud Foundry产品 70

  • 6.3.2 Docker产品 70

  • 6.3.3 OpenShift产品 71

  • 6.3.4 Cloudify产品 73

  • 6.3.5 Cloud Foundry和Docker对比    76

  • 6.3.6 CloudFoundry和OpenShift对比     78


推荐阅读:



温馨提示:

请搜索“ICT_Architect”“扫一扫”二维码关注公众号,点击原文链接获取更多技术文章

640?wx_fmt=png

求知若渴, 虚心若愚

640?wx_fmt=gif

展开阅读全文

没有更多推荐了,返回首页