【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

运维架构是全站技术架构中不可分割的一部分

  • 2020-03-18
  • 本文字数:1640 字

    阅读完需:约 5 分钟

运维架构是全站技术架构中不可分割的一部分

从这篇文章开始,准备从架构设计层面谈谈 Dev 和 Ops 的关系,而不是单纯从组织架构和协作模式上的 Dev 和 Ops 关系。

一、为什么要起这个话题?

可运维性要在架构设计时就要统筹考虑,从一开始就得考虑进去,而不是到了运维这个环节再去考虑,否则就会出现很多的问题。但实际情况,很多技术团队在这一点上做的并不够,而是将全部的精力放到如何进行服务化或微服务的拆分上,放到分布式架构如分布式服务、分布式消息、分布式 DB 和缓存等等这些设计上,更多的是做了一些纵向的架构分解和技术钻研工作,但是架构的横向延伸和拉通考虑的明显不足。这样恰恰是忽略了整个软件生命周期中最长尾的运维环节,也反映出了很多公司对于运维这件事情的重视程度和理解深度不够。

二、出现的问题

从我个人经历的过程以及观察的情况看,通常的几个现象:


1、应用这个概念,在资源申请、域名申请、VIP 申请、服务注册、发布部署、策略下发、监控等等这些环节不统一,各自独立一套;这个就是最典型的架构设计时,只考虑开发一个环节,没有将架构上拆分后的概念延伸贯穿到整个软件生命周期的问题。这个也将导致下面一系列的问题产生;


2、上面做不到,没有统一的标准和概念,各个平台之间就很难集成和打通,所谓的持续集成、持续发布、持续部署、持续交付等等这些环节仍然靠大量的人肉动作去做,还谈不上持续,效率自然上不去;


3、稳定性保障无从下手,大量的服务化应用,错综复杂的调用依赖,海量链路日志,问题排查困难,一个请求下来,到底跑到哪个应用去了都不知道;故障持续时间长,出现流量激增或基础部件故障,无法快速隔离、降级和恢复;


4、效率跟不上,还经常出问题,进而,团队协作效率降低,相互信任下降,就开始经常听到下面的言论:


开发抱怨:“运维做的不到位,申请个机器老半天,发布效率也提不上去,代码都写好了,上线咋这么费劲,严重降低了我们的工作效率,再有,出了问题还得我们上去定位,运维什么都帮不上。


运维抱怨:“开发的架构这么烂,配置五花八门,还得手工维护,我咋知道这些配置干嘛的,配错一个,就出故障,让我怎么自动化发布;日志放哪儿也不知道,一会这里,一会那里,出问题你说我咋定位。


5、好了,出了问题,就开始撕逼扯皮,相互推诿,背了责任的一方又开始甩出背锅言论,感觉没有被公平对待。团队的氛围也开始出现 bad smell。

三、问题出在哪儿了呢?

其实从开发的角度和运维的角度单独来看,双方的表达都没有问题,做的事情也都没有问题。但是双方都是只站在了自己的角度表达问题和情绪,恰恰都忽略了很重要的一点:运维和开发不是相互割裂的两个组织,运维的技术体系和全站整体的技术体系更是不可分割的,越是把它们割裂开看,越是站在各自的角度看问题,上面说的这些情况就越是无解,整个团队也会限于这种没完没了的、毫无意义的纠缠中,从长期看对团队和个人的发展都是很不利的。


所以根本原因,在于将开发和运维在技术和管理两个层面给割裂开了,详细描述如下:


1、运维阶段要面临的问题没想清楚,从一开始架构设计上就没有考虑清后续的运维阶段要面临的问题和事情,比如这么多应用,资源应该如何分配、发布的效率如何保障等等,而都是在考虑开发自身的需求和问题。不考虑运维面临的问题,这样实际就是把运维割裂在整个架构设计之外了。(这个责任在谁呢?)


2、运维团队的职责定位不清晰,**整个技术架构朝着服务化的方向演进后,整个组织架构对于运维团队的定义也是模糊的,也就是运维到底要做什么,要承担什么样的职责,因为一个合理的架构落地,必然要有合理的组织架构去对应支撑才可以。运维定位不清晰,就相当于将运维团队给割裂在研发团队之外了。

四、未完待续

所以打算下篇就讲讲这个问题应该如何破局,在这样一个技术架构体系下,运维的角色应该要做什么样的转变,才能适应和支撑起对应的技术体系。(如果还是传统的硬件维护、网络维护、脚本编写这样的定位和要求,显然是跟不上技术发展的要求和节奏的。)


本文转载自成哥的世界公众号。


原文链接:https://mp.weixin.qq.com/s/qn9iHEGch5Vz-_M1Od3V6g


2020-03-18 20:07945

评论

发布
暂无评论
发现更多内容

Scrum Master需要具备哪些能力和经验

华为云开发者联盟

Scrum 敏捷 团队 教练 Scrum Master

知识库进化论 | 华创资本对话 ONES & 为知笔记创始人

万事ONES

TDSQL PG版企业级分布式数据库技术创新实践

腾讯云数据库

tdsql 国产数据库

TDSQL-C for PostgreSQL 主从架构详解

腾讯云数据库

tdsql 国产数据库

Jetpack—LiveData组件的缺陷以及应对策略

vivo互联网技术

android livedata JetPack 移动应用开发

低代码实现探索(二十二)如何构建一个可以看的懂的系统

零道云-混合式低代码平台

ONES CTO 冯斌|如何低成本地做出高质量决策

万事ONES

CSS 自适应内容宽度的输入框

编程江湖

我相信:没有解不开的难题|ONES 人物

万事ONES

软件设计——依赖倒置

苏州程序大白

架构师

Chrome插件:摸鱼倒计时、每日摸鱼时间统计,奋斗逼、卷王必备,用于减少摸鱼时间和频率

OBKoro1

效率 开源 效率工具 chrome扩展 高效率

前端使用 zx 库在 Node 中编写 Shell 脚本

devpoint

node.js Shell 1月月更 zx.js

使用php-amqplib实现RabbitMq

Owen Zhang

php RabbitMQ php-amqplib

TDSQL | 将企业级分布式数据库做到极致

腾讯云数据库

tdsql 国产数据库

Serverless 背景下,一部分“前端工程师”会转变为“应用交付工程师”

杨成功

Serverless 架构 前端

前端开发之JQuery的综合应用

@零度

jquery 前端开发

ReactNative进阶(二十三):Javascript 严格模式详解

No Silver Bullet

React Native 1月月更

组件通信、硬件池化,这些创新技术你get了吗?|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

我以订披萨为例,给女朋友详细讲了Java设计模式的3种工厂模式

华为云开发者联盟

Java 工厂模式 工厂方法模式 简单工厂模式 抽象工厂模式

GIS :元宇宙未来发展的有力技术支撑

华为云开发者联盟

AI GIS 虚拟世界 数字孪生 云宇宙

虎符研究院深入解读Web3.0未来趋势 盘点代表性项目

区块链前沿News

Web Hoo虎符 虎符研究院 虎符平台 3.0

创业老兵李峻的新征程|ONES 人物

万事ONES

Android技术分享| 自定义View实现使用更方便的SeekBar

anyRTC开发者

android 音视频 移动开发 白板 SeekBar

线上流量对比应用实践

得物技术

架构 数据 流量 实践 流量回放

架构实战训练营-模块7-作业

温安适

「架构实战营」

1月月更|推荐学java——Spring之AOP

逆锋起笔

spring SSM框架 spring aop 依赖注入 面向切面编程

Hive SQL底层执行原理

五分钟学大数据

Hive SQL 1月月更

龙蜥社区一周动态 | 1.10-1.14

OpenAnolis小助手

Linux 开源 社群

为什么HashMap会产生死循环?

王磊

java开发之Redis的使用规范

@零度

redis JAVA开发

2021 OceanBase 开源半年度报告 | 不忘初心,感恩同行

OceanBase 数据库

开发者 报告 OceanBase 开源 OceanBase 社区版

运维架构是全站技术架构中不可分割的一部分_软件工程_成哥的世界_InfoQ精选文章