一文了解云计算,全世界一台计算机
在广泛的范围内,IBM参与上千个开源项目和社区。除了大量采用开源代码外,IBM还是向GitHub组织和代码库提供开源代码贡献最多的公司之一。IBM对开源项目的重大贡献包括:将Java运行时J9作为Eclipse OpenJ9孵化器贡献给了Eclipse基金会、将用于Java EE和MicroProfile应用程序的OpenLiberty runtime贡献给了openliberty.io、向开放区块链项目Hyperledger Fabric贡献了源码、向Apache OpenWhisk贡献了无服务器平台源码、开放了IBM量子计算API Qiskit、开放了IBM AI Fairness 360工具包(AIF360)和AI Robustness Toolbox (ART)、开放了多个分析项目源代码并成为Apache Toree和 Apache SystemML,以及2018年过去的3年里还有超过100个其它贡献。 IBM对开源的承诺和贡献在业界是长期而持续的,IBM服务于许多开源基金会董事会,包括Linux、Eclipse、Apache、CNCF、Node.js、Hyperledger等,成千上万的IBM员工在使用和贡献开源软件。IBM重视并致力于开放治理,因为IBM认为这是确保开源项目长期成功和可行性的最佳方式。IBM开发人员每天都在重要的开源项目中工作,每个月都为数百个开源项目做出数以千计的贡献。 2017年底,IBM基于主流开源技术推出了新一代的IBM私有云产品IBM Cloud Private(ICP)。ICP软件体系架构主要是基于开源的Kubernetes、Cloud Foundry和各类管理工具。ICP是一个完整的私有云软件体系,从底层的传统企业硬件和IaaS到中间的PaaS以及向上层应用的“中间件”层和应用生命周期管理,还包括最上层的机器学习和人工智能开发平台以及现成的Watson应用,并支持其它企业SaaS应用。整个ICP是完全的开源开放,能够灵活的让企业选择不同的开源组件以及IBM专有软硬件,通过敏捷架构进行集成,让企业可以根据自己的数字化进程选择技术方案并连接整个转型和重塑的生命周期。更重要的是Kubernetes、容器和微服务这样一套技术体系,让IBM的软件可以运行在所有IT环境中,不管是公有云、私有云、混合云、混合IT还是IBM专有系统,Watson Anywhere、Blockchain Anywhere等都成为了可能。 云原生技术 在整个2018年,有很多关于数字化转型的讨论。以云、大数据、人工智能、物联网和区块链等数字技术所驱动的企业数字化转型,最终的目标是什么?这就是云原生的数字企业,或者称为数字原生企业。简单的理解,数字原生企业,其核心竞争力在于大规模的云软件的开发、运维及运营能力。 数字化转型的目标一是让软件成为企业的核心能力,二是把软件作为数字服务对外输出成为企业的核心业务,最终成为数字原生企业。在这个过程中,就必须要提到Red Hat红帽公司的Openshift、Cloud Foundry基金会和CNCF云原生基金会,也就是OpenShift、Cloud Foundry和Kubernetes这三大开源PaaS框架,也是数字原生或云原生的核心技术。 在了解三大开源PaaS框架之前,还要了解什么是Docker容器和容器化软件开发与部署。Docker翻译成中文是“码头搬运工”的意思,那么“码头搬运工”搬运的是什么?是标准化的“集装箱”,这个标准化“集装箱”里装的是应用程序。“码头搬运工”在世界上任何提供了标准化接驳的“码头”就可以接收标准化“集装箱”,然后快速安装、运行和管理“集装箱”里的应用程序,而提供标准化接驳“码头”的就是各类云服务商。借此,Docker把云计算环境下的应用程序开发和分发带进了工业化生产的时代,这就是Docker的意义。 在Docker环境下,程序开发者按一定的打包标准生产程序,生产出来的标准化程序被装进标准化的容器(Container)里,也就是“集装箱”。世界各国的云服务商都提供了标准化的“码头”,可以很容易地接收标准化的容器和里面的应用程序,再把这些标准化的应用程序以即插即用的方式组装到自己的个性化解决方案里,然后提供给最终用户。而与Docker“集装箱”对应的标准化程序架构,就是微服务。 Container与Docker是两个英文单词,Docker相当于是标准化了的容器,是容器技术近30多年历史发展出的最新结果。容器本质上是一种操作系统技术,是基于操作系统的虚拟化技术。基于容器开发的应用软件可以达到“一处开发、处处运行”的效果,而无关乎底层到底是什么样的操作系统或什么样的IaaS云服务环境。 作为操作系统级的虚拟化技术,容器技术本身的历史最早可以追溯到1982年。当时Unix推出的Chroot技术被公认为操作系统级虚拟化的起源,也就是容器技术最早的状态。2008年的时候,LXC也就是Linux容器开源项目成立,容器技术开始在业界广泛使用。 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开源容器集群管理系统,就是由谷歌贡献出来的开源技术。 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |