是时候将 DevOps 可见性扩展到网络边缘了

尽管部署前运行了大量测试,但在部署应用程序后,性能问题经常让 DevOps 团队感到困惑。经过进一步调查,最常被忽视的问题是应用程序本身的分布式特性。从多个位置访问应用程序的最终用户永远不会拥有相同水平的互联网服务,因此在纽约、旧金山或伦敦等主要城市技术中心位置运行良好的软件不一定会继续运行。为更遥远的地区,特别是跨越半个地球的农村地区提供同样的体验。

所有互联网服务并非生来平等。由于物理定律,间歇性网络延迟问题可能会对应用程序性能产生深远影响。最终用户距离托管应用程序的数据中心越远,网络延迟就越有可能对应用程序性能产生不利影响。

不幸的是,大多数 DevOps 团队缺乏超出应用程序运行的数据中心环境的任何可见性。当然,获得这种洞察力的第一步是从网络边缘开始的。

互联网堆栈可见性

互联网堆栈由多种服务组成,每种服务都会对分布式应用程序的性能产生不利影响。从虚拟专用网络 (VPN) 和内容交付网络 (CDN) 到域名系统 (DNS) 服务器和交换机,所有内容都会增加延迟,根据网络流量的路由方式,延迟可能会对应用程序性能产生重大影响。这些服务中的任何一项都可能会遇到中断,或者更难以检测的间歇性降级,从而不可预测地影响应用程序性能。无论是在云中访问的软件即服务 (SaaS) 应用程序还是在网络边缘运行的物联网 (IoT) 平台,查明哪个互联网服务可能是问题的根本原因都需要密切监视和观察该流量的能力。

如果没有对互联网堆栈的任何可见性,以提供优化和排除特定应用程序故障所需的上下文的方式呈现所需的见解就成为一项不可能的挑战。构建应用程序所花费的所有时间和精力都可能化为乌有,因为在部署应用程序之前没有人了解网络延迟会对应用程序产生的影响。即使在部署应用程序之后,对网络流量路由方式的任何更改都可能会产生重大后果。如果没有任何方法了解可能发生了哪些变化,组织可能需要几周或几个月的时间才能意识到可能需要记录服务请求或更换服务提供商。

任何真正全面的可观察性方法显然都需要包括对组织关键依赖的互联网服务的分析,以确保提供和维护一致的应用程序体验。根据 IT 团队的结构方式,这些见解可以输入到组织采用的可观察性平台中,或者使用互联网性能监控 (IPM)平台进行关联。

DevOps 需要 NetOps

无论采用哪种方法,对于网络运营 (NetOps) 和 DevOps 团队来说,能够调整其监控分布式计算环境的方法从未如此重要。正在部署比以往更多的延迟敏感应用程序。在理想情况下,与 NetOps 密切合作的 DevOps 团队应该能够根据需要以编程方式配置和更改网络服务。并非所有互联网服务都可以通过应用程序编程接口 (API) 进行调整,但大多数 NetOps 团队都可以访问控制台,使他们能够在需要时升级到不同的服务级别。至少,服务提供商将与他们合作进行所需的任何更改。

当然,如果 NetOps 团队不知道互联网堆栈的哪个元素需要升级,那么谈判就会变得更具挑战性。通常对应用程序没有任何可见性的服务提供商可能会花费数周的时间来尝试确定他们管理的互联网堆栈的哪个元素出现了故障。拥有自己的监控一组互联网服务的方法的 IT 团队将能够与其服务提供商合作,更快地解决这些问题。

概括

精明的 IT 团队非常清楚互联网服务很容易发生中断和限电,因此通常他们倾向于确保网络流量可以从一项服务重新路由到另一项服务。这种方法还提供了额外的好处,即在他们协商所提供服务的费用时保持一定的定价杠杆。

还值得记住的是,知道客户被锁定的网络服务提供商可能没有太多动力来确保网络服务以最高效率运行。当然,IT 团队要了解在任何给定时间提供的服务级别的唯一方法是生成 IPM 报告,该报告准确详细说明在什么性能级别上实际可用的服务。否则,他们完全依赖于服务提供商随每月账单提供的报告。

同样重要的是,IPM 平台生成的报告还可以提供见解,当向应用程序开发人员展示这些见解时,可以创造优化其代码的潜在机会。如果没有这种级别的分析,每个开发人员都会认为网络服务要么已损坏,要么管理不善。现在的挑战和机遇是提供互联网性能情报,让每个利益相关者不能只是采取行动,而且同样重要的是,隐含地信任。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/306817.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Harmony鸿蒙南向驱动开发-Regulator接口使用

功能简介 Regulator模块用于控制系统中某些设备的电压/电流供应。在嵌入式系统(尤其是手机)中,控制耗电量很重要,直接影响到电池的续航时间。所以,如果系统中某一个模块暂时不需要使用,就可以通过Regulato…

OpenAI现已普遍提供带有视觉应用程序接口的GPT-4 Turbo

OpenAI宣布,其功能强大的GPT-4 Turbo with Vision模型现已通过公司的API全面推出,为企业和开发人员将高级语言和视觉功能集成到其应用程序中开辟了新的机会。 PS:使用Wildcard享受不受网络限制的API调用,详情查看教程 继去年 9 月…

java Web 中小企业门户网站用eclipse定制开发mysql数据库BS模式java编程jdbc

一、源码特点 JSP 中小企业门户网站是一套完善的web设计系统,对理解JSP java 编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,eclipse开发,数据库为Mysql5.0,使…

jenkins+sonar配置

安装插件 Sonar Scanner 用于扫描项目 配置sonar scanner jenkins集成sonar 1、sonar生成token 生成完保存好,刷新后无法查看 2、jenkins配置全局凭据 3、jenkins配置系统设置

Spring Boot集成Graphql快速入门Demo

1.Graphql介绍 GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。 优势 GraphQL…

蓝桥杯嵌入式(G431)备赛笔记——RTC

// RTC time// 声明一个变量 rtc_tick 用于记录上次 RTC 处理的时间 u32 rtc_tick 0;// 声明结构体变量 D 用于存储 RTC 的日期信息 RTC_DateTypeDef D;// 声明结构体变量 T 用于存储 RTC 的时间信息 RTC_TimeTypeDef T;// RTC_proc 函数,用于处理 RTC 时间 void R…

uniapp 开发小程序如何检测到更新点击重启小程序完成更新?

官方文档:uni.getUpdateManager() | uni-app官网 示例代码: const updateManager uni.getUpdateManager();updateManager.onCheckForUpdate(function (res) {// 请求完新版本信息的回调console.log(res.hasUpdate); });updateManager.onUpdateReady(fu…

一、flask入门和视图

run启动参数 模板渲染 后端给前端页面传参 前端页面设置css from flask import Flask, render_template,jsonify# 创建flask对象 app Flask(__name__)# 视图函数 路由route app.route("/") def hello_world():# 响应,返回给前端的数据return "h…

MariaDB介绍和安装

MariaDB介绍和安装 文章目录 MariaDB介绍和安装1.MariaDB介绍2.MariaDB安装2.1 主机初始化2.1.1 设置网卡名和ip地址2.1.2 配置镜像源2.1.3 关闭防火墙2.1.4 禁用SELinux2.1.5 设置时区 2.2 包安装2.2.1 Rocky和CentOS 安装 MariaDB2.2.2 Ubuntu 安装 MariaDB 2.3 源码安装2.3.…

数据结构:线性表————单链表专题

🌈个人主页:小新_- 🎈个人座右铭:“成功者不是从不失败的人,而是从不放弃的人!”🎈 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 🏆所属专栏&#xff1…

类和对象二

一、运算符重载 为了使自定义类型可以使用加减等运算符,CPP提供了一个功能叫运算符重载。 关键字:operator操作符 运算符重载最好定义在类对象里,这也可以避免访问不到私有成员的问题。 代码演示: 在类里定义之后,…

java包目录命名

包目录命名 config controller exception model common entity enums reponse request repository security service util

大数据之ClickHouse

大数据之ClickHouse 简介 ClickHouse是一种列式数据库管理系统,专门用于高性能数据分析和数据仓库应用。它是一个开源的数据库系统,最初由俄罗斯搜索引擎公司Yandex开发,用于满足大规模数据分析和报告的需求。 特点 开源的列式存储数据库…

2024年mathorcup(妈妈杯)数学建模C题思路-物流网络分拣中心货量预测及人员排班

# 1 赛题 C 题 物流网络分拣中心货量预测及人员排班 电商物流网络在订单履约中由多个环节组成,图 ’ 是一个简化的物流 网络示意图。其中,分拣中心作为网络的中间环节,需要将包裹按照不同 流向进行分拣并发往下一个场地,最终使包裹…

外观模式:简化复杂系统的统一接口

在面向对象的软件开发中,外观模式是一种常用的结构型设计模式,旨在为复杂的系统提供一个简化的接口。通过创建一个统一的高级接口,这个模式帮助客户端通过一个简单的方式与复杂的子系统交互。本文将详细介绍外观模式的定义、实现、应用场景以…

云原生(八)、Kubernetes基础(一)

K8S 基础 # 获取登录令牌 kubectl create token admin --namespace kubernetes-dashboard1、 NameSpace Kubernetes 启动时会创建四个初始名字空间 default:Kubernetes 包含这个名字空间,以便于你无需创建新的名字空间即可开始使用新集群。 kube-node-lease: 该…

PostgreSQL15 + PostGis + QGIS安装教程

目录 下载1、PostgreSQL安装1.1、环境变量配置 2、PostGIS安装2.1、安装插件 3、QGIS下载3.1、安装3.2、测试 下载 PostgreSQL15安装:下载地址 PostGIS安装:下载地址(倒数第二个) 1、PostgreSQL安装 下载安装包之后一直点下一步…

Python 全栈系列239 使用消息队列完成分布式任务

说明 在Python - 深度学习系列32 - glm2接口部署实践提到,通过部署本地化大模型来完成特定的任务。 由于大模型的部署依赖显卡,且常规量级的任务需要大量的worker支持,从成本考虑,租用算力机是比较经济的。由于任务是属于超高计…

AR地图导览小程序是怎么开发出来的?

在移动互联网时代,AR技术的发展为地图导览提供了全新的可能性。AR地图导览小程序结合了虚拟现实技术和地图导航功能,为用户提供了更加沉浸式、直观的导览体验。本文将从专业性和思考深度两个方面,探讨AR地图导览小程序的开发方案。 编辑搜图 …

【大语言模型】基础:如何处理文章,向量化与BoW

词袋模型(BoW)是自然语言处理(NLP)和机器学习中一种简单而广泛使用的文本表示方法。它将文本文档转换为数值特征向量,使得可以对文本数据执行数学和统计操作。词袋模型将文本视为无序的单词集合(或“袋”&a…