一文认识云计算,全世界一台计算机
发布时间:2021-11-25 10:49:21 所属栏目:云计算 来源:互联网
导读:云计算,这是自2008年全球金融危机以来全世界最热的词汇之一。世界各国、大街小巷,上至国家元首、下至家中老人,几乎全社会所有人都知道有这样一种新科技,叫云计算。 自从2006年,亚马逊公司对外发布了一种名为Amazon Web Services(AWS)(亚马逊网络服务
|
2010年,dotCloud公司成立了。dotCloud早期是基于LXC技术的PaaS平台,它的理念是提供跨底层IaaS云、支持多种开发语言的开发云平台。dotCloud的创始人在LXC的基础上,对容器技术进行了简化和标准化,命名为Docker后将其开源,同时推出了开放容器计划(OCI),Docker和Docker开源社区随后迅速火起来。2013年10月29日,dotCloud公司更名为Docker公司。随后,多家厂商开始宣布支持Docker。可以说X86架构的PC服务器是异构硬件架构的赢家,Linux和Windows是异构操作系统的赢家,Docker为基于X86服务器和Linux/Windows操作系统的云数据中心提供了统一的虚拟操作系统,异构架构时代开始结束。 说到容器和微服务,就必须要提到谷歌。谷歌在全球运维了上千万台的服务器,这个规模已经远远超出了很多现有技术供应商的上限,因此谷歌自己发明了诸多技术用于管理千万台规模服务器。比如谷歌研发了顶级的网络交换机,就连思科都造不出来这样的网络交换机。原因很简单,因为没有相应的实验环境。谷歌自1998年成立以来,已经研发和储备了很多“核弹级技术”,但这些技术绝大多数都被谷歌封锁,只能通过谷歌对外发表的学术论文找到蛛丝马迹。 谷歌为了避免使用市面上昂贵的基于物理机的虚拟化产品,同时也是为了更快、更便宜的发布自己的软件和服务,从一开始就研发了基于容器(Container)的新型虚拟化技术,通过这一技术简化了谷歌全部服务运行所需要的底层操作系统环境。2007年左右,谷歌刚开始研发容器技术,当时谷歌容器技术团队只有两个人。2015年的时候,谷歌所有的服务都运行在容器中,这包括了Gmail、地图、GFS文件系统、MapReduce等;谷歌每秒会启动大约7000个容器,每周会发布超过20亿个容器。每周运行20亿之多的容器,这让谷歌有能力发明很多关键性的容器技术,包括容器管理系统。谷歌容器管理系统的第一个版本被称为Borg,后续又发布了名为Omega的版本。通过这个管理系统,可以在谷歌的大规模集群资源上使用容器技术。后来业界根据谷歌的相关学术论文,模仿Borg开发出来的Mesos系统,被Airbnb、Twitter、苹果Siri等在使用。而后来著名的Kubernetes开源容器集群管理系统,就是由谷歌贡献出来的开源技术。 再说回Openshift、Cloud Foundry和Kubernetes。Openshift是一组由Red Hat红帽公司开发和维护的基于Docker和Kubernetes构建的开源的容器云产品,可帮助企业和组织搭建及管理基于容器应用的私有云解决方案。通过OpenShift,企业可以快速地搭建稳定、安全、高效的容器私有云应用平台。OpenShift Container Platform是一个在企业数据中心本地部署的基于Docker和Kubernetes的PaaS平台,属于Kubernetes的社区发行版,该平台基于Red Hat Enterprise Linux。Openshift Origin(Origin Community Distribution,OKD)是由开源社区维护的基于Docker和Kubernetes开源应用容器平台,OKD是Openshift Online、Openshift Dedicated、Openshift Container Platform的核心。Openshift Online是Red Hat红帽公司的公有云应用开发和托管服务,该服务运行在AWS上。Openshift Dedicated是Red Hat红帽公司的托管私有云,运行在AWS和Google云平台上。此外,Openshift.io是Red Hat红帽公司的应用开发环境。Istio是与Kubernetes配合的微服务网格治理开源框架,为Service Mesh提供了一个完整的解决方案,以满足微服务应用的多样性需求。通过OpenShift家族系列产品,Red Hat红帽公司构建了一整套服务于企业私有云PaaS需求的解决方案,这是也IBM于2018年以340亿美元收购Red Hat红帽公司的重要原因。 Cloud Foundry由资深Java程序员Chris Richardson于2008年开发,后2009年被SpringSource收购,而SpringSource则由大名鼎鼎的微服务架构Spring框架创建者所创建。SpringSource通过一系列收购获得了Tomcat(开源Web应用服务器)、Hyperic(开源应用性能管理)、Groovy(开源应用编程语言)、Grail(开源Web应用开发框架)等领域的顶尖程序员和工程师,初步构建了覆盖软件开发、运行部署和管理等全生命周期的开源PaaS解决方案。SpringSource于2009年以4.2亿美元被VMware收购,VMware随后又收购了开源消息队列RabbitMQ、开源缓存计算Redis、分布式内存数据库Gemstone(主要产品为GemFire)等。2013年,EMC、VMware、GE成立合资公司,VMware把面向应用的软件资产与EMC收购的分布式大规模并行处理分析数据库GreenPlum等合并,成立了Pivotal公司。Pivotal于2014年3月宣布创立Cloud Foundry基金会,用开放管理的方式把Cloud Foundry运作成为全球PaaS云操作系统标准。在CloudFoundry基金会的平台之上,成员企业所使用的代码都是相同的,以减少碎片化版本,成员企业主要通过提供差异化服务赢利。Cloud Foundry是目前为止支持最多种开发语言和中间件的开源PaaS框架,IBM当时就宣布投资10亿美元开发基于Cloud Foundry的Bluemix PaaS云平台。 Openshift与Cloud Foundry是两大PaaS开源框架,相互之间既有区别也有相似之处。Openshift主要基于Kubernetes的社区发行版,因此与Kubernetes是天然的原生支持。而Cloud Foundry是基于Pivotal自行研发后开源的技术。在对Docker容器技术的支持方面,Openshift也是原生支持,而Cloud Foundry原生支持Pivotal自行开发而后开源的Garden,Garden是一种类似Docker的容器技术。Openshift的主要支持者是Red Hat红帽公司,而Cloud Foundry则有大批支持者,包括IBM、HP、DellEMC等。因此,如何选择Cloud Foundry的话,则有广泛的供应商选择;而选择Openshift的话,则主要只有Red Hat红帽公司可选。实际上,Docker、Kubernetes、Openshift这是一个体系,Garden、Diego、Cloud Foundry这是一个体系。其中,Diego是与Kubernetes竞争的同类型技术。这两条路线都是容器技术的实现路线,一个是有大批企业IT公司支持,另一个是逐渐获得了广泛的开源社区支持,这两个技术路线属于同时并行发展,只是Kubernetes在2018年的时候获得了业界广泛的认可而成为了容器集群编排技术的主流,因此导致IBM在2018年以340亿美元收购Red Hat红帽公司,以获得Docker、Kubernetes、Openshift技术体系的原生支持。 说到Kubernetes就必须要提到CNCF基金会。CNCF(Cloud Native Computing Foundation)成立于2015年12月,该基金会由Google主导组建,隶属于Linux Foundation,是一家非营利性组织。CNCF为Github上高速发展的开源项目提供完全中立的平台,并促进业界顶级开发者、最终用户以及供应商之间的紧密合作。在CNCF的官网上,定义了CNCF的使命:创建一个可持续的生态体系,围绕高质量的开源项目群体而培育开源社区,确保容器成为微服务架构的基础之一。作为一个开源软件基金会组织,CNCF致力于推广“云原生计算”并确保其可持续性,而“云原生计算”是一个用于部署微服务应用的开源软件堆栈,其方式是把各个组件都打包到容器中并动态调度容器以优化计算资源利用率。 CNCF对云原生(Cloud Native)的初始定义包含以下三个方面:应用容器化、面向微服务架构、应用支持容器的编排调度。到了2018年,随着云原生生态的不断壮大,所有主流云计算供应商都加入了该基金会,而且云原生有意兼容非云原生应用的部分。随着CNCF基金会中的会员以及容纳的项目越来越多,CNCF为“云原生”进行了重新定位:云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。 云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。CNCF致力于培育和维护一个厂商中立的开源生态系统,以推广云原生技术。 CNCF 所关注的“云原生计算”侧重于云软件开发后的交付与部署,主要针对以容器为基础的云软件部署,即把一个云应用软件所需要和依赖的底层软件组件打包到一个一个的标准化容器中,而容器可以把一次编写的云应用程序部署到从本地数据中心到公有云的多种底层计算环境中,进而由无数的“小”容器横向连接起来就形成了云软件的规模化扩展能力。在容器化部署的过程中,容器的调度技术和能力就显得尤为重要,相当于是应用层的“操作系统”,其中一种已经取得市场主导地位的容器调度与编排技术就是Kubernetes。 在 2018 开源领袖峰会(OSLS)上,CNCF 基金会、Google Cloud 工程总监 Chen Goldberg 宣布,Kubernetes 成为第一个从 CNCF 毕业的项目。这也意味着该开源项目已经成熟并且足够灵活,可在任何行业、各种规模的公司中大规模地管理容器。到了2018年,Kubernetes成为整个云原生计算的核心、灵魂和平台级技术,正因为Kubernetes技术、商业和生态的成熟,才导致了2019年开始全面进入云原生技术的商业化之年,也导致了Kubernetes成为整个云原生产业的灵魂。 截止2019年2月,CNCF已经毕业的项目有五个,分别是Kubernetes、Prometheus、Envoy、CoreOS和Containered,在孵化的项目和初级项目还有27个左右。CNCF提供了建议的整个云原生计算技术全景图,实际上就是面向云原生应用的“操作系统”上层架构,又称为aPaaS:以容器技术为核心,分为运行时(Runtime)和 Orchestration 两层,Runtime 负责容器的计算、存储、网络,包括云原生存储、容器运行时、云原生网络等;Orchestration 负责容器集群的调度、服务发现和资源管理,包括调度与编排、协调与服务发现、远程程序调用、服务代理、API网关和服务网格等。在运行时(Runtime)之下为基础设施和配置管理,作为容器底层技术。容器可以运行在各种系统上,包括公有云、私有云、物理机等;这之上为容器的“计算资源供应层”,提供容器运行所依赖的自动化部署工具、镜像工具、安全工具等运维系统。而在Orchestration之上为应用层,即“App定义与开发层”,包括数据库、流与消息、应用定义和Image构建、持续集成与交付等。 (编辑:无锡站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
