运维=平台+数据

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 运维的发展日新月异,曾几何时,运维仅仅是被认知为跑机房,装系统,设计网络,给开发擦屁股。但是现在运维变得极度重要,运维职责也更加细化,譬如稍大点的公司就将运维划分为基础运维,网络运维,DBA, 应用运维,架构师。其实我个人认为系统架构师应该都安排在运维里,开发团队应该率属于运维团队才好。
运维会比开发更加重要
运维的发展日新月异,曾几何时,运维仅仅是被认知为跑机房,装系统,设计网络,给开发擦屁股。但是现在运维变得极度重要,运维职责也更加细化,譬如稍大点的公司就将运维划分为基础运维,网络运维,DBA, 应用运维,架构师。其实我个人认为系统架构师应该都安排在运维里,开发团队应该率属于运维团队才好。

进入云时代后,中等层次的运维慢慢会被淘汰,底层次的运维会越来越少,高水平的运维需求量则日益增长。为什么这么说呢?云时代背景下,低层次的运维主要按章循干活即可,而高层次的运维则需考虑系统架构设计,以及构建自动化的系统。这其实是反应对运维的要求会越来越高,不但要掌控产品的稳定性,做好服务保障的最后一公里,还要具有系统设计的能力。
运维现有发展方向的问题

运维也越来越朝着平台化,自动化,自助化方向发展。这种发展方式虽然可以解决问题,但是会导致碎片化以及难以标准化,不可复制,对生态也是不利的。

所谓碎片化指的是针对性的开发工具套件解决问题,比如为了解决配置问题,开发了个配置系统,比如为了部署,开发了部署系统,为了管理应用,针对不同类型的应用开发管理系统。所有这些系统都是为了解决特定一类问题而开发的,系统孤岛,很难让他们产生关联。

导致这种现象的原因在于,开发人的能力本身不足,缺乏全局观,或者各个系统本身的属性特质就导致他们难以关联。每个系统就像一个碎片,所以我们说这事碎片化。

标准化指的是,我开发的配置系统很可能跑到另外一家公司,就不能用了,因为我只是针对我的环境开发好配置系统就行,这里就带来的另外一个问题就是不可复制,也就是我开发的系统没办法很容易移植到别的地方去。

对生态不利,则是指,因为无法标准化,难以复制,每家公司各自开发自己的,无法形成社区,大家致力于统一的运维工具,则必然影响运维生态的发展。

这些问题总结起来,其实就是缺乏一个具有一定规范的容器,将所有的需求框起来东西。


运维发展新方向
之前我写过一篇文章,谈及如何用大数据思维做运维,当然这篇文章有他自己的局限性,只是谈及了运维监控,灌输一种 data based 的理念。

前面我们提及了运维发展现状,以及现有的发展模式带来的问题,解决的方式就是 Distributed OS + Data Based::
  • 使用 Distributed OS 抽象出应用的部署/管理/生命周期监控/自动化体系
  • 使用 Data-Based 思想inspect 应用内部状态,当然也包括Distributed OS,做好监控,报警,容量规划等。
如果有这么一个框,能把所有的运维需求给支撑起来,规范起来,这个框就是分布式操作系统(Distributed OS )。想想我们的单机系统,所谓应用的安装,运行,卸载,交互都是那么简单和随意。然而到分布式领域后,单机OS 退化后,导致缺乏这么一个统一底层系统。运维在这个层面自己也想了很多办法,通过puppet,通过shell,通过各种开发出来的系统。但这是运维缺乏规范和混论的时期,严重依赖于运维团队的自身的能力。

随着分布式相关应用慢慢成熟,尤其是大数据的崛起,对服务器有了更多的需求,以资源为粒度的管理需求也变得更加迫切,于是有了Google Borg,开源的则有Mesos,Yarn等。Google Borg 是个典型的。我们所有的运维需求都应该基于Borg去做。开发的服务交给Borg,后续的服务生命周期(扩容、缩容、调度)都由Borg统一接管,服务被Borg部署到哪个IDC、哪个服务器,研发人员不用关心。这个是系统层面的。当然类似Borg的 Mesos,Yarn等,都是追求一个动态调度的过程,我们也可以完全利用Borg,指定将应用安装在哪些单元(服务器群组)上,从而能够接管所有的服务。

这样,所谓前面我们提及的配置系统,部署系统,服务器监控都是在Borg提供的基础服务。就好比单机系统,你通过它安装,运行,关闭,卸载应用,你可以看服务器的资源使用情况。Borg 也是完全一样的。

也有人会说,很多应用的安装部署是很复杂的,而且如果使用了Borg其实就使得应用必须去适配Borg才能被管理。经过我们的实际实践,大部分应用都不需要对应用进行更改,也不需要对Borg进行更改,就可以部署和管理起来。复杂的比如Hadoop体系的安装,则需要Borg进行一定程度的支持,我们抽象出了一套应用的部署方案,只要简单的写一些描述文件,Borg拿到Hadoop的发型包,就知道如何安装和管理他们了。如果你需要对Hadoop做更细致的增强或者管理,你可以开发一个第三方应用,然后通过Borg安装去管理。Borg提供了交互的API,你可以通过这些API去管理Hadoop如果生命周期,而无需知道Hadoop安装在哪。

现在很流行的容器技术,也被广泛的被Mesos/Borg调度,对Borg来说这是以资源为粒度的应用,我们前面提及的,则是以服务器为粒度的应用。

前面讲的是基础平台层面的,我们其实更多的是要对应用进行更细致的观察。在Borg之上的应用可以是非常复杂的,应用的关联也是非常复杂的,微服务的兴起导致链路非常长,所以我们有了全链路追踪的需求。一切服务都是为了帮助数据进行流转和变换,服务的状态也都反应在数据流上,这种瞬态和终态的量是非常大的,所以我们需要借助大数据的思维去做处理。

到这里就可以参考大数据思维做运维灌输的概念了。

所以未来运维可以完全依托一个固定的分布式操作系统,在其上开发各种运维工具,利用大数据相关的理念和工具,监控,追踪,分析服务的状态,解决现有的运维工具碎片化,难以复制,难于贡献生态的问题。
相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
3月前
|
缓存 运维 监控
打造稳定高效的数据引擎:数据库服务器运维最佳实践全解析
打造稳定高效的数据引擎:数据库服务器运维最佳实践全解析
|
3月前
|
运维 Kubernetes 监控
|
4月前
|
存储 C++ 容器
开发与运维数组问题之C++标准库中提供数据容器作为数组的替代如何解决
开发与运维数组问题之C++标准库中提供数据容器作为数组的替代如何解决
54 5
|
4月前
|
运维
开发与运维数据问题之LangChain增强大语言模型的能力如何解决
开发与运维数据问题之LangChain增强大语言模型的能力如何解决
42 1
|
4月前
|
API 运维
开发与运维数据问题之LangChain帮助处理长篇报告如何解决
开发与运维数据问题之LangChain帮助处理长篇报告如何解决
67 1
|
4月前
|
监控 搜索推荐 机器人
开发与运维数据问题之LangChain帮助提升GPT-4的实用性的如何解决
开发与运维数据问题之LangChain帮助提升GPT-4的实用性的如何解决
49 1
|
4月前
|
监控 C++ 运维
开发与运维数据问题之实现商业版和开源版在发送可观测数据方面的差异如何解决
开发与运维数据问题之实现商业版和开源版在发送可观测数据方面的差异如何解决
55 1
|
4月前
|
设计模式 监控 Go
开发与运维C++问题之C++部分原有的数据发送能力如何解决
开发与运维C++问题之C++部分原有的数据发送能力如何解决
26 1
|
4月前
|
存储 数据格式 运维
开发与运维C++问题之更改数据模型为通用数据结构如何解决
开发与运维C++问题之更改数据模型为通用数据结构如何解决
28 1
|
4月前
|
分布式计算 运维 DataWorks
MaxCompute操作报错合集之用户已在DataWorks项目中,并有项目的开发和运维权限,下载数据时遇到报错,该如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。