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

在数字化转型、零售业务快速发展、信创建设驱动下,应用架构、技术架构、基础架构都已向云原生快速演进,银行业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.mzph.cn/news/877118.shtml

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

相关文章

Playwright 的使用

Playwright 的特点 支持当前所有主流浏览器,包括 Chrome 和 Edge (基于 Chromiuns), Firefox , Safari 支持移动端页面测试,使用设备模拟技术,可以让我们在移动Web 浏览器中测试响应式的 Web 应用程序 支持所有浏览…

x264编解码库 -介绍和使用示例

目录 1:X264简单介绍 1.1:编译x264 1.2:x264简单介绍 1.3:x264的优势 1.4:x264与FFmpeg的关系 1.5:x264 编解码原理 1.6 进一步学习资源 2:demo效果 3:完整代码 4:附件…

6 网络

6 网络 1、概念2 IP地址3、套接字4、TCP协议4.1 TCP协议的基本特征4.2 建立连接4.4 终止连接4.5 编程模型 5、UDP协议5.1 UDP协议的基本特性5.2 常用函数5.3 UDP通信模型 6、域名解析 1、概念 计算机网络是实现资源共享和信息传递的计算机系统 ISO/OSI网络协议模型 TCP/IP协…

C语言进阶 10. 字符串

C语言进阶 10. 字符串 文章目录 C语言进阶 10. 字符串10.1. 字符串10.2. 字符串变量10.3. 字符串输入输出10.4. 字符串数组10.5. 单字符输入输出10.6. 字符串函数strlen()10.7. 字符串函数strc()10.8. 字符串函数strcpy()10.9. 字符串搜索函数10.10. PAT10-0. 说反话 (20)10-1.…

idea中导入外部依赖并打包到jar包中

前言: 很多时候在我们写项目对接三方的时候都需要导入三方jar包,而这时候我们用平常的pom里面写依赖发现导入不了(直接把jar包放在本地导入的话打包的话也不会将该依赖打包进我们项目的jar包),我在网上找了几种方法 …

Linux网络-ss命令

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注我,我尽量把自己会的都分享给大家,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 Linux服务器作为一个常用的网络服务器,主要的作用就是向客户端提供网络…

【C++】C++11中R字符串的作用

在 C11 中添加了定义原始字符串的字面量 1.定义和基本使用 定义方式为: R"xxx(原始字符串)xxx"其中 () 两边的字符串可以省略,R只会处理括号中的字符串。 原始字面量 R 可以直接表示字符串的实际含义,而不需要额外对字符串做转义…

谷歌团队新技术Alchemist:使用扩散模型对材料属性进行参数控制

Alchemist是由谷歌团队和麻省理工学院联合研发的一项创新技术,它利用扩散模型对材料属性进行精细的参数控制。这项技术的核心在于能够对真实图像中的物体材料属性进行调整,包括粗糙度、金属感、反照率和透明度等。Alchemist的实现依赖于先进的文本到图像…

【时时三省】(C语言基础)循环语句while(2)

山不在高,有仙则名。水不在深,有龙则灵。 ——csdn时时三省 getchar和scanf的作用 示例: int main ( ) { char password[20] ( 0 ) ; printf ( "请输入密码:> " ); scanf ( " %s…

Sping项目只能勾选17和21 (已解决) 导致的后续Invalid bound statement (not found):

问题发现 今天创建项目的时候发现 idea初始化spring的时候选择不了Java8 解决方案:替换URL为 https://start.aliyun.com/ 将IDEA页面创建Spring项目,其实是访问spring initializr去创建项目。故我们可以通过阿里云国服去间接创建Spring项目。 将https://start.spr…

使用 VMware vCenter Server(vSphere Client)迁移 ESXi 虚拟机

我需要将虚拟机 k8s-dev-node4从 ESXi 主机 192.168.1.161 迁移到 ESXi 主机 192.168.1.162 上,使用 VMware vCenter Server(vSphere Client)在浏览器上可视化操作,将这个需求变的非常简单。 1、选中需要迁移的虚拟机&#xff0c…

【AI落地应用实战】Amazon Bedrock +Amazon Step Functions实现链式提示(Prompt Chaining)

一、链式提示 Prompt Chaining架构 Prompt Chaining 是一种在生成式人工智能(如大型语言模型)中广泛使用的技术,它允许用户通过一系列精心设计的提示(Prompts)来引导模型生成更加精确、丰富且符合特定需求的内容。 P…

获取手机当前信号强度(dbm/asu值)解决 getGsmSignalStrength()总是返回99问题

能看到这篇文章说明网上哪些获取 (dbm/asu值)不适合你,不是他们的代码不正确,而是不符合你的情况 比如安卓6获取android手机信号强度 可以看这篇文章 https://blog.csdn.net/sinat_31057219/article/details/81134030 当然如果你…

Javaweb项目|springboot医院管理系统

收藏点赞不迷路 关注作者有好处 文末获取源码 一、系统展示 二、万字文档展示 基于springboot医院管理系统 开发语言:Java 数据库:MySQL 技术:SpringSpringMVCMyBatisVue 工具:IDEA/Ecilpse、Navicat、Maven 编号:…

Source insight 配置代码格式化

代码格式化工具:Artistic Style Files Download 配置 Source Insight 添加 Astyle 命令 Tools --> Custom Commands -->Add 在 Run 栏填入格式化命令: "D:\Program Files\astyle-3.5.2-x64\astyle.exe" -A3 -t -xV -w -Y -m0 -p -H …

【Vulnhub系列】Vulnhub_Raven2靶场渗透(原创)

【Vulnhub系列靶场】Vulnhub_Raven2 渗透 原文转载已经过授权 原文链接:Lusen的小窝 - 学无止尽,不进则退 (lusensec.github.io) 一、环境准备 从网盘下载该靶机,在vm中选择【打开】 然后设置好存储路径,开机后检查靶机的网络连…

Redis缓存数据库进阶——Redis缓存数据同步问题(8)

Redis缓存使用问题 数据一致性 只要使用到缓存,无论是本地内存做缓存还是使用 redis 做缓存,那么就会存在数据同步的问题。 我以 Tomcat 向 MySQL 中写入和删改数据为例,来给你解释一下,数据的增删改操作具体是如何进行的。 我…

从入门到精通:电商设计师的职业发展指南

在当今数字时代,电商设计师的作用越来越重要。从电子商务网站的整体造型设计到产品页面的具体布局,他们的工作范围是电子商务企业成功的关键因素之一。然而,并不是每个人都对这个职业有深刻的理解。因此,在本文中,我们…

【Git-驯化】一文学会git中对代码进行存储操作:git stash技巧

【Git-驯化】一文学会git中对代码进行存储操作:git stash技巧 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 免费获取相关内…

【无标题】DNS域名解析

回顾指令: samba机器: 安装samba Yum -y install samba 自建库,只下载不安装 Yum -y install --downloadonly --downloaddir./soft/ 配置samba Vim /etc/samba/smb.conf [smb_share] comment smb share service path /share/ guest…