基建篇-软件研发基建工具探索

1.jpeg

简单概述

在工作中选对工具能使得我们的效率翻倍,本篇主要探索在互联网公司的软件研发体系所用到一些管理和效能工具,打通整条研发的链路,形成闭环流程。主要还是围绕一些开源工具为主。

项目管理

  1. Teamwork是一款基于云端的项目管理工具,它提供了一系列协作工具,例如任务分配、文件共享、讨论、日程安排、报告生成等。Teamwork旨在帮助团队更好地协同工作,提高工作效率,同时提供了可视化的进度追踪和报告,使管理者更好地了解项目的整体情况。
  2. Worktile是一个基于云端的团队协作和项目管理工具,可以帮助团队协同工作、任务管理和进度追踪。它支持多种工作方式和方法,如看板、列表、日历等,可以让用户根据自己的习惯和需求来管理任务和项目。Worktile还提供了一系列的通信和协作工具,如聊天、评论、邮件等,帮助团队成员实时交流和沟通。
  3. PingCode是一个开源的项目管理和团队协作工具,可以帮助团队协同工作、任务管理和进度追踪。PingCode提供了多种工作方式和方法,如看板、列表、日历等,可以让用户根据自己的习惯和需求来管理任务和项目。它还支持多种扩展和插件,可以与其他工具和服务集成,如GitHub、Slack、Trello等。
  4. Asana是一个基于云端的项目管理和团队协作工具,可以帮助团队协同工作、任务管理和进度追踪。Asana提供了多种工作方式和方法,如看板、列表、日历等,可以让用户根据自己的习惯和需求来管理任务和项目。它还支持多种扩展和插件,可以与其他工具和服务集成,如Dropbox、Google Drive、Slack等。
  5. Zoho Projects是一个基于云端的项目管理和团队协作工具,可以帮助团队协同工作、任务管理和进度追踪。Zoho Projects提供了多种工作方式和方法,如看板、列表、日历等,可以让用户根据自己的习惯和需求来管理任务和项目。它还提供了一系列的通信和协作工具,如聊天、评论、邮件等,帮助团队成员实时交流和沟通。
  6. Monday是一个基于云端的项目管理和团队协作工具,可以帮助团队协同工作、任务管理和进度追踪。Monday提供了多种工作方式和方法,如看板、列表、日历等,可以让用户根据自己的习惯和需求来管理任务和项目。它还支持多种扩展和插件,可以与其他工具和服务集成,如Google Drive、Slack、Trello等。
  7. Smartsheet是一个基于云端的项目管理和团队协作工具,可以帮助团队协同工作、任务管理和进度追踪。Smartsheet提供了多种工作方式和方法,如看板、列表、甘特图等,可以让用户根据自己的

代码管理

  1. GitLab:GitLab是一款基于Git的开源代码管理平台,支持代码托管、版本控制、代码审查、CI/CD等多种功能,可以帮助团队协作和提高开发效率。
  2. GitHub:GitHub是全球最大的代码托管平台之一,也是一个社交编程平台,支持代码托管、版本控制、协作编程、社交互动等多种功能,是全球程序员必备的开源代码管理工具之一。
  3. Gitee:Gitee是中国的开源代码管理平台,也是GitLab在中国的代理商,支持代码托管、版本控制、代码审查、CI/CD等多种功能,是国内开源项目管理的重要工具之一。
  4. Bitbucket:Bitbucket是由Atlassian公司推出的代码托管平台,支持Git和Mercurial版本控制系统,提供了代码托管、版本控制、协作开发、持续集成等多种功能,适用于团队内部的开发管理。
  5. SourceForge:SourceForge是一个历史悠久的开源代码托管平台,支持多种版本控制系统,提供了代码托管、版本控制、协作开发、社区交流等多种功能,适用于开源项目的管理和维护。

接口文档

  1. Swagger UI:Swagger UI是Swagger工具的交互式文档界面,可以通过Docker等方式进行部署。
  2. ReDoc:ReDoc是一个React组件,提供了漂亮的交互式文档界面,支持OpenAPI规范。
  3. Swagger Codegen:Swagger Codegen是Swagger工具的代码生成工具,可以将API定义转换为多种语言和框架的代码。
  4. ApiDoc:ApiDoc是一款RESTful API文档生成工具,支持Node.js和Docker等方式进行部署。
  5. Postman API Network:Postman API Network是Postman工具的云服务,可以将API文档托管到Postman的服务器上,也可以在私有云环境中部署。
  6. Yapi:一个轻量级的、开源的、可视化的接口管理平台。Yapi具有强大的接口管理、Mock数据、自动化测试等功能,支持多人协作和权限管理,适用于团队内部的接口管理和文档编写。

测试平台

  1. Selenium Grid:一个基于Selenium的自动化测试平台,可以实现多个浏览器和操作系统的并发测试。
  2. TestComplete:一款功能强大的自动化测试工具,可以支持桌面、Web和移动应用程序的测试。
  3. Appium Studio:一个用于移动应用程序自动化测试的平台,支持iOS和Android平台。
  4. TestRail:一个功能强大的测试管理工具,支持测试计划、测试用例、测试执行和缺陷跟踪等功能。
  5. Robot Framework:一个通用的自动化测试框架,支持多种测试类型,如Web测试、API测试、UI测试等。
  6. JMeter:一款开源的负载测试工具,支持模拟高并发场景,可以测试Web应用程序、数据库和API等。
  7. Katalon Studio:一款免费的Web和移动测试自动化工具,支持多种浏览器和移动设备。

持续集成

  1. Jenkins是一款开源的持续集成工具,它可以在代码提交、构建、测试、部署等阶段实现自动化。通过在Jenkins中配置构建流程,可以将代码自动构建、测试和部署到不同的环境中。Jenkins支持多种编程语言和构建工具,可以与Git、SVN等版本控制系统集成,还可以通过插件扩展功能。
  2. Kubernetes是一款容器编排平台,它可以帮助用户管理容器化应用程序的生命周期,从而实现持续集成和持续部署。Kubernetes提供了强大的自动化功能,可以通过编排工具如Deployment、Service等实现容器的自动化部署、扩缩容、健康检查等功能。Kubernetes还可以与Jenkins等CI/CD工具集成,实现自动化的构建、测试和部署流程。

镜像管理

  1. Docker Registry:用于存储和管理容器镜像的私有仓库,可以通过搭建自己的Docker Registry来实现私有化管理。
  2. Harbor:基于Docker Registry的企业级镜像管理系统,提供镜像仓库管理、用户管理、权限管理、安全扫描等功能。
  3. Nexus Repository Manager:一款用于管理各种软件包的私有仓库管理系统,可以用来管理Docker镜像、Maven仓库、npm包等。
  4. Quay Enterprise:一个企业级的Docker镜像仓库管理系统,提供了高可用、高性能、可扩展等特性。
  5. Artifactory:一款用于管理各种软件包的企业级仓库管理系统,支持管理Docker、Maven、npm等多种类型的仓库。
  6. Aliyun Container Registry:阿里云推出的容器镜像托管平台,提供安全、可靠的镜像存储、管理和分发服务。
  7. Amazon Elastic Container Registry (ECR):AWS推出的容器镜像托管服务,提供高可用、可靠、安全的镜像存储、管理和分发服务。
  8. Google Container Registry:Google推出的容器镜像托管服务,提供高可用、高可靠性、安全性的镜像存储、管理和分发服务。

知识沉淀

  1. Confluence:Confluence是一款由Atlassian公司开发的企业级知识管理和协作平台,支持文档编写、协作编辑、评论和权限管理等功能,适用于团队内部知识共享和文档管理。
  2. Notion:Notion是一款新兴的协作工具,支持笔记、文档、任务管理和数据库等多种功能,可以帮助用户快速创建、组织和共享知识,适用于个人和小团队的知识管理。
  3. TiddlyWiki:TiddlyWiki是一个开源的、单文件的Wiki工具,支持文本、图片、链接、标签和搜索等功能,可以在本地环境中使用,也可以部署到Web服务器上,适用于个人和小团队的知识沉淀。
  4. DokuWiki:DokuWiki是一个开源的、基于Web的Wiki工具,支持文本、图片、链接、标签和权限管理等功能,可以在本地环境中使用,也可以部署到Web服务器上,适用于团队内部知识共享和文档管理。
  5. 语雀:语雀是一个由蚂蚁金服推出的企业级文档知识库,支持团队协作、知识沉淀和共享等功能。语雀提供了丰富的文档编辑和排版工具,可以快速创建和管理各种类型的文档,同时还支持多人协作和权限管理等功能,适用于企业内部的知识共享和沉淀。
  6. 飞书文档:飞书文档是一款由飞书推出的团队协作工具,支持文档、表格、PPT等多种类型的文档编辑和共享。飞书文档还支持多人协作、评论、版本管理和权限控制等功能,适用于团队内部的文档管理和知识沉淀。

服务监控

  1. Zabbix:Zabbix是一款开源的网络监控工具,支持多种监控方式,包括SNMP、JMX、IPMI、HTTP等,可以监控服务器、网络设备、数据库、应用程序等各种资源。
  2. Nagios:Nagios是一款广泛使用的开源监控系统,支持主机和服务监控,能够监控网络、服务器、应用程序等多种资源,具有可扩展性和可定制性。
  3. Sensu:Sensu是一个分布式的监控系统,支持多种监控方式,包括插件、API、日志等,可以监控各种资源,包括服务器、应用程序、云服务等。
  4. ELK Stack:ELK Stack是一个由Elastic公司开发的日志分析平台,包括Elasticsearch、Logstash、Kibana三个组件,可以收集、分析和可视化日志数据,对于服务监控也有一定的作用。
  5. Telegraf:Telegraf是一个开源的代理程序,可以收集、处理和转发指标数据,支持多种数据源和输出格式,可以与InfluxDB、Prometheus等监控系统集成使用
  6. Prometheus:是一个开源的系统监控和告警工具,支持多种数据源,包括应用程序、操作系统、数据库、中间件等,可以通过HTTP接口或客户端库收集指标数据,并提供多种查询和可视化工具来展示数据。Prometheus还支持告警功能,可以在特定条件满足时发送通知,提供了多种通知方式,包括电子邮件、PagerDuty等。
  7. Grafana:是一个开源的数据可视化工具,支持多种数据源,包括Prometheus、InfluxDB、Elasticsearch等,可以通过可视化面板展示数据,支持多种图表和布局,可以自定义报表和仪表盘。Grafana还支持警报功能,可以在特定条件满足时发送警报,与Prometheus一起使用可以更方便地进行服务监控和告警

日志管理

  1. ELK:

    1
    2
    3
    Elasticsearch:一个分布式的搜索和分析引擎,用于存储和检索大量数据;
    Logstash:一个数据处理管道,用于采集、转换和传输日志数据;
    Kibana:一个数据可视化工具,用于查询和可视化数据。
  2. EFK:

    1
    2
    3
    Elasticsearch:同上;
    Fluentd:一个日志收集器和传输工具,用于采集、转换和传输日志数据;
    Kibana:同上。
  3. Graylog:一个功能强大的日志管理工具,支持多种数据源和插件,可以实时监控、收集和分析日志数据,提供多种报表和可视化工具;

  4. Fluent Bit:一个轻量级的日志收集器和转发器,支持多种数据源和协议,可以快速高效地收集和转发日志数据,适用于高性能和分布式环境;

  5. Logrotate:一个标准的Linux日志管理工具,用于管理系统日志文件,包括日志轮换、压缩、删除等功能,可以控制日志文件大小和数量,防止日志文件过度增长;

  6. Syslog-ng:一个功能强大的日志收集器和传输工具,支持多种数据源和协议,可以收集和传输各种日志数据,支持自定义过滤和转换规则,适用于大型企业级环境。

数据分析

  1. Google Analytics是一个由Google提供的免费的网站统计工具,旨在帮助网站拥有者和数字营销人员了解他们的网站流量和用户行为。通过Google Analytics,用户可以收集各种关于网站访问者的数据,例如他们是从哪里来的、访问了哪些页面、停留时间、跳出率、转化率等等。
  2. Mixpanel:一个用户行为分析工具,用于收集和分析用户的行为数据,可以跟踪用户在应用程序或网站上的活动和行为,提供可视化的数据分析和报告;
  3. Amplitude:一个移动应用程序分析工具,用于收集和分析移动应用程序的用户行为数据,可以跟踪用户在应用程序上的活动和行为,提供实时数据分析和报告;
  4. Tableau:一个数据可视化工具,用于从各种数据源中提取、转换和加载数据,并生成可视化的数据报告和仪表板,支持多种数据源和格式;
  5. Power BI:一个商业智能工具,用于从各种数据源中提取、转换和加载数据,并生成可视化的数据报告和仪表板,支持多种数据源和格式;
  6. Apache Superset:一个数据可视化和探索平台,用于从各种数据源中提取、转换和加载数据,并生成可视化的数据报告和仪表板,支持多种数据源和格式,同时也支持SQL查询和数据探索。
  7. 神策:是一个功能强大的数据分析平台,支持多种数据源和格式,可以用于收集和分析用户行为、业务指标、运营数据和安全数据等各种数据,并生成可视化的报表和仪表板。

基建篇-软件研发基建工具探索
https://mikeygithub.github.io/2023/03/31/yuque/基建篇-软件研发基建工具探索/
作者
Mikey
发布于
2023年3月31日
许可协议