详解软件定义应用程序和基础设施

日期: 2016-06-14 作者:Stephen J. Bigelow翻译:朱文浩 来源:TechTarget中国 英文

相比于虚拟化和单独的应用程序设计,软件定义应用程序和基础设施为数据中心提供了更加灵活、有效和可信赖的设计方式。 将眼界放到大部分需要手动配置的,也可能是耗时和充满错误的虚拟化之外,容器提供了更模块化的应用程序开发方法。开发人员借助一系列独立的模块或组件,组建一套软件定义的应用程序,我们称之为“微服务”(microservices)。每个微服务运行在容器中,并通过应用程序接口进行通信。

API在多种的功能模块间为容器化的组件传输数据和命令提供通道,并创建工作应用程序。通过增加额外的容器和在API与应用程序之间的通讯实现负载平衡,IT团队可实现自动化部署,监控性能和规模化组件。不处于使用状态的容器可……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

相比于虚拟化和单独的应用程序设计,软件定义应用程序和基础设施为数据中心提供了更加灵活、有效和可信赖的设计方式。

将眼界放到大部分需要手动配置的,也可能是耗时和充满错误的虚拟化之外,容器提供了更模块化的应用程序开发方法。开发人员借助一系列独立的模块或组件,组建一套软件定义的应用程序,我们称之为“微服务”(microservices)。每个微服务运行在容器中,并通过应用程序接口进行通信。API在多种的功能模块间为容器化的组件传输数据和命令提供通道,并创建工作应用程序。通过增加额外的容器和在API与应用程序之间的通讯实现负载平衡,IT团队可实现自动化部署,监控性能和规模化组件。不处于使用状态的容器可被关闭,从而节省计算资源。

尽管有一些好处,但脱离开数据中心或基于云的基础设施层面的控制,软件定义的应用程序将无法工作。

应用程序的后台资源

基础设施监控、自动化软件定义和管理虚拟机、容器、存储实例、网络区段和其他元素的部署和规模化应用组件需要与既定的基准和政策保持一致。例如,如果应用程序的排队系统性能下降至低于可接受的速度范围,该软件定义的基础设施会自动运转,临时在任何可用的服务器上增加排队组件。尽管任何应用程序所需的资源都会随着时间发生浮动,这种精心策划的自助服务,对不稳定或难以预测的工作负载(的临时变化)非常重要。

用上述方法,API并非是一种软件定义的应用程序,它们也构成了软件定义基础设施的基础。如果API无法决定是否需要提高性能,是否需要采取行动补救的情况,IT专业人员则需要不断地监控和调整分配到应用程序的资源。

软件定义的应用程序和基础设施越来越多地与横向和纵向的服务扩充概念结合到一起。传统的应用程序依赖于纵向的服务扩充,资源将会分配到主要的软件实例当中。横向的服务扩充,则相反,复制应用组件实例——通常应用“微服务”架构,按照增加功能的需求进行增加。

横向的服务扩充是更具吸引力的方法,因为它更好地实现监测和自动化。例如,当监测显示某一组件的定时服务API调用的资源捉襟见肘时,软件定义基础设施自动复制一个或多个组件,并平衡API通信负载——所以这些增加的组件会协同工作来处理增长的应用程序工作量。

相反,如果监控显示,API调用的资源处理当前工作绰绰有余,该软件定义的基础设施可以自动删除或降低性能,增加的组件的资源将被释放用于其他工作。

何为API

传统的应用程序在集成的实现上很吃力——让应用程序采取有意义的、系统性地方法进行相互通信是很困难的,而API能够解决这一问题。

API规定的程序和协议形成应用程序的构筑区块,规定了如操作、输入、输出及其他功能属性。该接口可以帮助开发人员具备数据库访问、图形功能、网络行为和硬件设备的访问等的能力。

预置的API有微软的Windows API、C++和Java中的API标准模板库等。利用简单的对象访问协议或代表性的状态转移服务,应用程序还可以为其他应用程序提供对接。

软件定义架构的发展情况

术语“软件定义”与一系列的技术相关,包括存储、网络、应用程序、电源、基础设施,甚至整个数据中心。使用软件的概念,界定和优化IT运行环境中的元素,有着令人兴奋的应用前景,但给所有事物加上软件定义的标签会产生混淆,并可能造成IT专业人士的误解,让他们理解成软件定义应用程序和基础设施领域的内容。

例如,软件定义的架构(SDA)。这一术语是由Gartner提出的软件定义的网络和面向软件架构的扩展,很容易与软件定义的基础设施混淆。然而,软件定义的架构尝试封装数据中心内部的硬件和服务,使这些资源与用户可能接触到的应用程序、服务和设备隔离开,有效地把生产者或供应商与消费者分开。创建这个边界是为了隐藏或抽象的企业内部的运作——服务器、存储阵列和网络模式——并允许IT团队变更、更新或替换他们而不会影响面向用户的应用程序、服务或设备。

要创建这样的,在数据中心资源和外部用户之间,我们通常称之为软件网关的逻辑边界, SDA依靠两套API。“内部”的API组织和驱动内部系统,并优化数据中心端的性能。为长途网络操作所优化的“外部”的API,可以安全地访问内部的API。

软件网关由包括集成代理、API管理人员、API网关和SOA接口等软件组件创建而来。正确地实施软件网关可以实现API的转换并处理安全、业务流程和路径规划等问题。

这种方法从底层的数据中心抽象出应用程序、服务和设备。这种抽象有助于保护数据中心和企业数据;当它与API结合运用,抽象也将最终用户与供应商分离——这意味着其中一方的变化将不会影响到对方。

Gartner对软件定义架构的实现仍处于起步阶段,在未来几年内,实现方法和算法将如何发展仍有待观察。

作者

Stephen J. Bigelow
Stephen J. Bigelow

数据中心和虚拟化网站的高级技术编辑,拥有20年的PC和技术写作经验。

相关推荐

  • SDDC架构转型?看Shutterstock CIO怎么说

    David Giambruno正带领团队再次进军SDDC架构。在这篇问答中,Shutterstock的新任CIO将分享他面临的最大挑战与收获到的经验教训……

  • 数据中心专家预测2016年IT发展趋势

    超融合及云计算占据了2015年新闻头条,数据中心专家认为2015年IT以变革为主,那么,2016年又是以什么变化为主呢?

  • API应用场景与技能培训

    API系统在数据中心的重要性越来越明显。那么,API会出现在哪些场景里面?既然API系统变得这么受欢迎,IT技术人员如何才能获得正规数据中心API技术培训和经验呢?

  • 数据中心专家为啥更青睐API?

    数据中心团队在手动配置环境上花费的时间越来越少,转而在应用程序编程接口(API)上投入更多的时间,这一自动化工作的趋势越来越常见,并且还在不断增长,软件组件的范围也不断扩大。