使用正确的DevOps工具的指南
DevOps不再是一个流行词,而是被许多组织采用的事实上的标准。DevOps封装了:
- 文化的改变-组织必须采用正确的DevOps思维。他们必须赋予团队将应用程序变更更快地推进到生产环境中的责任。
- 开发人员和操作人员之间的协同作用-这对任何组织都至关重要。开发人员和操作人员再也不能孤立地工作了。双方的团队成员必须共同努力来实现敏捷变更。
- 工具-从项目规划到部署,在DevOps的生命周期中选择正确的工具非常重要。
DevOps的重要工具
市场上有大量的DevOps工具。选择适合组织需要的工具是很重要的。DevOps生命周期中的每个阶段都需要自己的工具集。
DevOps专家需要熟悉各种DevOps工具。在Azure平台上,IT专业人员可以追求Azure DevOps认证。这将使个人更好地了解各种DevOps工具。
要获得这一认证,关键考试之一是AZ-400考试
这个考试的重点是DevOps进程中使用的不同工具。从任务管理到应用程序的部署。
让我们来看看一些你可以在你的组织中采用的用来简化DevOps流程的工具。
项目管理
DevOps依赖于敏捷项目管理理念。团队需要工具来帮助他们完成以下任务:
- 跟踪工作项目和问题直到关闭
- 创建并可视化用户故事
- 了解代码提交和工作项之间的关系
- 就这些工作项进行沟通和协作
一些最流行的项目管理工具是:
- Atlassian JIRA-这最初是一个问题跟踪系统,但在敏捷项目管理领域已经成熟。使用Jira,您可以定义工作流和项目,还可以可视化任务、问题和bug。
- Trello- Trello让你创建和可视化你的任务在板和列表。在Trello内置功能的帮助下,您还可以对工作进行优先排序。
- Azure董事会-这是Azure DevOps工具套件的一部分。有了它,您可以定义您的工作项,在看板板中可视化它们,并跟踪它们,直到它们关闭。
使用如下所示的Azure板,您可以轻松地可视化您的工作项。然后可以将它们拖过处理任务的各个州。
这些工具集成了流行的协作工具,如Slack和微软团队。
源代码管理
源代码控制软件是软件开发所必需的。betwayapp下载安装它允许开发人员管理代码的多个版本,并允许他们在相同的代码库中工作,而不覆盖彼此的工作。
最流行的源代码版本控制系统是Git。有多种方式可以托管Git存储库。使用Git进行源代码版本控制的特性包括:
- 对源代码进行分散管理
- 每个开发人员的本地代码存储库
- 跟踪每个代码更改
- 用于合并所有更改的主存储库
- 拉出请求,允许在新代码出现之前进行同行代码评审
一些流行的托管Git仓库的平台有:
- GitHub-这是目前为止最流行的Git仓库托管平台。在这里,您可以托管私有和公共存储库。GitHub上有很多开源项目。他们也有一个被称为GitHub Enterprise的服务器版本。这允许公司将他们的Git存储库托管在自己的服务器上。
- Atlassian Bitbucket都-这是Atlassian提供的Git存储库托管服务。这也很好地集成了Atlassian的其他产品,如Jira。
- Azure回购-这是来自Azure DevOps服务工具集的源代码版本管理工具。在这里,您可以同时托管Git存储库和Team Foundation版本控制存储库。
使用如下所示的Azure repo,您可以轻松地托管Git存储库。开发人员可以跟踪所有的代码更改。
持续集成
团队可以使用持续集成工具来执行持续的应用程序构建。这些工具对DevOps的生命周期非常重要。持续集成工具的特点包括:
- 用多种语言编写的软件的自动构建
- 能够在Windows或Linux环境上构建应用程序
- 每当代码库中发生变化时,自动构建和测试
- 与各种源代码版本控制系统集成
一些流行的持续集成工具包括:
- 詹金斯- Jenkins是开源的。它也是最早的持续集成工具之一。Jenkins有很多插件可以提供与外部系统的集成。
- TeamCity-这也是一个持续集成和持续构建的工具。有了它,您可以使用构建代理来执行应用程序构建。
- Atlassian竹-竹子是Atlassian提供的另一种产品。您可以使用云版本,也可以将其部署到您自己的服务器上。使用它,您可以为不同的环境类型创建不同类型的应用程序构建。
- 特拉维斯CI-这是一个可用于持续集成的简单解决方案。使用Travis CI,你可以构建驻留在GitHub或Bitbucket存储库中的代码。
- Azure管道- Azure管道同时提供构建和发布管道。通过管道,您可以用YAML文件定义构建,YAML文件可以包含在代码的版本控制中。
在如下所示的Azure管道中,您可以创建整个发布管道。在你的管道中,你可以在每个发布上得到可视化的表示。
测试
软件测试是应用程序生命周期的重要组成部分。不要因为测试需要花费大量时间而把它放在事后考虑。如果没有测试,您的应用程序可能会有许多缺陷。
在测试中需要考虑的一些重要方面是:
- 使用现有的测试框架可以节省大量编写自定义工具的时间。
- 考虑使用应用于应用程序的所有测试类型——单元测试、系统测试、用户界面测试和负载测试。
- 确保测试工具能够与您的持续集成阶段集成。
- 为测试自动化有一个适当的程序-什么是正确的测试度量标准?您将如何度量您的测试用例的有效性?
需要考虑的测试工具包括:
- NUnit, JUnit单元测试套件,如NUnit和JUnit,可以帮助测试代码的不同单元,以确保它们能够正确运行。
- 硒- Selenium是一个用于用户界面测试的流行工具。Selenium还可以与您的持续集成工具集成。
- OWASP工具-安全性测试对web应用程序很重要。了解来自互联网的威胁至关重要。使用OWASP(开放Web应用程序安全项目)工具消除应用程序安全漏洞。
- SonarQube在开发过程中使用代码分析工具如SonarQube来检测代码问题。betwayapp下载安装在将代码发布到生产环境之前,它可以在代码开发过程中发现潜在的性能和内存相关问题。betwayapp下载安装
使用如下所示的SonarQube,可以得到一个清晰的指示板。指示板显示所有与代码相关的问题。
配置管理
使用配置管理工具来管理技术基础设施的配置。大型企业具有复杂的基础设施。每个应用程序和环境都有自己的凭据和需求。配置管理工具跟踪这一点,并确保正确部署项目。
配置管理工具的特点包括:
- 管理多种操作系统,如Linux和Windows
- 管理本地服务器和云平台
- 简化了部署配置和管理
一些流行的配置管理工具包括:
- 厨师—开源的配置管理工具。使用Chef,您可以在已有菜谱的帮助下定义配置。Chef还可以集成各种基于云的环境。
- 木偶- Puppet是一个提供环境和服务器补丁的工具。
- Ansible—这是一个简单的配置管理系统。使用Ansible,你不需要定义一个集中的系统来管理你的配置。
- PowerShell所需的状态配置-你也可以使用PowerShell脚本来管理你的虚拟机。使用Azure自动化帐户,您可以管理您的虚拟机状态。
- 起程拓殖- Terraform帮助你定义基础设施为代码。Terraform适用于各种基于云的环境。
- 流浪的—构建可移植的虚拟软件开发环境。betwayapp下载安装
下面您可以看到Azure仪表板,我们在其中组合了PowerShell所需的状态配置和Azure自动化帐户。
持续的监控
一旦您有了自己的应用程序环境,监控这些环境是很重要的。实时监控最大限度地减少应用程序停机时间,并使用户体验免于错误。
在持续监测中需要考虑的一些重要方面是:
- 可以在所有环境中使用的通用监视,无论是Windows还是Linux、云中还是本地环境
- 所有环境的统一视图
- 自动生成和交付报告
- 实时警报
一些流行的监控工具包括:
- Datadog—统一监控系统。使用Datadog,您可以为基于云的和本地环境设置监控。它与微软Azure和亚马逊网络服务兼容。
- Nagios—该工具具有服务器、网络和应用程序监控等功能。Nagios日志服务器允许您搜索日志数据和创建警报。
- Dynatrace—使用Dynatrace,您可以检测应用程序问题并实时查看应用程序性能指标。
- AWS监测-这是在Amazon Web Services中可用的监控服务。使用它,您可以查看资源指标和性能图,创建警报,并存储日志。
- Azure监控-这是微软Azure中提供的监控服务。有了它,您还可以将日志流到中央日志存储库中,并根据监控数据获得有用的见解。
下面你可以看到Azure Monitor的仪表盘,你可以在一个图表上查看多个资源的指标。
云托管的环境
使用云环境进行应用程序托管有很多好处。它们包括:
- 减少成本-有了云服务提供商,你只需要支付你需要的费用,不需要在基础设施上投资。
- 可用性的服务-基于云的供应商保持他们的环境与所有最新技术的最新。
- 与现有资源整合-如果你的公司已经投资了本地环境,那么基于云的环境将与之集成。
最受欢迎的云计算提供商包括:
- 亚马逊网络服务-亚马逊是目前的市场领导者。
- 微软Azure-紧随Amazon Web Services之后的是Azure。多年来,Azure的势头一直在增强。
- 谷歌云-谷歌是另一家有前途的云服务提供商。他们有各种各样的服务,这些服务与他们现有的开发工具组合在一起。betwayapp下载安装
你的最终目标
在DevOps的生命周期中有很多工具需要考虑。选择正确的工具是一个挑战。在寻找合适的工具时需要问的问题有:
- 你使用的是什么应用框架?
- 你考虑使用开源工具吗?
- 你们有混合环境吗?您的服务器和应用程序是否同时托管在云和本地环境中?
- 有多少应用程序会进入DevOps的生命周期?
- 您的开发团队已经熟悉哪些技术?betwayapp下载安装
一旦您回答了这些问题,为工作选择正确的工具集就容易得多了。