DevOps易用工具链怎么构建

76次阅读
没有评论

共计 2962 个字符,预计需要花费 8 分钟才能阅读完成。

本篇内容介绍了“DevOps 易用工具链怎么构建”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

构建工具〓 项目管理

瀑布式开发要规划出所有的工作和每个版本的依赖关系,这与 DevOps 理念背道而驰,而敏捷开发,可以通过构建、测试应用收集用户反馈来降低风险提高可见性,这也是许多团队在 Sprint(敏捷开发的四种会议)提出构建到发布用 2—4 周的时间。

当团队在每个 Sprint 时分享想法和计划时,要考虑之前 Sprint 的回顾反馈,不断优化方案。此后将这些构思上传到一些工具当中,可以跟踪项目的整体和每日进度。推荐的工具有:

Active Collab:基于 Web、开源的协作开发与项目管理工具,可以利用它轻松地搭建一个包括团队和项目客户能够 在同一个项目上实现相互协作的环境

VersionOne:支持 SaaS 模式和本地安装模式,web 客户端,支持 Scrum, Extreme Programming, DSDM and Agile UP 等多种敏捷开发方法。Jira:被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。

Trello:由著名的软件工程师 Joel Spolsky 开发工作围绕“木板 (board)”进行,同一小组的用户可以在这里创建待办事项列表 (to do list)、创建任务,并分配给同事。

〓 代码 SCM 系统

所有的构建都可以用代码来表示,在上线之前,需要测试和复查,并将其合并到一个版本控制库中的主分支当中,并在可以进行任何本地测试,推荐工具有:

GitHub:GitHub 是一个基于 web 的 Git 或版本控制库。

Gitlab:提供了 Git 仓库管理、代码审查、问题跟踪、活动反馈和 wiki。

Bitbucket:源代码托管网站,采用 Mercurial 和 Git 作为分布式版本控制系统。

〓 CI 平台

持续集成(CI)是现代软件开发的最佳实践,通过建立有效的持续集成环境可以减少集成问题、提高代码质量、改善团队成员之间的沟通和协作、快速迭代等,推荐的工具和平台有:

Jenkins:基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

CodeShip:部署快,易损耗、成本低。易用性比肩 Travis,而更胜一筹的是集成了相当数量的选项,可以根据自身的工作流程和开发工具定制化 CI/CD 工作流。

Bamboo:具有开箱即用的特性,可在硬件上运营。Bamboo 是一个聚焦企业级的解决方案,并且包含具有极强竞争力的特性、定价和技术支持等。可以部署在大规模生产环境中。

CodeFresh:虽然 CodeFresh 不是典型的 CI/CD 平台,但它提供了一种有趣的应用场景,在容器上使用 CI/CD 从而促进 Docker,Kubernetes 和云原生的发展前景。

〓 测试

为了实现 DevOps 所需的业务目标,为确保将代码推向生产是安全的,需要进行大量测试:单元测试、集成测试、验收测试等,测试完成后,还有大量开源和付费工具可以做一些其他事情,推荐的工具有:

JUnit:一个用于编写可重复测试的简单框架。

Mocha:简单、灵活有趣的 JavaScript 测试框架。

CircleCi:Web 应用程序开发测试平台。

发布工具〓 自动化部署

发布自动化工具应具备例如自动回滚等功能,在开始部署之前将模块复制到主机,如果企业规模较大,可以轻松地安装代理并将防火墙配置到服务器实例中。

许多团队还使用基于聊天的部署工作流,让机器人部署简单的命令。推荐的工具有:

Bamboo:采用自动化管理的构建代理模式,运行在各种专用服务器或云服务器上的代理实现了构建能力的即时动态扩展。通过与 Jira 集成可以实现完整的发布流程

Puppet:一个开源的软件自动化配置和部署工具,基于 C / S 架构的。服务器端保存着所有对客户端服务器的配置代码,在 Puppet 里面叫 Manifest,客户端下载 Manifest 之后,可以根据 Manifest 对服务器进行配置,例如软件包管理,用户管理和文件管理等等。

Superviso:一个客户 / 服务器系统,允许用户监控和控制类似 Unix 的操作系统上的许多进程。

Forever:简单的 CLI 工具,用于确保给定的脚本连续运行。

监控工具〓 部署监控

部署监控让高级别的发布进入和需求状态可视化,是理解服务健康与否的关键,确保 CI 服务器上发生的关键事件并及时告警。推荐的工具有:

Datadog:专门针对 DevOps 团队,从 APP 或者其他各种工具获取数据并提供数据可视化功能。将从基础设备和应用采集的数据统一处理并存储。

ElasticStack:一系列开源产品的合集,包括 Elasticsearch、Kibana、Logstash 以及 Beats 等等,提供了很多数据分析领域的功能,如 Pipeline Aggregation。

〓 服务器监控

服务器监控提供了一个基础结构级别的视图,许多团队还使用日志聚合来深入研究特定问题,可以聚合及度量如:内存、CPU、负载均衡等,使工程师能在问题发生时迅速做出响应。推荐的工具有:

PagerDuty:能够在服务器出问题时发送提醒的软件。在发生问题时,提醒的方式包括屏幕显示、电话呼叫、短信通知、电邮通知等,而且在无人应答时还会自动将提醒级别提高。

Nagios:是一款开源的免费网络监视工具,能有效监控 Windows、Linux 和 Unix 的主机状态,交换机路由器等网络设备,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员

Solarwinds:主要提供企业的网络管理和监控,可以帮助网管进行配置,监控和管理日趋复杂的系统和构建网络基础构架的流程。

〓 应用性能监控

应用性能监控为应用和业务服务的性能及可用性提供了代码级的可见性,让快速理解性能指标和满足服务 SLA 更加轻松。推荐的工具有:

DynaTrace:在整个生命周期过程中会对 Web 和非 Web 业务关键应用程序的监控、管理和优化方式进行转换。可快速解析性能问题并将问题范围隔离定位到确切的代码行。

AppDynamics:能提供端到端的、可视化驱动管理的的平台。核心理念是 SEE 可视化、ACT 快速解决还有 KNOW 实时分析。

终极工具〓 云

云计算目前的主要厂商是亚马逊的 AWS、微软的 Azure、Google 的(GCP)。在 PaaS 层,可以访问和创建如数据库和分析之类的应用服务且不用考虑如操作系统、防火墙配置或存储之类的基础设施。

〓 Docker

Docker 是一个开放的平台,将开发、传输和运行在容器这种隔离的环境中。容器封装了专用的文件系统、存储、CPU、RAM 和其他需求的应用,保证这些应用在不虚拟化硬件的情况下持续运行且保持一致。Docker 是可移植的、轻量级的,很容易进行安装。

〓 Swan

数人云 Swan 是基于 Mesos 实现的开源应用调度框架,帮助用户轻松发布应用,实现应用的滚动更新,并根据用户指定的策略做应用的健康检测和故障转移。

“DevOps 易用工具链怎么构建”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-03发表,共计2962字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)