内容简介:大数据时代面临着生态系统的不断更新迭代。程序猿和攻城狮们绞尽脑汁地想要降低硬件成本、开发出能保罗万象的系统。先是系统分身——虚拟机的出现,宿主系统和虚拟镜像灵活切换,十分酷炫!随着GO语言这位最强王者的出现,又有“神猿”编写出了docker这个貌似鲸鱼的可爱工具。服务器的资源共享进入了容器时代。如今很多头部的IT公司基于docker不断拓展新业务。随着微服务架构的横空出世,docker迅速与之组成战队,就更加飘飘然了。这几年,容器将取代“虚拟化”的言论甚嚣尘上。事实上,没有绝对的技术,大数据的生态系统是鲜活
大数据时代面临着生态系统的不断更新迭代。程序猿和攻城狮们绞尽脑汁地想要降低硬件成本、开发出能保罗万象的系统。
先是系统分身——虚拟机的出现,宿主系统和虚拟镜像灵活切换,十分酷炫!随着 GO 语言这位最强王者的出现,又有“神猿”编写出了 docker 这个貌似鲸鱼的可爱工具。服务器的资源共享进入了容器时代。如今很多头部的IT公司基于docker不断拓展新业务。随着微服务架构的横空出世,docker迅速与之组成战队,就更加飘飘然了。
这几年,容器将取代“虚拟化”的言论甚嚣尘上。事实上,没有绝对的技术,大数据的生态系统是鲜活的,不断更新且多向兼容。虚拟化和容器必将经历短期共存的过程,最终的生死存亡只能交给“生态圈”自主筛选。
就目前而言,容器比虚拟机更敏捷迅速,且容器支持混合和多云的采用。最重要的一点是容器具有很强的适应性:它可以轻松地集成于现有的IT实践当中。同时,容器化应用程序因其灵活共享的特性,大大提高了VM的CPU利用率,降低了硬件成本。但另一方面,每一个虚拟机都有自己的操作系统,驱动程序和应用程序,具有更强的隔离性。
VMs
二十年前,一家名为VMware的创业公司通过提供创建非物理机器虚拟化平台(如Linux,Windows等)来引入业务。
随着服务器处理能力的提高,基本应用程序无法最大限度地利用所有丰富的新资源。而虚拟机(VM)的出现,可以在物理服务器上运行软件,并模拟特定的硬件系统。其中管理程序是可以创建和运行虚拟机的软件或硬件。
使用不同操作系统的虚拟机可以在同一服务器上运行。例如,一个Unix虚拟机可以同时在能够运行 Linux 虚拟机的服务器上运行。每个虚拟机都有自己的应用程序、二进制文件和库。因此,企业可以保留旧计算机,添加新软件,无需重新购买能够运行Unix软件的新计算机。对于组织不断变化的需求而言,这是一个更简单、更便宜的解决方案。
服务器虚拟化是在虚拟化软件的帮助下,将物理服务器划分为若干个小型虚拟服务器的技术。在这个系统中,每个虚拟服务器将同时运行多个操作。Wikibon的首席分析师James Kobielus在最近的一次Dataversity®采访中说:
服务器虚拟化的巨大优势在于可以更好地利用所投资的硬件资源。其面临的问题是:在不同平台的不同虚拟机中,管理不同的机器映像相当复杂,这可能会造成相应的管理负担。
容器(Containers)
即使有可用的工具,虚拟机技术也很难被使用。例如,在虚拟世界中很难分离特定的、消耗资源的应用程序。微服务和容器化提供了一个更简单的选择。一个特定的应用程序代码(例如查询处理器和数据库索引逻辑中的后端数据)可以通过微服务的容器来分割不同的工作负载。
容器类似于虚拟机,来自其他系统的软件也可以在不同的服务器上运行。容器还允许应用程序与库和依赖项一起运行。也就是说,当虚拟机模拟硬件系统时,容器能够以核心操作系统为基础来运输自己的软件系统。
相较于虚拟机而言,容器占用空间更少。“虚拟机可能需要大量的资源开销,例如网络输入、输出、内存和磁盘。因为单个虚拟机运行自己的操作系统,而容器则不运行。”Kobielus说道。容器共享称为操作系统(OS)内核的东西,它访问操作系统核心。另外,支持容器的操作系统可以更小,并且具有比虚拟机的操作系统更少的特征。容器启动速度更快,仅使用启动整个操作系统所用内存的一小部分。显然,容器是下一个进化的步骤。Kobielus评论说:
容器化在过去五年里开始流行。这是一种做微服务、分发与平台无关的虚拟化服务器环境的方法,并且此方法有效。容器不仅可以在服务器中运行,还可以在客户机设备等上运行。容器化实际上是通常所谓的云计算的核心。
容器化技术长期以来一直是Linux的一部分。Kobielus表示,目前Docker是最受欢迎的容器之一,其他容器化技术,都被插入到Linux中了。基本上,Linux是操作系统,Linux容器可以通过Docker、Mesos和其他各种方式实现。“可以在Docker容器中运行应用程序逻辑,然后独立地扩展它们。”
Docker支持在大多数Linux平台上都可用,可以轻松运行这些容器及其应用程序。它们基本上可以在任何Linux平台以及其他非Linux平台上运行。通过使用容器,可以在操作系统和底层硬件平台之间灵活地移动微服务。
Kubernetes
Kubernetes是一个开源的容器编排系统,旨在自动扩展、部署和管理容器化应用程序。容器编排系统最初由Google开发,但现在由Cloud Native计算基金会保存和维护。NetApp现在使用Kubernetes发行版,该发行版嵌入在其环境中,并在整个分布式云架构中协调存储资源和存储容器化。
StackPointCloud开发了一个基于Kubernetes的控制平面,用于管理联合可信存储集群,并在公共云服务提供商之间同步持久性存储容器。之后,大型数据存储供应商NetApp采用该技术并将其转变为NetApp Kubernetes服务,该服务允许客户在仅仅三次点击的情况下启动Kubernetes集群或存储集群。
“它可以扩展到被数百个用户使用,客户能够部署可以从单个用户界面扩展的容器,”Kobielus评论道。这就是存储的容器化。容器化的大部分过程都集中发生在应用程序和中间设备功能上。
据Kobielus说:“Kubernetes或Docker以及Linux容器的一个传统弱点就是它们不适合存储或不具有持久性。但是,在利用kubernetes和容器、docker等 工具 在云环境中实现数据持久性方面,wikibon提供了大量关于存储空间的创新。”
目前已有多个将存储容器化的例子(存储有时被描述为大数据分析的核心)。NetApps称其新的Kubernetes服务可以在AWS,Google Compute平台和Microsoft Azure中运行StackPoint引擎。(它还支持DigitalOcean,Packetclouds等)此外,Cloud Native Computing Foundation还有Rook,它用于非结构化数据的存储容器化和底板的编排。
Hadoop存储
大数据分析平台正在形成一种趋势。这与被用于存储的Hadoop有关。它被用于数据存储、数据存档和数据转换。同时也被用于数据治理。Hadoop是一个开源核心平台,许多企业将其与大数据一起使用,以达到各种目的。因此,Hadoop分布式文件存储已经变得非常流行。Hadoop目前被用于内部云、公共云和混合云中。Hadoop生态系统现在正处于容器化过程中。Red Hat是Kubernetes云中的主要实施者之一。Kobielus说道:
创新者基本上将Hadoop生态系统的所有组成部分纳入他们的计划,然后对其进行容器化,以便后期独立部署、扩展和管理。然后使用Kubernetes将它们以各种组合形式进行编排。
如今,很多企业都在应用这些数据分析的开源平台技术。“他们正在以各种各样的方式将它们结合起来,很多独立开源项目的原始开发人员并没有完全预料到这一点。”Kobielus评论道。所有这些平台都得到了容器化,这种趋势将会持续,在短期内不会很快改变。
以上所述就是小编给大家介绍的《大数据生态系统迭代:容器要革“虚拟化”的命?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 迭代器萃取与反向迭代器
- 虚拟化生态系统及实现从虚拟化走向云端
- KVM虚拟化技术(一)虚拟化简介以及按安装
- 浅谈python可迭代对象,迭代器
- 云计算技术分享之桌面虚拟化中的3D虚拟化解决方案经验总结
- 可迭代对象,迭代器(对象),生成器(对象)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Introduction to Computation and Programming Using Python
John V. Guttag / The MIT Press / 2013-7 / USD 25.00
This book introduces students with little or no prior programming experience to the art of computational problem solving using Python and various Python libraries, including PyLab. It provides student......一起来看看 《Introduction to Computation and Programming Using Python》 这本书的介绍吧!