DevOps工具雷达:为项目选择和分类最佳工具

5分钟阅读时间 (1006字)
DevOps-Tools-Radar

工具是至关重要的元素DevOps的过程,但是对于新的DevOps实践者来说,工具的数量实在是太多了。

为了解决这一难题,我们的专家设计了DevOps工具“Radar”,帮助工程师为他们面临的任何问题选择最好的工具。

Radar根据反映应用程序生命周期的四个主要关注领域对工具进行分类:持续集成、基础设施、发布管理和监控。在这些领域中,工具被进一步分类,并与每个流程中的特定任务和步骤相匹配。云计算和安全是贯穿整个过程的两个额外考虑因素,因为它们通常会影响所有关注的领域,但在本文中,我们将重点讨论每个分类的细节。

持续集成

在持续集成(CI)的保护伞下,主要集中于构建产品,工具被分为三个部分:源代码控制管理、构建/测试和工件管理。

CI是关于获得快速反馈以提高软件质量和缩短上市时间的。这个过程通常从签出和分析开始,然后转移到测试、构建,最后到工件管理。CI中的这五个阶段中的每一个都需要特定的工具用于过程的每个部分。

对于检验阶段,像GitHub和GitLab这样的工具是最合适的,而分析需要像SonarQube或Sonatype IQ服务器这样的工具。在测试阶段,您可以使用Radar在JUnit或Apache JMeter之间进行选择,然后使用Maven或Grunt进行构建。最后,像DockerHub或Nexus这样的工具覆盖了工件管理阶段。

一旦在这个过程中选择了工具,六个高级工具将负责所有五个阶段的编排:GitHub、CircleCI、GitLabCI、Jenkins X、Azure DevOps和AWS CodeStar。应该根据您的产品所基于的技术、语言和堆栈来选择这些顶级工具,这有时会限制您的选择。

基础设施

利用Radar的下一步是考虑在哪里部署产品,这意味着定义基础设施的外观。

操作首先需要根据用例选择最佳的“whatever-as-a-service”来选择服务层。这些可能包括用于IaaS(基础设施)的Azure VM或AWS VPC,用于PaaS(平台)的Heroku或AWS ES,用于BaaS(后端)的Firebase或AWS Cognito,以及用于FaaS(功能)的Azure Functions或AWS Lambda。

接下来,他们将研究用于运行时和编排的容器,它们有大量的选项,如Docker、Cri-O、Kubernetes、AWS ECS等。应该根据所需的功能级别来选择这些功能。

最后,在考虑自动化配置时,Radar可以帮助选择用于供应的工具,如Puppet、Ansible和Chef,用于机密的Vault,以及用于机器映像的Packer。在自动化基础设施方面,Terraforma和Pulumi是将基础设施作为代码的很好的选择,而Consul则在Networking方面提供帮助。

发布管理

在完成产品和完全配置的基础设施之后,接下来是发布管理过程,其中包括部署策略、编排和更新。

首先要做的是选择一个部署策略,比如滚动、重新创建或蓝色/绿色,这些策略通常与Kubernetes相关联。

就编制而言,您有用于Kubernetes应用程序的Jenkins X、Spinnaker(它与基于VM部署的应用程序配合得非常好)和Octopus Deploy。与Radar的所有其他部分一样,Amazon、Azure和谷歌Cloud也有自己的一套解决这些问题的工具。

监控

在发布之后,跟踪指标、检查应用程序的健康状况并不断收集见解是非常重要的。Radar帮助您选择要监视的内容,并找出要从应用程序中提取的最重要的信息。

雷达包括谷歌的四个黄金指标信号(延迟、流量、错误和饱和度),这对每个用例都有不同的含义,因此选择监控什么取决于组织的具体需求。

一旦您知道要监视什么,就有几个可用的监视堆栈,包括用于导出的Beats、用于时间序列数据库的Prometheus和用于UI的Grafana。这些领域的其他主要选择有Splunk、AppDynamics、Instana、DataDog、Dynatrace、New Relic和Elastic Stack。

每次都选择正确的工具

在使用Radar时,我们发现最好的方法是考虑如何平衡每个工具的利弊,这归结为深入理解您的问题。

例如,一个工具可能能够解决一个复杂的问题,但它可能没有足够的灵活性来与您的生态系统集成。另一方面,工具可能价格很低,但从长远来看,您最终要在维护和支持上花费更多。最终,如果一个工具不能解决您的问题,那么它的任何功能或吸引人的元素都没有意义。

这些权衡几乎适用于DevOps范围内的所有工具,所以在100%承诺任何一组工具之前,总是值得构建PoC,因为它将向您展示它在现实场景中是如何工作的。同样,我们的Radar旨在加速这一过程,并提供最合适的工具组合的可视化表示。

DevOps Tools Radar可以轻松地突出最适合您的项目的原则工具,它消除了一些与选择工具相关的复杂性。通过加速这一过程,公司可以在某种程度上利用它们来影响软件开发团队的传递管道、过程和文化——至少,这是它对我们的影响。

加入我们

当我们参与团队合作时,我们有能力改变世界。你准备好成为改变者了吗?作为一家全球数字咨询公司,Perficient正在改变世界上最大的品牌与客户联系并发展业务的方式。这可能是一个提升你的职业和技能的机会。 DevOps工具雷达只是一个开始,总是有更多的东西需要学习 d 在Perficient Latin Am发展你的职业生涯 艾丽卡 加入我们的行列。

相关的帖子

评论

目前还没有任何评论。第一个提交评论
已经注册?登录这里
客人
2021年11月3日,星期三

验证码图片

通过接受,您将访问https://nearshore.perficient.com/外部的第三方提供的服务