DevOps:论云计算如何改变IT应用交付

以应用为导向的it运维

devops,近年来逐渐成为一个热词。devops代表development(开发)和operations(运维)的合义——也就是促进开发(应用程序、软件工程等)、技术运营与质量保障部门之间的沟通、协作、整合的过程、系统和手段。

正如虚拟化改变了数据中心的运营一样,云计算的兴起也预示着it应用运维将发生重大变革。目前,it运维团队还一直处于以服务器为中心来驱动的运维模式,而具体的应用则扮演着次要作用。另一方面,云计算则是以应用为中心的运维模式。

随着应用变得更趋于分布式,虚拟化并逐步融入云端,应用开发者和it架构师都面临着如何开发、交付和管理应用程序等众多挑战。

以应用为导向的运维

运行在云环境下的应用程序也需要具有高可用性、高可靠性和高灵活性,以应对更多更复杂的工作负载和监测。过去由it运维基础架构提供的这些功能现在将成为应用程序本身的一部分,这些运维能力需要融入到开发环境中。而在这些以应用为中心的新环境,运维团队将需要与开发者协同创建这些应用程序,也就是刚才我们所介绍的“devops”。devops团队是“一群采用新的方式实现更快、更好、更具效益和乐趣来推进开发和系统管理的人群。”

无缝adc对于应用开发者的意义

adcs和devops

软件定义的应用交付控制器(application delivery controllers, adc)在应对讯息万变的环境带来的挑战方面能发挥重要功能,尤其是在使用灵活开发手段的组织机构中,这种应用交付控制器更能发挥作用。它能提供积极正面的生产级别最佳实践,在开发和测试流程中可大幅降低维护成本,在业务和关键领域部署应用其效果更为显著。

想象一下在开发和测试环节中如果adc可以将整个生产环境进行“复制”,其意义有多大?

在开发和测试环节通过在生产网络中进行物理配置、功能测试和载入,devops可实时重复测试和故障检测,因为应用程序可以持续贯穿整个构建和整合流程。

此外,开发者也将可以更好地认识到部署在不同环境中的应用程序所面临的潜在瓶颈。开发者也可以更积极地以更加完整的视角来看待应用程序是如何在生存环境中发挥功能的。通过这些问题的处理,可以更好地节约时间和资源。

无缝adc对于应用开发者的意义

adc以类似apache或者mysql的方式,无缝整合到应用程序堆栈中,会给开发者带来一整套强大的工具。传统的adc架构其部署并没有带来真正意义上的改变,组织机构需要一个类似应用程序本身那样的动态adc。

具体的,一个机构选择什么样的软件adc(不是虚拟的)至关重要,它应该提供灵活的开发手段、支持devops并且还能提供开发、测试和运维不断优化以实现更好更快的真实应用结果。

一些软件adc编程语言可使得devops团队构建出应用部署策略能完全符合应用程序本身的功能。借此,开发者可以快速、简单地部署监测、优先级和路由、应交付等政策,从而帮助失学战略性业务目标。此外,某些功能模块还可以帮助开发者节约时间,并更专注于战略挑战而不是日复一日的维护活动。

结论

每个开发者应该都能访问到应用程序开发工具,以更好地融入现代质量保障/测试平台。这些工具可以用来测试实际部署环境中面临的各种疑难问题。此外,每个开发者和测试团队应该也有一个软件adc,拥有丰富且熟悉的脚本语言和可重复使用进行编程、撰写代码的adc。