难以定义的软件定义

日期: 2014-11-25 翻译:郑文帅 来源:TechTarget中国

有真正的“软件定义”吗?都是在炒作。

我们以前炮轰过Taneja Group厂商的表现,他们从一开始就宣传和售卖他们的“软件定义”解决方案。但是真正奇怪的是他们声称他们的每一个产品和服务实际上都是去定义任何类别的“软件定义”,恰好供应商这时候都在提软件定义。这些都是聪明的个体,但是在全行业来看没什么意义。

我们经历了一些云概念的洗礼,但是它奇迹般地成为了每一个用户采用云应用的过程中的关键要素。在云的另一面,还是有一些道理存在的。我想我们应该都知道“云”的意思和未来的IT云可能是个混合云,但在众多的IT解决方案中仍扮演着一个重要的角色。但是这么急于声称软件定义是最高点越来越令人不解。即使VMware在软件定义的数据中心(SDDC)概念中是领头羊,但是似乎不是所有人对软件定义的实际意义是什么达成共识。这说明这个词正处在危险之中,变得毫无意义。

软件定义的概念

在软件定义这句话没有得到完全承认之前,让我们至少说明它可能是什么。首先,让我们以软件定义的网络(SDN)来举例。在网络空间中,SDN给我们带来的重大转变不仅是可以在逻辑网络层使其能够动态的和以编程的方式去定义和构造,而且还可以远程操纵底层物理网络设备的开关。

一个关键的观念是一旦基础设施可以远程进行编程,本质上来讲可通过软件的手段来实现,他可以动态灵活的去创建,你应该清楚在没有这个之前,假如你的整个系统崩溃了,你需要手动的一个一个去移动你的线缆和HBA卡,然后再重新配置你的交换机。它代替的你用双手从静态A到静态B迁移工作一个周末的努力,SDN使网络在运行中有效地重新定义了远程管理。

这种远程编程使第三方的智能和优化融入到这种场景(所有机器在使用中潜在的会产生很多数据,你可能需要存放起来)。虚拟化是利于数据中心敏捷性的第一步,可以从逻辑的总资源池中建立虚拟的物理基础设施。带来的好处是可以达到软件资源的最优化和物理实例化,在重要的区域包括连通性、安全性、性能和数据保护方面可以弹性配置资源。

软件定义还是定义软件?

现在很多IT产品都是用嵌入式的硬件或者固件来作为软件使用,然后作为虚拟设备在虚拟机实例上运行。

软件仿真已经出来一段时间了(主要用于内部测试和开发),但是随着CPU和内存的降价,服务器利用率下降和越来越多的虚拟化产品,甚至是基于软件的系统也越来越可靠,性价比也高,越来越多被用于生产环境。例如,传统的存储阵列以前只卖硬件套件,而软件运行在OEM的普通的服务器上。然后在重新包装一下,他们现在就当虚拟化阵列卖。当然,如果是专门为虚拟化环境设计的产品表现的会更好,比如HP的 StoreVirtual VSA, EMC的ScaleIO, VMware的Virtual SAN和其他的厂家的。

VMware所讲的软件定义就是将所有的IT基础设施(例如,网络、存储、安全)集中在软件中实现。随之而来的好处就是提高了效率、自动化、敏捷性和服务质量。现在在他们的幻想中流行一个想法,那就是一个完整的数据中心中使用软件可以随意拆分应用所需的资源,只需要一个主机来管理整个虚拟化环境。

生产环境中使用基于软件的系统已经变得可靠性和性价比更高

然而,这不是简单的使用软件,这应该叫做软件定义;这个词也应适用于整体资源服务(例如,网络和存储)。正如你这有个软件定义的网络交换机,应考虑软件定义的基础设施来适当的设计硬件和固件解决方案。换句话说,一个以模块资源为单位的物理组装池的良好设计,就可以提供弹性的调配、动态分区和以编程方式来配置。

沿着这条路线,VMware似乎瞄准了一个软件定义更微妙的未来,那就是传统资源将只需要在软件定义的管理控制界面的前面就可以(如旧存储上的虚拟卷)。

与之相反的是,有的IT软件产品不具备在一个软件定义的数据中心开放的、远程可编程性的眼光。如果一个解决方案不能组成一个大型的软件定义的系统或者没有第三方的智能和优化的话,从长远来看,那真的就是和以前老的解决方案一样了。

融合,拆分,覆盖和揭开?

有趣的是,很多软件厂商允许他们基于硬件的应用版本可以直接使用他们的软件许可。他们的“融合”仅仅是预先安装在认证的硬件平台上,很像是替代他们传统的硬件解决方案。我们推测很多人仍然只是想要直接打开一个盒子插上电就可以工作,而不是混乱的集成在一起。

从根本上讲,软件定义的产品需要远程和动态编程。这就引出了一个问题,谁来进行编程。它虽然可以让IT人员方便的管理整个数据中心基础设施,但是有多少按需生产的数据中心让我们IT人员在一个月之内创建完成?更大的、持续的回报将是动态优化基础架构,每个应用可能都需要。最后我们预测未来的世界掌控者将是应用的软件定义。

事实上,DevOps也许是一个过渡阶段,基础设施资源调配、配置和优化都是由应用直接控制的。当最初代码和基础设施紧密的联系在一起的时候,这将是一个完整循环的开始,然后通过高级语言、操作系统和虚拟化慢慢的虚拟出来。软件定义可能通过应用程序基础机构意识和自主的管理将这一切都变回来。

一个关于软件定义的软性定义

我从许多人那里听到软件定义的产品要有自相矛盾的特点像设置简单(做一件事),灵活性(做很多事),要有对外开放的外部管理接口API,完全的自我管理,通过制定策略来管理,让它们有规模还得便宜,通过弹性来省钱,灵活的投资通过最大限度地利用机遇,通过效用最大化来加速机会,几乎是不可知的平台,建立明确在有价值的硬件上,嵌入式专业功能,可以预先融合,外观整齐,部署在裸金属上,可以和云友好的连接,可定制和另外一些冠冕堂皇的话。

这些东西搞得非常混乱。底线何在?如果你保持着眼于不断提高基础设施自动化,那么你应该在正确的轨道上,不管软件定义的最终定义是什么。

本文节选自《IT新架构》杂志11月刊:云数据 安全难

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐