乐趣区

关于软件工程:内部开发者门户是什么

外部开发者门户(internal developer portal)是一个自助服务的应用程序和数据存储,能够为软件工程团队提供提供拜访所有软件组件、资源、环境、工具和文档的能力,让开发人员和管理人员跟踪并组织其工程团队构建和运行的所有内容。
 

信息碎片化问题经常困扰着运行简单分布式系统的软件工程组织,而外部开发者门户则旨在解决该问题。通过将开发人员所须要搜寻的信息,例如 wiki、代码仓库、配置文件、日志、指标等,放在一个集中的地位,从而防止在多个起源之间搜寻信息,为企业外部开发资产和流程提供实在牢靠的起源。
 

明天的文章将带你一起理解外部开发者门户的基本概念,包含其次要组成部分,特点以及劣势。
 

外部开发者门户的次要组成部分

外部开发者门户形象了在不同的云环境上治理和记录应用程序的复杂性,通过自助式的利用和数据存储,让开发者和管理者可能拜访、跟踪和治理所有应用程序的资源和文档。外部开发者门户的次要组成部分会依据每个企业的具体需要和指标而有所区别,以下是咱们总结的一些常见的组成部分:
 

  • 软件目录 (software catalog):这是一个显示所有可用软件组件和资源的列表,比方应用程序、微服务、库、框架、数据库等。它能够帮忙开发者找到和反复利用现有的解决方案,而防止从头开始创立新的货色。
  • 评分卡层 (scorecard layer):这是一个显示每个软件组件和资源的品质和可靠性的指标的界面,比方测试覆盖率、错误率、响应工夫等。它能够帮忙开发者抉择适合的组件和资源,并且可能及时发现并改良问题。
  • 自助服务操作层 (developer self-service actions layer):这是一个可能让开发者本人执行一些常见工作而不须要其他人或团队帮忙的性能,比方创立新的微服务、配置基础设施、部署应用程序等。在这个性能的加持下,可能无效进步开发者效率和满意度,缩小谬误和提早。
  • 工作流自动化层 (workflow automation layer):这是一个自动化地将代码从源代码仓库转移到生产环境或其余指标环境的过程。它能够帮忙开发者疾速地交付高质量和可靠性的软件产品,并且可能随时回滚或修复问题。
  • 内容仓库 (content repository):内容仓库用来存储和展现软件开发生态系统的所有信息。包含微服务、利用、资源、文档、监控、部署等,以及这些信息的管理者和所有者。内容仓库能够应用版本控制系统,比方 Git 或 SVN。
  • 监控仪表盘 (monitoring dashboard):监控仪表盘是一个显示软件系统中各种数据和指标的界面,比方日志、错误率、响应工夫等。它能够帮忙开发者理解零碎运行状况,并且可能及时检测并解决问题。
  • 文档核心 (documentation center):文档核心提供了所有相干文档,比方 API 参考文档、用户手册、教程等。它能够帮忙开发者学习和应用软件系统,并且可能放弃文档更新。
     

外部开发者门户的特点

依据外部开发者门户的组成部分及其性能,咱们总结了以下几个要害特点:
 

  • 可见性 :外部开发者门户能够提供对软件生命周期的加强可见性,从设计到部署到监控。它能够显示所有可用的软件组件、资源、环境、工具和文档,以及它们是如何连贯的。它还能够显示每个组件和资源的状态、健康状况和性能。
  • 可追溯性 :外部开发者门户能够提供对软件开发和交付过程的可追溯性。它能够跟踪并记录在整个生命周期中产生的所有变动、事件和行为。它还能够链接并关联系统的不同元素,比方代码提交、配置文件、日志、指标等。
  • 可审计性 :外部开发者门户能够提供对软件开发和交付过程的可审计性。它能够确保并强制恪守最佳实际、规范和政策。还能够验证每个组件和资源的品质、安全性和可靠性。
  • 可察看性 :外部开发者门户能够提供对软件开发和交付过程的可察看性。它能够收集并剖析来自各种起源的数据,比方日志、指标、追踪等。它还能够可视化并警报要害指标和异样。
  • 自助服务 :外部开发者门户能够为开发者提供自助服务能力。它能够让开发者本人配置他们的基础设施和依赖,而不依赖于手动流程或内部团队。它还能够让开发者应用继续交付流水线部署并更新他们本人的应用程序。
     

外部开发者门户的劣势

通过下面的内容,咱们总结出外部开发者门户可能帮忙企业的软件开发团队取得以下劣势:
 

  • 进步生产力 。开发者们能够轻松且疾速第找到他们所须要的资源,而无需再多个起源上搜寻或期待批准浪费时间。他们还能够应用预约义的模板和工作流来创立新微服务、配置环境、拜访云资源、执行数据工程操作等。
  • 加强合作 。开发者能够与他们在团队和我的项目中的同行分享最佳实际、反馈、代码片段、文档和指标。他们还能够疾速找到现有服务和 API,以便重复使用或集成。
  • 提高质量 。开发者能够遵循他们所做事件的最优门路,确保他们恪守组织设定的规范、指南和政策。他们还能够利用与外部开发者门户集成的自动化测试、监控和调试工具。
  • 升高危险 。开发者能够通过应用外部开发者门户的验证输入输出来防止常见谬误,例如配置谬误、安全漏洞、数据失落或合规违规。如果出了问题,开发者也能够轻松地复原更改。
     

谁须要外部开发者门户?

外部开发者门户通过提供一系列工具和资源来最大限度地反对开发团队,促成软件开发过程。这样看来外部开发者门户的确可能给企业软件工程团队带来许多益处,然而不是每个企业都须要它呢?事实上,施行外部开发者门户的决定该当基于组织的特定需要和指标。
 

例如,对于领有大型开发团队同时进行多个我的项目的组织, 尤其是有简单、分布式、微服务化的软件系统企业 ,外部开发者门户能够帮忙简化开发过程并提高效率。通过在核心地位提供工具、资源和信息的便捷拜访,外部开发者门户能够为开发人员节省时间和精力。
 

相较而言,对于领有较少开发人员或我的项目较简略的较小企业组织,外部开发者门户可能不会提供太多价值。在这些状况下,应用现有工具和流程可能比投资于定制外部开发者门户更有理论效率。
 

总 结

外部开发者门户可能解决分布式系统中的信息化碎片问题,并无效进步开发者的自主性和效率。然而,打造一套外部开发者门户是一个耗时且破费较高的过程,并不是所有企业都须要投资定制外部开发者门户,企业须要依据本身软件发开的需要以及我的项目的复杂度综合考量。

退出移动版