微信号:computress

介绍:算法女博士及她的小伙伴的思维乐园.关注数据挖掘,机器学习,IT技术,互联网思考,程序员身心.

从虚拟化到SDDC

2015-08-27 03:21 飞林沙

在过去的十几年,虚拟化成为了在互联网行业非常重要的技术,无论是在我们传统的服务器搭建,还是SaaS服务。虚拟化为我们提供了非常好的方式方便我们维护,迁移。但是现如今,虚拟化在生产中却暴露了越来越多的问题,所以SDDC应运而生。在这篇文章里,我会大致地介绍一下虚拟化的由来、问题以及SDDC的概念。


虚拟化的产生和兴起


在了解虚拟化技术本身前,我们先来熟悉下虚拟化的由来。在20世纪70年代,硬件的发展突飞猛进,一些公司需要有一种方式能够在新的软件上运行旧的程序,然后也希望从批处理系统迁移到支持多用户和多程序的交互式系统上。于是IBM的工程师就创造了“虚拟机”的概念,把硬件和软件隔离开,把任务和任务隔离开。随后,处理器快速更新,我们同样需要虚拟机让旧的软件能跑在新的处理器上,此外,也希望能够通过虚拟机,让多核得到更充分的利用。这也是现如今虚拟机应用最广的场景之一。


虚拟机的淡出


20世纪以来,互联网飞速发展,公司的数据存储遇到了巨大的挑战,这时Hadoop这样的分布式技术应运而生。Google开始让大家意识到未来的互联网是由一群廉价的机器通过合理的集成,从而发挥更大的威力,而非越来越贵的服务器。从这一点来讲,其实已经与虚拟机的使用场景背道而驰了。虚拟机强调把一个强大的机器分开,让多个任务跑在同一台物理机上;而数据中心却强调让复杂任务和大规模数据存储于多台廉价物理机上。


微服务(Microservice)


微服务已经成为了当今最重要的设计模式,成为了取代虚拟机的重要应用技术。简而言之,就是把服务变得更小,更独立,然后通过协议将之组合在一起。

这样的模式有很多的好处,例如他支持更快速的迭代,可以通过升级某一个微服务而不需要伤及到整个的应用系统,可以支持更高的扩展性,也可以更加方便地多语言的互操作。

随着微服务的兴起,容器技术应运而生,最具代表性的就是Docker。相比于虚拟机,容器最大的好处莫过于他的轻量级,他并不像虚拟机一样在其上运行着自己的操作系统,所以一般可以在几秒内启动和销毁一个容器。另外一个物理机上所能承载的容器数量也远远高于所能承载的虚拟机数量,这保证了资源的充分利用。


SDDC(软件定义数据中心)


SDDC,软件定义数据中心,定义是说通过虚拟化和软件化数据中心的一切资源,可以适配任何的新形势和新应用。那么从我个人的理解而言,真正的SDCC除了要做到基础架构层之于应用层的抽象外,还需要做到为应用程序自动动态分配资源,然后使应用程序可以使用数据中心不同资源和不同组件。


从我的眼界来看,最为成熟的SDCC应该属于Apache下的开源项目Mesos,大致架构如下:




Mesos抽象了底层的资源,可以使用Docker作为应用层运行任务的隔离机制。当运行某任务时,将Framework的执行器全部打包,并且在slave上创建容器启动程序;当任务执行完毕后,容器销毁,释放资源供其他Framework使用。


由于本文并非介绍Mesos,所以这里只是稍微提一下Framework的概念,Mesos的Master的作用仅为收集Slave的资源情况,并且为Framework产生资源邀约,而不同类型应用程序之间的资源调度则完全由Framework自己实现。也就是说Mesos分为两层调度,Master实现的是Framework的资源调度,而Framework自身实现任务级别的资源调度。这样可以极大的降低Master的工作负载,让整个Mesos的扩展性大大提高;也让整个Mesos的灵活性大大提高,任何社区都可以为Mesos贡献Framework插件使其可以运行于Mesos之上,例如Hadoop和Spark。


烂尾


文章越写越乱了,就这样结束吧。


引用:

《深入浅出Mesos》

《Dawn of the data center operating system》

 
计算姬 更多文章 没有干货,只有吃货 [上] 此文征名 如何用一周时间学习Rails(小白文)
猜您喜欢 我并不聪明,只是多练习和思考 也谈机器学习到底有没有用? Android样式的开发:shape篇 谷歌灭苹果野心不死 “安卓国”计划曝光 周末荐读 | 叹为观止的算法基础经典