取消
显示结果 
搜索替代 
您的意思是: 
cancel
公告

December 2020

December 2020

【原创】如何组合多种DevOps工具解决现实问题(2)

627
查看次数
0
有帮助
0
评论
3.持续集成
这个阶段可谓DevOps最为出彩的部分。它在第一次发布过程中,就发挥了重要的作用。它能够最大限度地促进持续集成工具与配置管理工具的联合部署。
毫无疑问,如今市面上最受欢迎的持续集成工具便是Jenkins。当然,其他流行的CI工具还是BambooHudson
持续集成工具的主要功效在于:它能够通过协调其他DevOps生命周期阶段的自动化工具,将整个DevOps结构完整地保持在一起。也就是说:无论是持续开发、测试或部署工具,还是持续监视工具,或是持续集成工具,都可以与CI工具全面集成。
u 在与Git/SVN集成后,Jenkins可以自动化地安排诸如:从共享存储库中提取代码之类的作业,并使其为构建和测试做好准备(即持续开发)。Jenkins可以被设置为在某个预定的时刻,或是有提交被推送到中央存储库时,触发构建作业。
u Selenium等测试工具集成后,我们可以实现持续测试。通常,我们可以使用Maven/Ant/Gradle之类的工具,来对已开发的代码进行构建。此后,Selenium可以通过创建一组测试用例,以及逐个执行这些测试用例,来自动执行各种代码。在整个过程中,Jenkins/Hudson/Bamboo的角色就是自动化计划。
u 与持续部署工具集成后,Jenkins/Hudson/Bamboo可以通过配置管理,以及容器化工具来触发部署计划。
u 另外,Jenkins/Hudson可以与SplunkELKNagiosNewRelic等监控工具相集成,进而对那些已部署的服务器状态和性能提供持续监控。

4.持续部署
在讨论了从头开始构建代码的工具、以及测试类工具之后,我们现在来一起看看配置管理工具或容器化工具。这两套工具都有助于在DevOps中实现持续部署(CD)。实际上,持续部署是软件项目的实际落地阶段。
目前,配置管理工具具有如下特点:
u 通常,配置管理需要在应用程序的功能需求和性能中,建立和维护一致性的行为。简而言之,它是将部署发布到服务器上,调度所有服务器上的更新,以及保持所有服务器上一致性配置的行为。
u 业界常用的此类工具有:PuppetChefAnsible、以及SaltStack,其中最好的当属Puppet。这些工具都是基于主-从(master-slave)架构的。当有新的部署被发送到主服务器时,这台主服务器负责在所有从服务器之间复制此类变更。

下面我们看看容器化工具:
作为一套工具集,容器化工具可以协助运营人员在开发、测试和部署应用程序的环境中,保持一致性。通过对那些在开发/测试/阶段性环境中频繁使用到的相同依赖项和程序包进行打包与复制,容器化工具大幅消除了生产环境中各种错误与故障的可能。
Docker是最早也是久负盛名的容器化工具之一。过去,由于开发人员使用到了各种虚拟机与服务器,因此他们必须通过手动管理,才能保持生产环境状态的一致性。如今,有了Docker容器的协助,大家能够轻松地实现一致性的自动化保持。

近年来,许多云端应用的解决方案,都开始为容器服务提供支持了。其中,Amazon ECSAzure容器服务和Google容器引擎,都能够对Docker容器提供原生的云服务支持。这也就是Docker能够广为普及的原因之一。当然,其他类型的容器化工具还有:Vagrant
5.持续监控
如果我们不对应用程序的性能进行监视,那么开发和部署应用还有什么意义呢?就算是再全面的测试,也难免疏漏掉一些潜在的错误或性能问题,因此,持续监控与应用开发同等重要。
目前,属于此阶段的流行监控工具有:SplunkELK StackNagiosSensuNewRelic。它们与Jenkins结合使用,可以让运营人员达到持续监控的目的。总的说来,持续监控工具的必要性在于如下两个方面:
u 由于程序的缺陷会给服务提供方造成财务上的损失,因此我们需要通过持续监控,来最大程度地减少功能性错误所出现的频率和带来的后果。
u 监控工具可以在用户普遍碰到故障,并产生不良使用体验之前,及时报告故障或服务水平的骤降。
SplunkELK堆栈是该领域的两大工具,它们之间有着竞争关系。它们虽然能够提供几乎相近的功能,但是具体提供的方式却不尽相同。
Splunk是一款非常容易上手的商业工具。而ELK堆栈则是由ElasticSearchLogStashKibana三种开源工具组合而成。虽然可以免费使用,但是ELK设置起来却不像Splunk那么容易。我建议您亲自试用一下这两款工具,以选择更适合自己项目的一款。

【原标题】How To Combine DevOpsTools Together To Solve Our Problems (作者: Sahiti Kappagantula )
原文链接:https://dzone.com/articles/how-to-orchestrate-devops-tools-together-to-solve
不能显示该小部件。