开发云应用必守的12个规则

日期: 2017-09-08 作者:Joel Shore翻译:崔婧雯 来源:TechTarget中国 英文

云应用开发的技术和工具多种多样。为了充分地利用它们,将您的应用超越可扩展性,并进入自我修复和无状态的领域。

在阴雨连绵的纽约举办的Cloud Expo开幕式第一天的主题演讲中,IBM的Michael Maximilien成功地让与会者意识到,他们开发云应用的目标必须超越可扩展性,以涵盖其他特征,包括框架和云平台不可知论,应用自我修复和隔离。

Maximilien是IBM云创新的首席架构师,经常被称为“Max博士”,他还讨论了IT专业人士开发云应用必须考虑的12个关键特性。

Maximilien表示,可扩展性应该是自动的,允许应用分配资源,并根据需要复制容器化的微服务,而无需管理员干预。这些应用也应该是可以自我修复的,它们能够在崩溃后自动重新启动并恢复,而不需要IT人员干预。

Services,Microsoft Azure,Google Cloud Platform或IBM自己的SoftLayer基础设施上运行,这些基础设施现在构成了IBM Bluemix平台的核心。隔离是将应用实例分离的一种方法,它确保业务数据不能被竞争对手运行的相同的即时服务应用程序的实例访问。

开发云应用的十二个因素

云原生即服务应用开发的12个因素首次发布于2012年。Maximilien说,任何开发基于云的应用的开发人员都应该熟悉这12个因素,其中大部分都是作为服务运行的。这些因素是:

  • 代码基。在单个代码基工作,在多个部署中对修订控制进行跟踪。
  • 依赖关系。声明和隔离应用程序的依赖项。
  • 配置。将配置存储在环境中,而不是在应用内。
  • 服务。将诸如数据库之类的服务视为附加的外部资源。
  • 运行。保持构建和运行阶段分离。
  • 状态。将应用作为一个或多个无状态流程执行。
  • 端口绑定。通过灵活的端口绑定导出服务。
  • 可扩展性。水平扩展——小容器的复制——而不是垂直扩展,用更少的大容器。
  • 执行。快速启动应用,但在失败时执行正常关停。
  • 阶段。最大限度地减少开发、交付和生产之间的差异。
  • 日志。将所有日志视为单个事件流。
  • 管理任务。作为一次性流程运行管理和管理任务。

Maximilien表示:“如果您在应用中保留状态并且该应用崩溃了,那么在重新启动应用时就会丢失这些状态。”他说,处理状态的正确方法是将它们存储在外部数据库中。这样做可以让应用在崩溃后重新启动时,能够准确地拾取崩溃发生时的状态。

他说:“成千上万的用户的生产将会暴露出在小规模测试中没有出现的问题。”这些问题最有可能表现为阻碍性能的瓶颈,无法满足需求的API调用,网络延迟或彻底崩溃。

Maximilien的另一个警告是“开发人员和测试人员通常无法理解测试和生产环境是非常不同的——即使它们的配置完全相同。”

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者

Joel Shore
Joel Shore

新闻作者

相关推荐

  • 《云技术第一线》之云应用开发

    云应用开发的技术和工具多种多样。为了充分地利用它们,将您的应用超越可扩展性,并进入自我修复和无状态的领域。Maximilien是IBM云创新的首席架构师,经常被称为“Max博士”,他还讨论了IT专业人士开发云应用必须考虑的12个关键特性。

  • Red Hat Cormier发布OpenShift.io和容器状态指数

    Red Hat为云应用开发人员提供了新功能和针对容器运行状态和安全性的评级服务。同时,它还避免了在本地工作站上使用OpenShift.io来安装开发工具。

  • 云端应用开发:Vistual Studio 2017能帮开发者做什么?

    经过十年 发展,云计算的优势已经越发凸显起来,越来越多的企业也已经开始把应用开发转移到了云端,这意味着软件应用的创建过程将发生在云端。但j ,因为一些问题,云中开发还没有大规模的实施。

  • 青云QingCloud AppCenter 2.0:模板化的云应用开发

    为了帮助企业获得快速的云应用开发能力,青云QingCloud于2015年5月推出了企业级应用交付平台QingCloud AppCenter;近日,青云QingCloud又推出了全面升级的AppCenter 2.0平台。