介绍几种先进的云计算技术,正是有了这些新技术,才将云计算带到了我们的生活之中,让云计算也不再那样的触不可及。
Spark
Spark是加州大学伯克利分校AMP实验室开发通用内存并行计算框架,于2010年成为Apache的开源项目之一。Spark以其先进的设计理念,迅速成为社区热门项目,并逐渐形成大数据处理一站式的解决平台。在大数据领域还有另外一种技术不能不提,就是Hadoop。Hadoop这项技术大概已有十年历史,一直被看做是首选的大数据集合处理解决方案,在诸多互联网企业的云平台中都有应用。不过Hadoop技术对于需要多路计算和算法的用例来说,并非十分高效,这也导致很多云计算应用选择Hadoop也是一种无奈的选择,当Spark出现后,局面就不同了。Spark与大数据现有技术中龙头老大Hadoop相比,Spark为我们提供了一个全面、统一框架,用于管理各种有着不同性质的数据集和数据源的大数据处理需求。Spark可将Hadoop集群中应用在内存中的运行速度提升100倍,甚至能够将应用在磁盘上的运行速度提升10倍,有望替代Hadoop在大数据中地位,成为大数据处理的主流标准。Spark使用Scala语言进行实现,它是一种面向对象、函数式编程语言,能够像操作本地集合对象一样轻松地操作分布式数据集。Spark具有运行速度快、易用性好、通用性强和随处运行的特点,国内在腾讯、淘宝、优酷都已经开始使用了这种技术。未来,在大数据领域,Spark必将发挥更大的作用。
Docker
Docker恐怕是这两年最火的一种云计算技术了,它实际上应该算是一种虚拟化技术,一种轻量级的虚拟化技术。Docker是PaaS开源的一个基于LXC高级容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。可能有人会问不是有虚拟机VM技术吗?是的,不过企业版的VM可不是免费的,收费还不便宜,还有虚拟机相关操作大多都很慢,启动要几分钟、捕捉快照要几分钟、创建镜像也需要几分钟,于是Docker出现了,启动虚拟机之所以要花几分钟,是因需要占用大量内存,而启动Docker容器只耗费很少的CPU和内存,并且非常快,与启动一个常规进程没有什么区别。与此同时,Docker实现了让几乎任何程序都可以在一个安全、隔离的容器中运行,安全和隔离使你可以同时在机器上运行多个容器。容器轻量级的特性,意味着你可以得到更多硬件性能。国内在京东、美团、芒果TV、新浪微博、大众点评等企业均已部署了Docker技术。
Kubernetes
Kubernetes作为Docker生态圈中重要一员,是谷歌多年大规模容器管理技术的开源版本。它构建了一个容器调度服务,提供资源调度、均衡容灾、服务注册、动态扩缩容等功能的套件。Kubernetes和Docker关系就如Xen与OpenStack的关系,Docker是一种容器技术,和Hypervisor(KVM/Xen这类)不同的是,Docker不会提供整个操作系统,它只提供隔离的程序运行环境,对一个应用来说这已经够了。而Kubernetes是谷歌的一个开源容器管理项目,基于Docker构建一个容器调度服务,为容器化的应用提供资源调度、部署运行、均衡容灾、服务注册,扩容缩容等功能。实际上,Kubernetes和Docker都源自于云计算PaaS技术,Kubernetes是基于Docker技术的mini-PaaS平台,提取PaaS中业务编排和管理模块而形成的。Kubernetes得到了如Microsoft、VMWare、Red Hat、CoreOS、Mesos等巨头支持,这加速了Kubernetes开源代码的完善。国内乐视云、腾讯游戏,华为均采用了Kubernetes来构建PaaS云平台。
Mesos
Mesos也是由加州大学伯克利分校AMP开发的,后在Twitter得到广泛使用,是开源分布式资源管理框架,被称为是分布式系统的内核,其目标是可以将整个数据中心当做一台电脑一样使用,Mesos能够保证集群内的所有用户有平等的机会使用集群内的资源,这里的资源包括CPU、内存、磁盘等等。Mesos不试图作为一个一站式解决问题的系统,而是以最小的成本来实现资源共享,Mesos定义一个最小化的接口来支持跨框架的资源共享,其他的调度以及执行工作都委托给框架自己来控制。与Kubernetes类似,Mesos提供的是操作系统级服务。不过Kubernetes目前只支持Docker,只是负责容器编排而不是集群资源管理,鲜有生产环境的用例;而Mesos不需要你的应用包到Docker里面并且其经历过生产环境的考验。不过Kubernetes的开源社区更加活跃,其正在高速发展中,前景非常好。所以一时也不好说孰好孰坏,都在高速发展着,看云计算用户如何去选择吧。国内的携程、爱奇艺等网站都采用了Mesos技术实现了云计算。
不难发现,以上介绍的这些技术多是与容器技术有关。的确,容器技术这两年得到了飞速发展,在各大技术论坛或云计算峰会议题中,都会占很大的比重,各主流云计算平台也无一例外地迅速提供了容器服务。云计算过程中不关心虚拟机监控程序和虚拟机是不可能的,虚拟化是云计算核心,容器技术正是虚拟化技术最重要组成部分,它实现了秒级部署、易于移植、弹性伸缩,给云计算带来了本质上的改变。云计算作为一种服务和应用的业务模式,很难讲会被颠覆。不过,容器技术的确是云计算的改变者,它改变了我们思考云计算的视角,为云计算的发展带来了活力,是推动云计算由理论走向实践的最佳技术之一。