devops_云中的DevOps

基于云的计算有望并经常提供诸如可扩展的虚拟化企业解决方案,弹性基础架构,强大的服务和成熟的平台之类的功能。 基于云的体系结构似乎提供了无限的潜力,但是它也带来了许多挑战和风险。 基于云的计算范围从基于云的开发工具到灵活的基础架构,使开发人员可以根据需要使用便宜且易于构建和拆卸的全尺寸测试环境。 第一步是了解如何在应用程序生命周期管理(ALM)中最好地使用云计算。

基于云的计算和ALM

从ALM的上下文中可以最好地理解基于云的计算。 技术专业人员经常在开发生命周期的每个阶段使用基于云的工具来管理工作流及其所有必需的任务。 基于云的ALM工具通常包括源代码管理,工作流自动化(包括缺陷和任务跟踪),知识管理和基于社区的论坛。 可以在整个ALM中使用基于云的工具。 许多组织通过维护自己的私有云来充分利用云。 虚拟化环境可实现连续交付和强大的测试环境。 基于云的计算的真正优势在于它能够以低成本交付企业架构,然后根据需求的增长对其架构进行扩展。 使用基于云的技术的公司可以将重点更多地放在运营支出(OPEX)上,而不是资本支出(CAPEX)上。 因此,随着系统使用的增长,企业可以保持较低的初始成本,并且仅为资源的使用付费。 但是云也有自己的一系列风险和潜在陷阱。

基于云的计算的阴暗面

基于云的计算存在一系列问题,从技术复杂性到必须依赖第三方的挑战,这些第三方可能没有您组织所具有的相同优先级甚至紧迫感。 例如,尽管您重视客户数据的隐私和安全性,但是某些供应商可能无法实施强大的安全措施,甚至可能没有将风险视为要解决的重要问题。 正如许多零售商发现的那样,数据泄露会损害组织的声誉,并可能对业务产生负面影响。 客户不在乎第三方是否最终是造成违规的原因。 一些服务提供商声称他们代替客户来处理IT合规性和治理问题。 根据相关的法规和审计要求,此声明可能是正确的,也可能不是。 云计算确实有缺点,但是好消息是DevOps可以帮助有效地减轻这些风险,甚至在出现问题时甚至可以提供备份计划。 首先,您需要了解所使用的云功能。

哪个云?

基于云的计算是一个非常广泛的主题,范围从组织自己的基础架构中的私有云到云提供商的租用服务:

  • 软件即服务(SaaS):按订阅或按需提供的软件。 服务提供商管理底层基础结构,包括操作系统和应用程序本身。
  • 平台即服务(PaaS):平台由服务提供商维护,因此用户无需担心基础架构,包括操作系统和存储。
  • 基础架构即服务(IaaS):基础架构(包括虚拟专用服务器(VPS)的广泛使用)由提供商管理,以便用户在硬件和网络层上方维护操作系统,存储和基础架构。

随着云扩展到数据库,存储和文档服务,将这些服务称为XaaS已经变得很普遍,以表示几乎任何类型的资源都可以虚拟化。 有了所有这些灵活性,似乎云是解决每个问题的理想解决方案。 事实是,基于云的计算可能会严重失灵。

功能失调的基于云的计算

人们在尝试使用基于云的资源时遇到的挑战通常会感到惊讶。 尽管IaaS经常要求您提供知识丰富的系统管理员,但是PaaS和SaaS模型将许多系统管理负担加在服务提供商上。 人们很快发现PaaS和SaaS基于云的计算并不意味着他们将对系统进行无忧管理。 当确实发生问题时,与服务提供商的服务台打交道可能是具有挑战性的。 通常,解决方案要求您购买其他功能来解决问题。 人们通常会感到自己被服务提供商所束缚,除非他们拥有自动流程来配置服务器并无缝地重建应用程序基础架构。 DevOps提供了解决这些问题中的许多问题并在发生问题时进行处理的原理和过程。

对于云至关重要的DevOps最佳实践

DevOps原理和实践提供了基础功能,使组织可以充分利用基于云的计算,并解决和减轻与云计算相关的固有风险。 能够可靠地构建其基础架构,配置服务器和部署应用程序的组织可以更好地应对云中的挑战。 DevOps提供以下核心功能,可帮助管理基于云的计算:

任何软件或系统开发工作都必须从对要构建的软件和系统的明确规范开始。 如果您可以自动构建基础结构,配置服务器和部署应用程序,则您的组织可以处理事件和问题,并在必要时无缝更改服务提供商。

基础架构即代码

DevOps非常重视通过自动化的程序化程序来构建和维护基本基础架构组件的能力。 对于DevOps,基础架构即代码包括配置服务器,构建中间件以及安装构成系统体系结构核心组件的应用程序代码的能力。 虽然将基础结构作为代码包含的内容远远超过了编写安装过程的脚本,但是这当然是必需的。 借助DevOps,技术主题专家(SME)与最有资格的运营专家合作,以创建可自动化且完全可追溯的可重复过程。 基础结构组件包括复杂的应用程序服务器(例如IBM®WebSphere®Application Server)和健壮的数据库(例如IBM®DB2®)。 除非采用DevOps最佳实践以有记载,可重复和可验证的方式完全自动化安装过程,否则安装这些关键基础架构组件可能是一项复杂的任务。 从质量角度来看,确保正确安装数据库和应用程序服务器等中间件组件的能力有助于确保测试环境与生产环境匹配。 当这些环境匹配时,发现在测试阶段不明显的生产缺陷的风险就较小。 作为代码,基础结构最重要的方面之一就是能够以编程方式配置服务器。

调配服务器

要在云中构建服务器,请从操作系统的已知基准开始。 许多基于云的提供程序都提供了应用程序编程接口(API),以使系统管理员能够自动执行配置服务器的过程。 这些过程可以包括用于使用实用程序(例如程序包安装程序)安装关键组件的脚本,该程序通常支持使用加密哈希来验证是否已获取并安装了正确的程序包。 可以自动执行安全共识标准,例如Internet安全中心 (CIS)提供的标准,可以帮助确保系统配置为尽可能安全。 在配置服务器,操作系统和中间件之后,下一步是使应用程序部署自动化。

自动化的应用程序部署

应用程序部署通常涉及相当大的复杂性,DevOps提供了对于创建自动化应用程序部署至关重要的原理和过程。 使用持续集成和持续部署的DevOps实践来创建全自动部署管道,这在整个应用程序开发生命周期中都非常重要。 成功构建全自动部署管道的最有效方法是创建一种重视知识和专业知识共享的组织文化。 这个想法是DevOps的核心原则。

知识共享

DevOps非常重视开发与运营之间的协作。 开发人员选择并实施新技术和新功能,然后他们会Swift做出响应,以解决现有系统中出现的问题。 开发人员是中小型企业,他们比组织中的其他任何人都更了解技术。 运营团队贡献了该技术在现场生产条件下的性能方面的基本专业知识。 运营专业人员包括发布和部署团队,他们是创建自动可重复流程的专家。 当这两个团队共享信息时,整个组织会通过将对有效运营必不可少的基本知识制度化而受益。 DevOps比开发和运营团队要大得多。 它需要包括整个组织和服务提供商的利益相关者。 这些利益相关者需要认识到确保客户成功的重要性。

与基于云的提供商进行知识共享

最好的基于云的提供商会营造一种文化,在这种文化中,他们的用户可以使用在线虚拟社区来共享知识,包括描述服务器配置和自动化应用程序部署的技术说明。 在这种环境下,DevOps提倡一种概念,即在基于云的提供商使用的知情用户和SME之间共享知识。 共享可以在一个在线社区中完成,该社区建立了出色的沟通和协作的DevOps原则。 当社区成员和服务提供商在基于云的计算环境中共享知识时,许多风险都会减轻。 知识需要在整个应用程序生命周期中共享。

管理完整的ALM

许多利益相关者(例如业务分析师,开发人员,测试人员和运营专业人员)执行的工作会受到基于云计算的影响。 DevOps的通信和协作原则对于有效的基于云的开发和基于云的运营至关重要,但是在云中管理ALM会带来一系列独特的挑战和风险。 诸如持续集成和交付之类的技术可通过建立自动化的应用程序部署管道来提供帮助。

持续集成和交付

持续集成和持续交付是与DevOps最佳实践通常相关的两种最有效的技术。 基于云的开发从频繁集成更改和自动化部署中受益匪浅,因此可以使用定义良好且完全自动化的部署管道来频繁地交付代码。

了解有关持续集成和交付的信息:

持续的质量保证和测试

质量保证(QA)和测试是全生命周期的工作,需要包括所有利益相关者。 云为质量保证和测试提出了一些挑战,但同时也提供了一些出色的功能。 借助自动配置和连续部署的DevOps最佳实践,开发人员,QA专业人员和其他利益相关者可以在以前无法获得的低成本,类似于生产的测试环境中进行测试。 在云中,环境验证至关重要,尤其是在由服务提供商控制的情况下。 但是,即使用于配置虚拟机(VM)的私有云也可能会面临一些特殊挑战。 系统专业人员知道虚拟机的行为可能与物理计算机不完全相同。 这些风险需要被理解和减轻。 如果您拥有DevOps最佳实践来使用自动化过程来配置和维护这些环境,则DevOps使用基于云的资源来配置测试环境的功能将提供增强生产力和质量的新功能。

了解测试:

使用DevOps应对云中的挑战

DevOps原则和实践可增强所有利益相关者之间的协作,包括开发,运营,质量保证,测试,信息安全以及服务提供商自己的内部支持结构。 在这种情况下,DevOps协作还包括服务提供商的支持人员和对等消费者的社区支持组。 例如,一个优秀的云服务提供商向客户付费以为其他客户的利益编写技术说明,这一过程促进了协作文化。 DevOps还提供了功能强大的工具和流程,使组织可以根据需要配置服务器和部署代码。 当服务提供商无法满足其服务水平协议(SLA)并无法提供预期的服务时,您可以无缝迁移到另一家云服务提供商。 无论开发工具是托管在服务提供商的云中,还是托管在公司自己的私有云中,都可以根据需要快速启动和扩展开发工具。 为了实现虚拟化的真正价值,应用DevOps原理和实践来帮助应对基于云的计算带来的挑战。

云中的安全性

尽管存在潜在的风险,但如果以负责任的方式使用基于云的计算,那么它既可以安全又可靠。 DevOps最佳实践使您可以了解和监视您的运行时环境。 您可以检测到人为或恶意意图导致的未经授权的更改。 更重要的是,您可以通过在必要时重建系统来处理事件。 当系统受到威胁或其他IT机构在洪水或地震等灾难后难以恢复时,此功能是一项基本功能。

组织需要了解,导航基于云的服务并不容易。 有效的沟通,协作和流程改进的文化至关重要。

结论

DevOps提供了一组功能强大的原则和实践,可帮助解决基于云的计算固有的挑战。 使用这些最佳实践来实现基于云的计算的全部功能。


翻译自: https://www.ibm.com/developerworks/library/d-cloud-devops/index.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值