【注】本文译自:https://www.javatpoint.com/devops-interview-questions 下面列出了常见的DevOps面试问题和答案。
DevOp 是两个词的组合,一个是软件 Development(开发)、另一个是 Operations (运营)。它允许一个团队处理从开发到测试、部署和运营的整个应用程序生命周期。DevOps 可帮助您减少软件开发人员、质量保证(QA)工程师和系统管理员之间的联系。
DevOps 背后的原则是:
持续部署基础设施即代码自动化监控安全DevOps 对开发人员修复错误并快速实现新功能非常有帮助。它还有助于团队成员之间更透明的沟通。
以下是实现 DevOps 的一些有用的先决条件:
团队成员之间的适当沟通。至少一个版本控制软件。自动化测试。自动化部署。DevOps 应用开发和基础架构的核心操作是: 应用开发
代码建设代码覆盖率单元测试打包部署 基础架构供应配置编排部署DevOps的最重要的关键组件是:
持续集成持续测试持续交付持续贩卖Vagrant 是 DevOps 的工具,可以创建和管理用于测试和开发软件的虚拟化环境。
以下是 DevOps 工作文化的技术和业务优势: 技术优势
不要解决太复杂的问题。持续交付软件。更快的错误解决。 业务优势最稳定的操作环境。有更多时间可用来增加产品价值。更快地交付功能以使客户满意。Scrum 用于通过迭代和增加实践将复杂的软件和产品开发任务划分为较小的块。Scrum 由三个角色组成,例如:
产品拥有者Scrum 大师团队它是一个随时间记录对一个文件或一组文件的更改的系统,因此您可以调用特定版本。 版本控制系统由一个中央共享存储库组成,团队成员可以在其中将更改提交到一个文件或一组文件中。它允许:
将文件还原到以前的状态。比较一段时间内的变化。将整个项目还原到以前的状态。查看谁修改了文件中的内容。DevOps 中使用了Python和Ruby脚本工具。
AWS 是 Amazon 提供的基于云的服务,可通过无限的计算能力和存储来确保可扩展性。它使 IT 企业能够开发和交付经验丰富的产品,并在云上部署应用程序。
由于 DevOps 在组织构建、发布、变更管理和基础架构管理领域的各个方面都具有自动化的特点,开源工具被大部分组织用于流水线中。
在考虑删除Oracle DB后MySQL安装的任务时,作为角色的组织剧本为任何角色提供了更多的可靠性和可重用性。在安装java之后,安装MySQL还需要另一个需求。在这两种情况下,都需要安装MySQL,但是如果没有角色,就需要分别为这两种用例编写剧本。不过,一旦使用了角色,通过调用__site.yaml中__的逻辑,就可以创建任意次数的MySQL安装角色。
以下是用于 DevOps 实施的一些云计算平台,例如:
谷歌云亚马逊网络服务微软Azure两因素身份验证是一种安全性方法,用户可以通过它提供来自不同类别的两种身份验证方法。
PTR是用于反向DNS查找的指针记录。
一些最重要的网络监视工具是:
NagiosOpenNMSSplunkIcinga 2Wireshark三个最重要的DevOps KPI是:
部署频率失败部署的百分比平均故障恢复时间结对编程是极限编程规则的一种工程实践。在这种情况下,两个程序员使用相同的设计或算法在同一系统上工作。 一个程序员充当__驱动者__,另一个充当__观察员__,他不断监视项目进度以发现问题。这些角色可以在任何时间点互换,而无需事先通知。
基于组件的开发(CBD)是进行产品开发的独特方法。在这种方法中,开发人员始终在寻找现有的定义良好、经过测试和验证的组件,以将它们组合并组装成产品,而不是从头开始开发。
自动化是 DevOps 实践的关键需求,使一切自动化是 DevOps 的基本原则。自动化从开发人员计算机上的代码生成开始,直到将代码推送到代码,以监视生产中的应用和系统。 DevOps 中的自动化可提高速度、一致性、更高的准确性、可靠性、并增加交付数量。
软件工程团队中的流水线是一组自动化流程,使 DevOps 专业人员和开发人员能够可靠、高效地将其代码编译、生成并部署到生产平台。
Azure DevOps 也称为 Microsoft Visual Studio 团队服务(VSTS)。它是为云构建的一组协作开发工具。 VSTS通常被用作独立术语,Azure DevOps 是一个由几种不同产品组成的平台,例如:
Azure Test PlansAzure BoardsAzure ReposAzure PipelineAzure Artifacts以下是使AWS DevOps广受欢迎的一些原因,例如:
AWS CloudFormationAWS EC2AWS CloudWatchAWS CodePipeline构建是一种方法,其中将源代码放在一起以检查其是否作为单个单元工作。在构建创建过程中,将对源代码进行编译、测试、检查和部署。
您可以使用SSH登录到远程计算机并在命令行上工作。此外,您还可以使用它来隧穿系统,以促进不安全网络上的两个主机之间的安全加密通信。
在 AWS 中:
基础结构的代码将采用简单的 JSON 格式。此 JSON 代码将组织到称为模板的文件中。这些模板可以部署在 AWS DevOps 上,然后作为堆栈进行管理。稍后,CloudFormation服务将在堆栈中执行创建、删除、更新等操作。Git Bisect 使用二进制搜索帮助查找哪些提交引入了错误。