中电金信:云原生时代IT基础设施管理利器——基础设施即代码(IaC)

news2025/1/6 19:34:39

在数字化转型、零售业务快速发展、信创建设驱动下,应用架构、技术架构、基础架构都已向云原生快速演进,银行业IT基础设施管理产生了非常大的变化,当前银行业,正在开展新一轮的核心应用系统重构、基础平台统一建设等重点任务,IT基础设施管理手段必将进行革新。

IT基础设施进行定义说明:

本文里的IT基础设施涵盖计算、网络、存储、安全等硬件资源,支撑资源运行的IaaS、容器、PaaS等平台环境,以及操作系统、数据库、中间件等基础软件环境。

图片

01·云原生时代存在的问题·

云原生时代下,IT基础设施管理有哪些需求改变呢?

管理范围增大,配置信息更复杂

传统基础架构下,基础设施只需要管理计算、网络、存储、安全等硬件,以及相关的操作系统、数据库、中间件,而云原生时代,还需要增加虚拟化、云平台、容器、大量PaaS组件等管理。管理范围更大,相关配置信息更多,配置基线建立也更复杂。

硬件资源量增大,基础软件环境增多

在IOE时代,一套大型应用系统至多几十台服务器。在云原生时代,则需要几百台服务器,硬件资源量急剧增大。另外云原生架构下的微服务应用涉及节点多、微服务间交互复杂,每套应用为测试交易链路需要建立N套测试环境,基础资源分配、扩容、基础软件环境部署等工作量大幅增加。

基础设施变化更频繁、过程需要被清晰记录

频繁的基础设施变更,需要清晰记录每次变化了哪些内容。内容记录不仅涉及版本回退,当变更后出现次生问题或性能问题时,还需要进行对比变更前后的基础设施信息。如果是手动管理基础设施,很难将变更前后进行比对清楚。此外,每个应用版本对应的基础设施版本,也需要有一个清晰的对应关系,以实现应用版本升级对基础设施影响情况分析。

综上所述,云原生时代下,基础设施管理依靠手动方式,已不太现实,亟待需要使用规范化、自动化方式替代手动管理方式。

02·基础设施即代码定义·

IaC是通过非手动方式管理基础设施的方法,将基础设施管理纳入持续集成环境,像管理应用代码一样实现基础设施版本化管理。针对每次基础设施数量、配置变更,进行代码编写,然后自动化执行,实现基础设施规范化、自动化管理。

同时,IaC拉近了基础设施与应用的关系,完全响应了云原生架构下的需求,有效促进了基础设施管理由资源供给型向应用供给性转型,应用的每次变更都可以对应到基础设施的变更。通过持续集成环境,可以清晰的看到每个应用版本分支对应的基础设施版本分支,非常有利于分析基础设施容量如何随应用(或业务量)变化而变化,从而推进IT基础设施容量智能预测的实现。

03·基础设施即代码收益·

降低运维工作量,降低运维成本

IaC可实现基础资源配置信息的批量化、自动化修改。按照SRE的思想,IaC就是解决运维工作量不以设备数量增长而线性增加的问题。在IaC方式下,运维工作量不会随着设备数量而增加运维人员数量,从而降低了运维成本。

加快速部署速度,提升运维效率

IaC实现基础资源的一键式分发、一键式部署。传统运维方式下,搭建一套测试环境时间需要耗费数天时间。在IaC方式下,搭建一套测试环境则缩短至小时级别,如果再叠加审批流程自动化,将会进一步缩减到分钟级别,从而大幅提升运维效率。

降低操作风险,提高架构一致性

IaC的自动化操作,有效减少人工误操作、降低操作风险,另外线上化操作方便复制、对比历史信息,方便制定信息校验策略,减少人工操作错误。每次基础设施变更都会进行版本化管理,每个应用版本都会对应一个基础设施版本,有效提高了架构一致性。

04·基础设施即代码平台建设·

基础设施即代码实现方式

实现基础设施即代码可以对现有DevOps和CI/CD系统进行升级改造,在原有功能基础上增加基础设施即代码能力,也可以新建基础设施即代码平台。但无论采用哪种方式,都需要与现有相关平台进行集成。

基础设施即代码功能集成

从软件生命周期为视角透视,基础设施即代码平台将覆盖生命周期中所有阶段。

图片

当前在银行业,不同规模客户的基础建设成熟度不同。对于成熟度较高的客户,各基础平台建设已经比较完善,基础设施即代码平台更多集中在能力建设和各平台集成上。对于基础平台建设比较欠缺的客户,基础设施即代码平台可涵盖DevOps、运维自动化平台的所有能力。

从基础设施即代码能力建设视角考虑,输入信息有两类,一是当业务需求确定后,在构建应用版本时,同时构建基础设施版本;二是当ITSM审批流程完成后,基础设施即代码平台发起基础设施版本发布指令。在对外信息输出和交互方面,一是与DevOps平台或分布式开发平台交互,在持续集成环境中构建基础设施代码版本;二是在基础设施版本发布时,对接私有云完成云上基础资源及环境发布,对接自动化平台或虚拟化平台完成云下基础资源及环境发布以及稳态应用发布,对接容器平台完成容器资源及环境发布以及敏态应用发布。

基础设施即代码实现的关键要素

■ 管理思维和管理流程的支撑

基础设施即代码不仅是技术的革新,更是管理思维的革新。我们在做业务需求时,是否一定要先建模再生成代码框架;在做应用系统开发时,是否一定要先数据建模再生成数据库表。基础设施管理也是这样,我们是否要以代码、版本、发布等管理方式进行。同时,基础设施即代码中的代码编写工作,是应用开发人员来写,还是基础设施运维人员来写,取决于管理流程,当然管理流程确定后还需要组织架构的同步支撑。

图片

在银行业按照监管要求,开发与运维需要严格分离。基础设施即代码的管理方式是典型的开发运维一体化思维,所以需要在保留一体化思维前提下满足开发与运维分离监管要求。比如开发测试环境的基础设施即代码可以部署在开发测试环境,生产环境的基础设施即代码需要考虑部署在生产环境,需要通过登录堡垒机进行管理平台的操作。当开发人员操作时,还需要满足操作环境的物理隔离和安全管控。

■ 基础设施即代码使用到的技术

Terraform是一种常用的、非常有优势的基础设施即代码工具,可以安全高效的构建、变更云上和云下基础设施,并对其进行版本控制。相对AWS发布的基础设施即代码工具,Terraform更有优势。

图片

对于已经建设了私有云的客户,对云上资源和环境操作,可以采用Terraform+私有云能力完成云上资源和环境的管控,当前常见私有云都已提供了Terraform Provider。

对于没有建设私有云的客户,或者对云下资源及环境管控,需要借助自动化部署工具,常见的工具包括Puppet、Chef、Ansible、SaltStack等。

■ 基础设施即代码平台技术架构

采购或研发一款基础设施即代码管理平台产品是开展IaC工作的前提,除了使用开源技术以外,还需要进行自研。通过开源+自研模式,最终形成适应自身需求的基础设施即代码管理平台。

■ 基础设施即代码能力扩展

建立基础设施即代码相关流程和机制以后,在基础设施即代码管理平台基础上,可以扩展实现XaC,如观测即代码、配置管理即代码、配置基线即代码等。通过XaC的扩展,可以实现端到端全链路可观测、CMDB自动化、基线管理等能力,并将要实现的能力转换为控制代码,统一纳入持续集成管理范围,在基础设施即代码发布时同步进行XaC的发布。

所扩展的全链路可观测能力,可实现基于业务和应用视角的全链路可观测,即应用部署和基础设施部署时即具备可观测功能。CMDB自动化能力,可保障CMDB信息的实时性与完整性,为实现智能化运维奠定基础。基线管理能力,可满足国家信息安全和金融行业合规要求。

写在最后,展望一下IT基础设施管理亟待展开的工作,也是IT基础设施管理部门和管理者非常值得关注的内容,结合Gartner预测,大致的工作项如下:

■ 负责云建设的部门和团队,将优化和重构云基础设施,开展全行级云基础平台的规划和建设,如建设几朵云、每朵云的定位、规范云技术路线等。

■ 制定和推广上云标准,数据中心团队将在内部制定和推广上云标准,如容器的应用尽用,规范应用分类和上云技术路线,实现全行级云化转型。

■ 基础设施和基础技术平台需适应新型应用架构的发展,面向云原生的新型应用架构将需要新的基础设施类型、新的基础设施供给方式,如IaC。

■ 构建数据中心新型技术团队,面对混合架构下的IT基础设施管控复杂性,成功的数据中心会把团队技能提高作为当前首要任务,只有这样才能保障信息科技部门的价值。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Move生态:从Aptos和Sui到Starcoin的崛起

区块链技术自诞生以来,已经经历了多个发展阶段和技术迭代。近年来,随着智能合约平台的不断演进,以Move语言为核心的生态系统逐渐崭露头角。Move语言以其安全性、灵活性和高效性吸引了大量开发者和项目方的关注。在Move生态中,Apto…

⌈ 传知代码 ⌋ 利用scrapy框架练习爬虫

💛前情提要💛 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间,对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…

56_Redis简单命令

一、引言 1.1 数据库压力过大 由于用户量增大,请求数量也随之增大,数据压力过大 一个请求的url 背后可能有有4-5个 sql的操作 每秒钟 qps(并发数) 1000 背后的sql操作 4000-5000mysql 单机并发量读写 8000-10000 &#x…

素数提升运算时间得算法

我们在计算素数的一种简便算法&#xff0c;用到另一个库math.h之后给大家详细的解释原理 #include<stdio.h> #include<math.h> int main() {int i 0;for (i 101; i < 200; i 2){int flag 1;int j 0;for (j 2; j < sqrt(i); j){if (i % j 0){flag 0;b…

ITSS四级认证费用是多少?

信息技术服务标准&#xff08;ITSS&#xff09;认证是评估一个企业在信息技术服务领域能力的标准之一&#xff0c;它涵盖了从基础标准、支撑标准到基于业务的需求侧和供给侧标准的全面内容。 具体条件 独立法人地位&#xff1a;申请单位需要具备独立法人地位&#xff0c;这是四…

如何使用rdma-core来实现RDMA操作

rdma-core 是一个开源项目&#xff0c;为远程直接内存访问&#xff08;RDMA&#xff09;提供用户空间的支持。它包括 RDMA 设备的驱动程序、库和工具&#xff0c;旨在简化 RDMA 应用的开发和部署。 基础知识参考博文&#xff1a; 一文带你了解什么是RDMA RDMA 高性能架构基本…

day07 项目启动以及git

spring框架 spring 负责整合各种框架&#xff0c;把new对象的部分交给spring去做&#xff0c;对象new不出来&#xff0c;项目就启动不起来&#xff0c;这样可以有效保证所需要的对象都在容器中存在&#xff0c;后续的部分都可以顺利执行控制反转&#xff1a;业务对象创建依赖资…

零基础入门转录组数据分析——机器学习算法之lasso

零基础入门转录组数据分析——机器学习算法之lasso 目录 零基础入门转录组数据分析——机器学习算法之lasso1. Lasso基础知识2. Lasso&#xff08;Rstudio&#xff09;——代码实操2. 1 数据处理2. 2 构建Lasso模型2. 3 提取Lasso关键基因2. 4 Lasso结果简单可视化 1. Lasso基础…

高度偏斜特征处理:log(x)、sqrt(x)、box-cox、Yeo-Johnson

一、概念 高度偏斜的特征 &#xff1a; 数据分布不均匀、不对称的特征 处理之后&#xff1a;使其分布更接近正态分布或至少减少偏斜程度 二、处理方法 1、对数变换&#xff1a;log(x) 适用于右偏数据压缩大值&#xff0c;拉伸小值 2、平方根变换&#xff1a;sqrt(x) 对右…

臂式血压计电子方案ocba设计与开发

臂式血压计是运用电子技术与血压间接测量原理进行血压测量的医疗设备。臂式血压计有臂式、腕式、手表式之分&#xff1b;其电子技术已经历了最原始的第一代&#xff08;机械式定速排气阀&#xff09;、第二代&#xff08;电子伺服阀&#xff09;、第三代&#xff08;加压同步测…

学习测试12-车(略)

系统讲解&#xff0c;可以在懂车帝网站去了解汽车结构

商用密码测评之对HTTPS(TLS)协议中各个参数解释

1、TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 是一个广泛使用的TLS&#xff08;传输层安全协议&#xff09;加密套件&#xff0c;它结合了多种技术和算法来确保网络通信的安全。下面是对该加密套件中各个参数的详细解释&#xff1a; 1. TLS 定义&#xff1a;TLS&#xff08;传…

【文件解析漏洞】实战详解!

漏洞描述&#xff1a; 文件解析漏洞是由于中间件错误的将任意格式的文件解析成网页可执行文件&#xff0c;配合文件上传漏洞进行GetShell的漏洞! IIS解析漏洞&#xff1a; IIS6.X&#xff1a; 方式一:目录解析 在网站下建立文件夹的名字为.asp/.asa 的文件夹&#xff0c;其目…

【前端 · 面试 】JavaScript 之你不一定会的基础题(一)

最近我在做前端面试题总结系列&#xff0c;感兴趣的朋友可以添加关注&#xff0c;欢迎指正、交流。 争取每个知识点能够多总结一些&#xff0c;至少要做到在面试时&#xff0c;针对每个知识点都可以侃起来&#xff0c;不至于哑火。 JavaScript 之你不一定会的基础题 前言 面试往…

python中list的深拷贝和浅拷贝

其实这还是涉及到python中的可变对象和不可变对象的概念。 https://www.cnblogs.com/poloyy/p/15073168.html # -*- coding: utf-8 -*-person [name, [savings, 100.00]] hubby person[:] # slice copy wifey list(person) # fac func copy a [id(x) for x in person] b …

【Vue3】watch 监视多种类型数据

【Vue3】watch 监视多种类型数据 背景简介开发环境开发步骤及源码 背景 随着年龄的增长&#xff0c;很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0c;技术出身的人总是很难放下一些执念&#xff0c;遂将这些知识整理成文&#xff0c;以纪念曾经努力学习奋斗…

新闻稿的写作格式,干货分享

随着互联网的发展&#xff0c;新闻稿在互联网上的地位非常高&#xff0c;新闻稿对比一般软文来说内容质量偏高而且还具备&#xff1a;严谨、时效、可观的特点。 撰写新闻稿主要就是突出最新鲜、最重要的事实&#xff0c;同时&#xff0c;新闻稿也是文字简洁&#xff0c;并且时效…

【nginx、apache】网站只有首页可以正常打开,其他页面都实现404

【nginx、apache】网站只有首页可以正常打开&#xff0c;其他页面都实现404 1、检查伪静态规则&#xff08;中枪&#xff09;

【剑指offer】

剑指offer 面试题67&#xff1a;字符串转成整数面试题1&#xff1a;赋值运算符函数面试题3&#xff1a;数组中重复的数字 面试题67&#xff1a;字符串转成整数 LeedCode&#xff1a;LCR 192. 把字符串转换成整数 (atoi) 测试atoi的功能和异常效果 #include <iostream> #…

【Linux】全志Tina配置屏幕时钟的方法

一、文件位置 V:\f1c100s\Evenurs\f1c100s\tina\device\config\chips\c200s\configs\F1C200s\sys_config.fex 二、文件内容 三、介绍 在此处可以修改屏幕的频率&#xff0c;当前为21MHz。 四、总结 注意选择对应的屏幕的参数&#xff0c;sdk所支持的屏幕信息都在此文件夹中…