DevOps落地实践:Azure

借助简单可靠的工具以更快的速度交付创新,实现持续交付。Azure中提供了一些列的工具来支撑DevOps能力的提供,在这篇文章中来对现状进行整体的梳理和确认。

Azure的DevOps能做什么?

Azure是这样介绍他的DevOps系列工具和能力的

无论是才刚开始执行 DevOps 实现,还是期望与现有工具链和流程集成,都可以采用 Azure DevOps 技术更加快速、安全地构建端到端的持续交付管道。减少工具集维护耗费的时间,更加专注于客户价值。通过 DevOps 技术生成、发布、测试并监视云和移动应用程序非常简单可靠,可让用户使用任意工具链持续实现创新。

Azure的DevOps技术包含哪些?

如下内容来源于目前Azure的DevOps介绍的官方网站:

功能组件 详细说明
Azure DevOps 供团队共享代码、跟踪工作和传输软件的服务
Azure DevOps 项目 只需点击数下,即可为部署在各种 Azure 服务上的、采用任何语言的任何应 用程序创建完全的持续集成和持续部署 (CI/CD) 管道。
Visual Studio App Center 自动生成、测试、分发、部署和监视 iOS、Android、Windows 和 macOS 应用 — 所有操作均在一个位置进行
Azure 实验室服务 建立用于教室、试验、开发或测试的实验室
Azure Monitor 一站式获取所需的最新精细监视数据
Azure 开发测试实验室 使用快速设置、可重用模板、成本管理和与现有工具链的集成创建云环境

Azure DevOps

Azure DevOps就是之前的TFS,在2018年9月10号,Azure将之前的Visual Studio Team Services(VSTS)改名为Azre DevOps Service,而本地版的TFS改名为Azure DevOps Server。当然随之而来的也有功能的情况,Azure DevOps包含如下功能组件

功能组件 特性说明
Azure Pipelines 使用适用于任何语言、平台和云的 CI/CD 生成、测试和部署。连接到 GitHub 或任何其他 Git 提供程序并持续部署。
Azure Boards 使用成熟的敏捷工具,在团队中计划、跟踪和讨论工作,更快地为用户提供价值。
Azure Artifacts 与团队一起创建、托管和共享包,只需单击一下即可将项目添加到 CI/CD 管道中。
Azure Repos 获取无限制云托管专用 Git 存储库,并通过拉取请求和高级文件管理进行协作,生成更好的代码。
Azure Test Plans 借助手动测试和探索测试工具信心十足地测试并交付。

敏捷看板: Azure Board

使用可配置看板,交互式积压工作 (backlog) 和计划工具跟踪工作。可追溯性和报告功能使面板成为展示各种见解(无论大小)的工具。

在这里插入图片描述

适应多平台的CI/CD:Azure Pipelines

使用任何语言生成、测试并部署到本地或任何云。在 Linux、macOS 和 Windows 上并行运行,并将容器部署到各主机或 Kubernetes。

在这里插入图片描述

制品库: Azure Repos

获取灵活强大的 Git 托管,有效代码评审以及无限制免费存储库可满足用户所有想法需要 - 无论是单人项目,还是世界上最大的存储库。

在这里插入图片描述

自动化测试:Azure Test Plans

增加测试频率,信心十足地发布。使用适用于应用的手动测试和探索测试工具来提高代码整体质量。

在这里插入图片描述

包和依赖管理: Azure Artifacts

与整个团队共享来自公共源和专用源的 Maven、npm、NuGet 和 Python 包。以简单且可缩放的方式将包共享集成到 CI/CD 管道中。

在这里插入图片描述

扩展市场

访问从 Slack 到 SonarCloud 的一系列扩展以及社区生成的 1,000 个其他应用和服务。

在这里插入图片描述

Azure DevOps 项目

这就是一个快速的项目模版,可以快速生成程序的应用骨架。通过 DevOps 项目,可以通过三步在任何 Azure 服务上开始运营应用程序 - 选择应用程序语言、运行时和 Azure 服务即可。

特性

  • 对热门应用框架的内置支持:可选择 .NET、Java、PHP、Node、Python、Go 等多种语言及其热门框架。或部署用源代码管理托管的应用程序。
  • 可选择部署平台:可在 Windows 或 Linux 上运行应用程序。仅需部署到 Azure Web 应用、虚拟机、Service Fabric 或为应用程序选择 Azure Kubernetes 服务。操作范围广,执行简单快捷。
  • 应用监控:获取丰富的性能监视、功能强大的警报和易于使用的仪表板,帮助确保应用程序可用且行为符合预期。
  • 云驱动的CI/CD:通过 Azure Pipelines 自动化和简化应用程序部署。通过自动生成、完全集成的 CI/CD(连续集成/连续部署),让应用在每次源代码更改时得到更新。创建和跟踪积压工作,管理代码存储库,改进团队协作。

一个Node.JS服务使用的示例:

  • Step 1: 选择类型
    在这里插入图片描述
  • 步骤2: 选择框架
    在这里插入图片描述
  • 步骤3: 选择部署方式
    在这里插入图片描述
  • 步骤4: 创建服务
    在这里插入图片描述

Visual Studio App Center

用于移动和桌面应用,快速创建适用于 Android、iOS、MacOS 和 Windows 的高质量应用。只需几个代码行即可集成全局可缩放的后端服务。自动执行生成、测试和分发管道。持续监视实时性能。在一个位置处理一切事务。

特性

  • 高度可缩放的后端服务:具有可用于身份验证、数据管理和推送通知的企业级安全性。
    轻松预配和集成由 Azure 提供支持的后端服务。使用 App Center Auth,通过内置的云安全性跨平台管理数百万的用户标识。使用 App Center Data 针对联机和脱机场景在云中对应用数据进行全局管理、保存和同步。使用 App Center Push 管理发送到多个平台的推送通知。
    在这里插入图片描述
    使用 App Center Push 管理发送给多个平台的推送通知。通过受众细分发送针对特定用户组的个性化消息。或使用 App Center Auth 按标识将用户作为目标。
    在这里插入图片描述

  • 单个集成工具:用于管理生成、测试和分发管道。
    可以最大化开发工作效率,在每次提交时自动执行生成、测试和发布管道。每次成功构建后,使用 App Center 测试在数以千计的实际设备和操作系统配置上自动运行 UI 测试。使用 App Center Distribute 将应用生成发布到 beta 版本测试人员或公共应用商店。使用 CodePush 将修补程序和更新直接部署到用户的设备。
    在这里插入图片描述

  • 易于使用的模块化 SDK:用于快速开始使用所需的服务。

  • 丰富的诊断和分析功能: 用于持续监视应用性能和使用情况。
    通过 App Center Diagnostics 收集实时诊断数据。通过智能故障分组、完整的堆栈跟踪和详细的故障报告设置重要问题的优先级并对这些问题进行修复。根据用户 ID 进行搜索和筛选,以帮助隔离和支持用户报告的问题。通过 App Center Analytics 跟踪使用模式、用户采用度和其他参与度指标。使用自定义事件收集对你来说最重要的用户行为的相关详细见解。
    在这里插入图片描述

Azure 实验室服务

用于创建和管理虚拟机,轻松设置并提供对预配置虚拟机 (VM) 的按需访问以支持用户的场景。课堂教学、培训专业人士、开办黑客马拉松或动手实验室等等。只需定义需求,服务就会将实验室推向受众。用户从一个位置即可访问所有实验室 VM。

特性

  • 受邀用户可以立即访问 VM,无需共享 Azure 订阅。
    邀请用户立即访问实验室资源。用户登录时,将看到可以在多个实验室中访问的 VM 的完整列表。只需单击一下,即可连接并开始工作 - 无需 Azure 订阅。

在这里插入图片描述

  • 自定义模板,可以快速预配实验室 VM 并跨实验室重复使用。
  • 计划功能,可以自动关闭和开启 VM 并限制使用时间。
  • 只需单击,即可预配和缩放为数百个 VM - 包含管理所有底层基础结构的服务。

使用场景

  • 课程或专业培训:为实验室 VM 配置正确的内容,并为每个用户提供完成作业或项目所需的时间。
  • 黑客松和动手实验室:在会议和活动中创造互动体验。可纵向扩展到数百个 VM 以满足需求。
  • 客户试用和演示:创建仅面向受邀者的私人实验室,用于演示预发布软件。
  • 开发人员计算机和测试环境:在紧密相关的 Azure 开发测试实验室中预配包含平台即服务 (PaaS) 和 VM 资源的多资源环境。共享预配置的资源或让用户创建自己的资源。

Azure Monitor: 监控

从 Azure 和本地环境中收集遥测数据,并加以分析和处理。Azure Monitor 可帮助用户最大程度地提升应用程序的性能和可用性,同时只需几秒即可主动识别问题。

监控方式

Azure Monitor 会从各种本地源和 Azure 源中收集监视遥测数据。管理工具(例如 Azure 安全中心和 Azure 自动化中的管理工具)也会向 Azure Monitor 推送日志数据。该服务会聚合该遥测数据,并将其存储在已针对成本和性能进行了优化的日志数据存储。可分析数据、设置警报、获取应用程序的端到端视图,还可使用机器学习驱动的见解来快速识别和解决问题。
在这里插入图片描述

特性

  • 统一:将所有操作遥测数据存储在一个完全托管且已针对性能和成本进行优化的集中、可伸缩的数据存储中并加以分析。
  • 智能:利用高级分析引擎、交互式查询语言和内置的机器学习构造来测试假设的情形,揭示隐藏的模式。
  • 开放:与常用 DevOps、问题管理、IT 服务管理以及安全信息和事件管理工具相集成。

应用程序监控

无论 Web 应用程序是托管在 Azure 中还是在本地,都可获得监视其可用性、性能和使用情况所需的一切信息。Azure Monitor 支持 .NET、Java 和 Node.js 等常用语言和框架,且与 Azure DevOps、Jira 和 PagerDuty 等 DevOps 进程和工具进行集成。跟踪实时指标流、请求时间、响应时间和事件。
在这里插入图片描述

基础框架监控

分析并优化虚拟机 (VM)、Azure Kubernetes 服务 (AKS)、Azure 存储和数据库等基础结构的性能。监视 Linux 和 Windows VM 及其运行状况和依赖项 - 统统在单个映射上完成。
在这里插入图片描述

网络监控

无需登录虚拟机即可监视和诊断网络问题。可触发数据包捕获、诊断路由问题、分析网络安全组流日志,还可了解和掌控 Azure 网络。
在这里插入图片描述

Azure 开发测试实验室

使用快速设置、可重用模板、成本管理和与现有工具链的集成创建云环境 ,可快速、简单和高效创建云端的开发/测试环境,有如下特性:

  • 快速设置开发和测试环境,通过自定义模板:通过几次单击,使用开发工具和最新生成设置虚拟机,并跨团队共享可重用模板。
  • 通过配额和策略最大程度降低资源浪费,可进行自助服务成本控制,轻松提供自助服务云环境。实验室策略和阈值有助于轻松实现最小化成本。
  • 设置自动关闭来使成本最小化
  • 可构建 Windows 和 Linux 环境
  • 集成与扩展:使用 CI/CD 工具:使用插件、REST API 或 Visual Studio Team Services 扩展直接从持续集成 (CI) 工具创建环境。

价格

可以在如下链接中选择对应产品来计算费用:

  • https://azure.microsoft.com/zh-cn/pricing/calculator/

比如添加了如下4个产品
在这里插入图片描述
500个用户
在这里插入图片描述
100个并行作业和10T的制品库容量
在这里插入图片描述
这只是其中一个产品的收费方式,早期使用起来可能会更省成本,会随着规模的扩大,成本会很快升高,因为毕竟大部分小型企业不会达到500人的使用需求。

参考内容

https://azure.microsoft.com/en-us/blog/introducing-azure-devops/
https://azure.microsoft.com/zh-cn/product-categories/devops/

发布了1002 篇原创文章 · 获赞 1287 · 访问量 396万+

猜你喜欢

转载自blog.csdn.net/liumiaocn/article/details/103884849