IT云运维技术分享

1 运维体系

1.1 市场对运维的需求

时代发展到今天,社会的生活方式与生产方式的全面的数字化,无论是传统企业还是互联网企业,都在全面上云,这也意味着企业的关键业务乃至“身家性命”都已经全部放在 IT 系统之上,因此企业需要系统足够稳定可靠。而变化迅速的市场和激烈的竞争环境、以及监管等因素,也需要更敏捷的研发效率和应用架构来支持业务创新。所以不管是从业务需求场景还是技术趋势来说,运维体系的要求整体来讲都是要更可靠、更敏捷、 更智能。

image-20230620112811029

1.2 运维核心竞争力

  • 云计算的优势:可靠、弹性
  • 运维的本质工作:业务稳定性、IT成本合理性

上云之后省钱省力更安全可靠,是否意味着包括运维人员会被替代?云端不需要运维?

在云时代,对运维的正确理解应该是:云不但没有消灭运维,反而是助推了运维的发展。云端基础设施的存在,可以让运维从偏硬件服务器、偏物理机房的日常繁琐工作中解脱出来,更多地基于云在软件的层面,进行部署、监控、调整。我们应从以下几个方面,提升运维的核心竞争力

观念:云提高了运维效率,改变了运维形态,不再是传统意义上的监、管、控的

运维能力:运维人员不是被替代,而是需要进一步转型提升才能够满足IT云运维的需求

工作重点:云独有的特性,带来了更多的运维工作,将更多的精力放在业务的稳定性建设上,结合公司实际情况,制定体系标准和运维流程,从闭环的角度来看待业务的全生命周期管理。

1.3 运维体系建设

从应用生命周期视角切入,了解运维体系的建设,通过划分阶段,提炼属性,理清关系,实现运维场景。

image-20230620113226053

围绕着人类的生命周期,有一系列保障体系,如教育体系、职业体系、医疗体系、养老体系等。目的就是针对人生的不同阶段,提供不同形式的保障和支持,发挥价值。

回到我们运维对象的生命周期上来,我们也可以对应用的生命周期阶段进行分解,大致分为五个部分,应用的创建阶段、研发阶段、上线阶段、运行阶段和销毁阶段。

  • 创建阶段:标准化体系,先标准,再固化,然后自动化。开展运维工作的过程中,持续不断地用这个思路去标准化新出现的对象。对于同一类的应用,只需要做一次标准化即可,后续完全可以形成模板固化到工具平台上。

  • 研发阶段:主要是业务逻辑实现和验证的阶段,涉及到代码的提交合并、编译打包以及在不同环境下的发布部署过程,以及测试,这就是我们常说的持续集成,与线上发布形成持续交付这样一个闭环。持续交付体系是拉通运维和业务开发的关键纽带,是提升整个研发团队效率的关键部分

  • 运行阶段:应用生命周期中最重要、最核心的阶段。针对业务场景及异常变化,建立一系列的保障体系

  • 运营、销毁:围绕着某个应用所产生出来的基础设施、基础服务以及关联关系都要一并清理

2 云上运维

2.1 云上资源

以后,我们的代码,和我们构建的应用,将越来越多地运行在云上,我们的架构模式和思维方式,将更多地与云契合共生,因此,我们必须学习了解云。云计算发展到今天,已经不是我们想象中的只能提供 IaaS 服务的云平台了,目前各大公有云上的 PaaS 产品体系也已经非常完善。在资源配置、技术选型和架构设计等环节制定更好的方案。

image-20230620113542187

2.2 云端主要运维工作

  • 云端架构

云的本质是租用,根据业务需求,在成本投入与可用性之间获得一个最佳的平衡,才是你应该追求的目标。

image-20230620113628182

  • 监控

image-20230620113651742

  • 迁移:在公有云蓬勃发展之前就已经建设了自有的技术体系和架构,所以在选择上云的过程中,就需要有个过渡过程,这个过程就是混合云需求存在的应用场景

image-20230620113700604

  • 管理

image-20230620113709479

3 云原生运维

3.1 云原生概念

云原生是一种以微服务架构、容器化、自动化管理和持续交付为核心的软件开发和部署方法。

  • 相比传统架构:云原生架构在编程模型、交付方式、运维体系都产生了巨大的改变。云原生架构通过从业务代码中剥离了大量非功能性特性(如弹性、韧性、可观测性等)到 IaaS 和 PaaS 中,让业务更敏捷稳定的同时成本更低。

  • 与云计算的关系:是因云而生的软件、硬件和架构,云计算的再升级,能帮助企业最大化获得云价值云

  • 与容器的关系:轻量的容器与富有弹性的云计算天然契合,可以说云是容器应用的最佳载体,容器应用也非常适合在云上运行和扩展。

  • 技术中立:云原生具有技术/厂商中立的特点,是避免厂商绑定的“神器”。

不同的时代、不同的话题背景和场合下,云原生其实会指代或延伸出不同的含义。常见的一种狭义的云原生定义,特指的是容器化、容器编排和微服务架构。各类厂商在宣传 Kubernetes 服务和产品时所说的“云原生”从更广义的视角来看,只要是适合在云上运行,具备和符合云上架构特点的应用,都可以说是属于“云原生”范畴。

3.2 容器技术

容器技术是一种虚拟化技术,用于在计算机系统中隔离和运行应用程序和服务。容器和虚拟机具有相似的资源隔离和分配方式,容器虚拟化了操作系统而不是硬件,更加便携和高效。

image-20230620114013089

  • 镜像

以镜像制作为例,展示容器技术如何将应用程序及其依赖项打包到独立的运行环境中,实现快速部署、可移植性和弹性扩展。

FROM node:14                       # 指定基础镜像
ARG WORK_PATH="/hexo"     # 构建参数

  # 替换为阿里源并安装必要工具
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list  \
      && apt update -y && apt-get install -y curl vim telnet

  # 解决vim中文乱码
RUN echo "syntax on \nset termencoding=utf-8 \nset encoding=utf8 \n    setfileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030" >> ~/.vimrc 

RUN npm install hexo-cli -g      # 安装hexo框架

WORKDIR $WORK_PATH      #设置工作目录

ENTRYPOINT ["docker-entrypoint.sh"]

3.3 编排及架构

每个架构模式都有其适合的场景,企业所处阶段的不同、人力资源的多寡、开发人员的技能高 低等,都会影响架构的选择。没有最好的架构,只有最适合的架构。并且架构需要持续演进, 才能够支持业务发展。

image-20230620114125588

3.4 持续交付

软件交付的困难在于环境之间的差异,以及软件交付和运维人员的技能差异。为屏蔽不同环境之间的差异对交付人员造成的困扰,公司采用jira做研发流程管理,通过集成gitlab与jenkins等相关工具,实现高度自动化软件交付。将需求上线流程和流水线进行整合,基于容器进行标准化的软件交付,上线的每一阶段都经过可靠性验证,支持随时自主上线。

image-20230620114205552

4 学习路径

云计算和 AI 时代,不仅是机遇也是挑战,我们必须不断地学习和提升自己的技能,保持对技术发展趋势的敏锐性;还要有产品意识,能够将你所做的事情整理汇总起来,然后做一下流程上的串联,再把流程中每个环节步骤的功能进行详细描述,同时在梳理的过程中,将一些不合理、不规范的地方进行标准化约定,根据需求,把承载了标准化和规范体系的工具平台真正落地应用起来。
以下是对于运维“新手”的学习路径建议:

  • 笔记:markdown笔记软件,csdn博客
  • 系统管理:linux+shell
  • 云计算特性:云服务器、存储、负载均衡、CDN、域名、安全组等
  • 容器化和编排:docker、k8s
  • CI/CD:jenkins、gitlab-ci、ansible、项目管理系统
  • 监控和故障排除:prometheus,grafana,日志分析、性能调优
  • 进阶:学会写代码,培养产品意识,提升技术运营意识

5 案例分享

CSDN云原生改造的实现路径:https://blog.csdn.net/foreverccc/article/details/128577339

image-20230620114424245

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值