DevOps 2020:值得关注的九大发展趋势

系统运维2025-11-05 16:01:4811

 

软件开发一路走来先后经历了不同发展阶段,关注从以往的发展瀑布式方法到敏捷交付,再到 DevOps,趋势软件开发从未停止前进的关注步伐。以 Kubernetes 为例,发展作为推动 DevOps 的趋势核心助力之一,这款容器编排工具实现了多主集群选项的关注标准化,并带来了新一轮生产力提升。发展

目前,趋势DevOps 已经实现了代码与流水线层面的关注自动化。随着 AI 技术在 2020 年逐步成为常态,发展开发人员将借助 AI 工具获取到更多的趋势大数据管理控制权;当数据库管理与 DevOps 结合之后,可供我们分析的关注大数据素材就越多,软件功能也会越丰富,发展因此,趋势在未来,我们可以看到更多 DevOps 与各类数据库管理方案的集成。

在本文中,我们将探讨在 2020 年值得关注的 DevOps 九大未来发展趋势。

1. DevOps 的自身优势有哪些?

根据百度百科的解释,DevOps 是一种重视“软件开发人员(Dev)”和“IT 运维技术人员(Ops)”之间沟通合作的文化、亿华云计算运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。其主要优势体现一下三个方面:

从软件开发到部署,DevOps 能够显著减少整个软件交付流程当中所需要的人手数量,从而降低时间需求与潜在错误。如今,在 DevOps 周期当中使用自动化测试工具已经成为很多开发者的默认选项。

由于开发人员与运营团队团结在统一的 DevOps 文化之下,因此以往常见的沟通不畅与工作冲突能够得到有效缓解。

随着 DevOps 的实施,我们可以在开发周期早期快速解决 bug 修复问题。

除此之外,DevOps 的优势还在于允许开发者在较短时间内部署新代码、快速更新并完成升级等等。

2. 2020 年 DevOps 九大发展趋势

作为 2020 年需要重点关注的技术方向,我们总结了在新的一年中,DevOps 的九大最新发展趋势。

1. 充分运用机器学习的力量

机器学习与人工智能已经成为数字化领域的IT技术网焦点。在未来几年当中,随着 AI 技术的进一步普及,DevOps 也将迎来智能化升级。

如今,可用数据总量正快速增长,AI 技术将帮助 DevOps 从大数据处理当中得到实际助益,进而通过之前难以想象的方式改善应用程序开发流程(以及相关分析与研究流程);已经实现自动化的 CI/CD 流水线也将完成自动化提升,最终将流程内的人工干预需求削减至最低水平。虽然 AI 与 ML 技术的具体实现仍将充满挑战,但由此带来的成果十分值得期待。

鉴于此,自动化测试框架的质量提升将成为新一年内必须达成的核心目标。如今,LambdaTest 等自动化测试解决方案的出现不仅为用户提供坚实的基础设施,而且附带一系列补充性功能,足以在增加跨浏览器测试体验的同时帮助开发者更快交付软件产品。

2. 云服务供应商的地位将进一步提升

2020 年,云服务供应商将更加专注于无服务器 DevOps 解决方案,同时将会迎来相应客户群体的爆发式增长。b2b供应网这类解决方案不仅具备显著的成本效益,同时也降低了 DevOps 的实施门槛。开发人员无需维护运行代码的硬件与软件——一切交给云服务商,用户可以集中精力搞开发。

3. Compliance-As-Code:DevSecOps

随着恶意攻击者的持续肆虐,安全性将在新一年中继续成为人们的关注重点。开发人员目前正在全面而彻底地贯彻合规性保障,同时着力改善 DevOps 中的安全性水平。对于发现安全漏洞之后如何发布更新代码,开发者们一直保持着警惕的心态。DevSecOps 的出现有望解决这一问题,并在 2020 年逐步在更多业务环境中发挥重要作用。

4. 模块化软件:微服务

2020 年,越来越多的企业将逐步告别大型单体式应用程序,转而迎接模块化应用程序的兴起。模块化应用程序,就是将以往的单体式应用程序拆分为若干个逻辑模块。这意味着开发者能够独立更新各个模块,且不必担心对应用程序的整体稳定性造成破坏。

简而言之,到 2020 年,微服务架构的普及度将进一步提高。

5. 推动 CI/CD 流水线的实现

为了将 CI 与 CD 原则推向极致,我们需要在 DevOps 情境之下,弥合软件交付环境中各协作部门之间的对接鸿沟。开发人员、测试团队、运营团队、SecOps 团队乃至软件版本管理团队等,都需要以有组织的方式进行协调,从而推动 CI/CD 流水线的真正实现。

6. 编码将成为最重要的核心技能

自动化无疑是 DevOps 领域的重中之重。截至目前,CI/CD 流水线仍然需要大量人为干预。展望新的一年,这种人为干预有望得到进一步削减。脚本编写、机器学习应用以及全面自动化都将成为常态,同时这也意味着运营团队也需要加入脚本编写大军。此外,测试人员也需要掌握编码技能,否则将无法融入新的软件开发体系。

7. 进一步关注左移策略

随着安全问题的快速升级,左移(shift-left)策略的重要性也将大大提高。管理员不再需要坐等产品开发出现了 bug 或者安全漏洞之后才被动介入;相反,开发人员能够主动检查流水线中的安全问题,并采取适当的应对措施。过去一年中,这方面举措已经开始兴起,并将在 2020 年内得到更多人的认同。这种左移策略还将帮助我们在开发周期早期,快速适应可能出现的一切产品变更。

8. 基础设施即代码

随着云服务采用率的上升,IaaS 需求也将水涨船高。开发人员不再需要配置单独的服务器、数据中心以及虚拟机——所有内容都将以脚本的形式编写完成。

以此为基础,软件开发相关成本将逐步降低,并不断强化此类编码基础设施的灵活性。无论各位管理员身处何地,都能随时使用基础设施资源。另外,随着基于逻辑的运营方法越来越受到关注,FaaS 也将保持增长。事件驱动型服务器容量使用方式将成为常态——换句话说,由于全部内容都将遵循严格的“If-This-Then-That”逻辑,云服务器管理负担也将随之消散。以此为基础,云服务器自身将能够准确判断何时需要提供更多计算容量,何时可以降低容量供应以控制运营成本。

9. 数据库管理的兴起

DevOps 已经全面实现了代码与流水线的自动化。随着 AI 在 2020 年的普及,开发人员将借助 AI 工具获取更为灵活多样的大数据管理控制能力。这意味着数据库管理将与 DevOps 流程深度结合。分析的大数据素材越多,软件功能也就越丰富。DevOps 体系也将迎来新成员——数据库管理。

3. 总结

DevOps 之所以令人着迷,核心就在于其强大的适应性。由于大部分 DevOps 工具属于开源项目,因此企业可以根据自身需求对工具做出微调。Kubernetes、Docker 以及 Jenkins 都属于开源成果,而且这种开源趋势也将在 2020 年继续保持下去。有趣的是,曾经将开源称为“癌症”的微软公司现在也开始支持开源工具甚至是 Linux Kernel。新的一年当中,我们应该会迎来开源工具与操作系统的又一轮伟大崛起。

几年之前,Kubernetes 曾推出一项革命性的改进——多集群联合,这一重大成果将在未来几年内持续普及。从目前来看,现有软件开发方法还无法发挥 DevOps 的全部潜能,但随着 AI 与云服务的兴起,DevOps 文化终将成为新的客观标准。虽然 2020 年才刚刚拉开帷幕,但相信我们将踏实稳健地向着这个方向迈进。

2020 年,DevOps 领域将迎来一系列有趣的变化,但可以肯定的是——DevOps 仍将保持重要地位,而且是愈发重要的市场地位。因此,我们在这里建议大家深入学习 Kubernetes、Docker 以及其他 DevOps 工具,相信这方面技能将成为新一年中驱动职业生涯发展的强劲动力。 

本文地址:http://www.bzve.cn/news/89b65299258.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

热门文章

全站热门

安卓与WP系统的比较分析(探究两大主流手机系统的优劣势及未来发展趋势)

假如你想要使用多个Linux发行版,你没有那么多的选择。你要么安装到你的物理机或虚拟机中,要么以live模式从ISO文件启动。第二个选择,对硬盘空间需求较小,只是有点麻烦,因为你需要将ISO文件写入到U盘或CD/DVD中来启动。不过,这里还有另外一个可选的折中方案:把ISO镜像放在硬盘中,然后以live模式来启动。该方案比完全安装更省空间,而且功能也完备,这对于缓慢的虚拟机而言是个不错的替代方案。下面我将介绍怎样使用流行的Grub启动加载器来实现该方案。很明显,你将需要使用到Grub,这是几乎所有现代Linux发行版都使用的。你也需要你所想用的Linux版本的ISO文件,将它下载到本地磁盘。最后,你需要知道启动分区在哪里,并怎样在Grub中描述。对于此,请使用以下命令:复制代码代码如下:# fdisk -l 带有‘*’的就是启动分区。对于我,就是/dev/sda1,用Grub语言描述就是(hd0,1)。作为参考,sda2就是(hd0,2),sdb1就是(hd1,1),以此类推。(你明白了吧。)我们需要编辑什么?首先,打开/etc/default/grub并检查以下行:复制代码代码如下:#GRUB_HIDDEN_TIMEOUT=0需要在此行前添加‘#’进行注释。保存,然后打开/etc/grub.d/40_custom。在该文件中,你将添加启动到ISO的参数。结构如下:复制代码代码如下: menuentry [Entrys title in the grub screen] { set isofile=[path to ISO file] loopback loop [boot partition in Grub language]$isofile [some specific] arguments }例如,假如你想要从ISO文件启动Ubuntu,那么你就是想要添加如下行到40_custom文件:复制代码代码如下:menuentry Ubuntu 14.04 (LTS) Live Desktop amd64 { set isofile=/boot/ubuntu-14.04-desktop-amd64.iso loopback loop (hd0,1)$isofile linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash initrd (loop)/casper/initrd.lz } 假如你想要启动Gparted:复制代码代码如下:menuentry GParted Live amd64 { set isofile=/boot/gparted-live-0.18.0-2-amd64.iso loopback loop (hd0,1)$isofile loopback loop $isofile linux (loop)/live/vmlinuz boot=live config union=aufs noswap noprompt ip=frommedia toram=filesystem.squashfs findiso=${isofile} initrd (loop)/live/initrd.img }或者甚至是Fedora:复制代码代码如下:menuentry Fedora 20 Live Desktop x86_64 { set isofile=/boot/Fedora-Live-Desktop-x86_64-20-1.iso loopback loop (hd0,1)$isofile loopback loop $isofile linux (loop)/isolinux/vmlinuz0 root=live:CDLABEL=Fedora-Live-Desktop-x86_64-20-1 rootfstype=auto ro rd.live.image quiet rhgb rd.luks=0 rd.md=0 rd.dm=0 iso-scan/filename=${isofile} initrd (loop)/isolinux/initrd0.img }注意,参数可根据发行版进行修改。幸运的是,有许多地方你可以查阅到。我喜欢这个发行版,但是还有很多其它的发行版你可以启动。同时,请注意你放置ISO文件的地方。假如你的家目录被加密或者无法被访问到,你可能更喜欢将这些文件放到像例子中的启动分区。但是,请首先确保启动分区有足够的空间。最后,不要忘了保存40_custom文件并使用以下命令来更新grub:复制代码代码如下: # sudo update-grub 以便在下次启动时看到修改。接下来做什么?想要更多东西?好吧,那就修改下参数来玩玩。你可以启动一个ISO文件,并让它持续做一些事情。例如,假如你是个彻头彻尾的妄想症患者,想要有个可以快速清除硬盘的选项,那么可以使用DBAN来进行一些设置。现在,真的要当心啊,因为此设置会清除你的硬盘,而且在启动时也没有恢复选项:复制代码代码如下: menuentry Dariks Boot and Nuke { set isofile=/boot/dban.iso loopback loop (hd0,1)$isofile linux (loop)/dban.bzi nuke=dwipe silent }另外一个选择复制代码代码如下:menuentry Dariks Boot and Nuke { set isofile=/boot/dban.iso loopback loop (hd0,1)$isofile linux (loop)/dban.bzi }可以显示DBAN选项,让你选择清除驱动器。当心,因为它仍然十分危险。小结一下,对于ISO文件和Grub有很多事情可做:从快速live会话到一键毁灭,都可以满足你。之后,你也可以试试启动一些针对隐私方面的发行版,如Tails。

执行命令:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下: 复制代码代码如下:复制代码代码如下: 解决办法在/etc/resolvconf/resolv.conf.d/head文件中写入DNS。复制代码代码如下: 复制代码代码如下:/etc/init.d/networking restart

1. 下载Sublime Text 2在官网下载对应系统位数的版本,从压缩包中提取出源代码,解压后文件夹中的sublime_text双击即可直接运行。2. 建立快捷链接将整个文件夹Sublime拷贝到 /opt 目录下,然后打开终端输入以下命令为sublime_text建立链接:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:import urllib2,os;pf=Package Control.sublime-package;ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),wb).write(urllib2.urlopen(http://sublime.wbond.net/+pf.replace( ,%20)).read())重启Sublime Text 2,假如在Perferences->package settings中看到package control这一项,则安装成功。6. 使用Package Control安装插件按下Ctrl+Shift+P调出命令面板,输入install 调出 Install Package 选项并回车,然后在列表中选中要安装的插件。

品味全城(探索城市美学,感受品味全城的独特魅力)

There are many ways to control brightness. According to this discussion[1] and this wiki page [2], the control method could be divided into these categories: brightness is controlled by vendor specified hotkey. And there is no interface for OS to adjust brightness. brightness could be controlled by ACPI ACPIIt is often possible to adjust the backlight by ACPI. This controls the actual LEDs or cathodes of the screen. When this ACPI option is available, the illumination is controllable using a GUI slider in the Display/Screen system settings or by simple commands on the CLI. Different cards might manage this differently. Check /sys/class/backlight to find out: # ls /sys/class/backlight/intel_backlight The directory contains the following files and folders: actual_brightness brightness max_brightness subsystem/ uevent # cat /sys/class/backlight/acpi_video0/max_brightness # echo 5 >/sys/class/backlight/acpi_video0/brightness acpi_osi=Linux acpi_backlight=vendor acpi_osi=Linux acpi_backlight=legacy 看了这个之后,很显然,问题就在于acpi_backlight=vendor will prefer vendor specific driver (e.g. thinkpad_acpi, sony_acpi, etc.) instead of the ACPI video.ko driver. 本文来源:博客园 作者:浮沉雄鹰

作为一个经常喜欢敲命令的人,可能要同时做很多操作,Linux各个桌面的窗口切换有多那啥,这里就不吐槽了, 我总是在想要做另外一个操作,但又不想结束当前的工作,之前我习惯于再打开一个终端,但是后来终端越来越多导致我想找回原来的工作的时候就变的很费力,而且对桌面有洁癖的人不允许任务栏太杂 后来发现了一款终端软件terminator,它支持分割终端,并可以在终端中快速切换.还有一款下拉式的终端软件Guake可以随意呼出隐藏.下面就一一介绍一下.1 安装Terminator复制代码代码如下:2 使用复制代码代码如下:复制代码代码如下:3 Guake复制代码代码如下:在文本模式的环境中使用一个窗口管理器 – 这听起来有点不可思议, 是吧? 然而,你应该记得当 Web 浏览器第一次实现分页浏览的时候吧? 在当时, 这是在可用性上的一个重大进步,它减少了桌面任务栏的杂乱无章和繁多的窗口列表。 对于你的浏览器来说,你只需要一个按钮便可以在浏览器中切换到你打开的每个单独网站, 而不是针对每个网站都有一个任务栏或导航图标。 这个功能非常有意义。若有时你同时运行着几个虚拟终端,你便会遇到相似的情况; 在这些终端之间跳转,或每次在任务栏或窗口列表中找到你所需要的那一个终端,都可能会让你觉得麻烦。 拥有一个文本模式的窗口管理器不仅可以让你像在同一个终端窗口中运行多个 shell 会话,而且你甚至还可以将这些窗口排列在一起。另外,这样还有另一个好处:可以将这些窗口进行分离和重新连接。想要看看这是如何运行的最好方式是自己尝试一下。在一个终端窗口中,输入 screen (在大多数发行版本中,它已经默认安装了或者可以在软件包仓库中找到)。 某些欢迎的文字将会出现 – 只需敲击 Enter 键这些文字就会消失。 现在运行一个交互式的文本模式的程序,例如 nano, 并关闭这个终端窗口。在一个正常的 shell 对话中, 关闭窗口将会终止所有在该终端中运行的进程 – 所以刚才的 Nano 编辑对话也就被终止了, 但对于 screen 来说,并不是这样的。打开一个新的终端并输入如下命令:复制代码代码如下:复制代码代码如下:复制代码代码如下:上图中, tmux 开启了两个窗格: 左边是 Vim 正在编辑一个配置文件,而右边则展示着指导手册页。

你可能已经知道如何将你的 Ubuntu 桌面升级到最新版本了,不过假如你用的 Ubuntu Server,而且也正好又希望升级一下的话(前提是,不会影响你的应用。一般来说,对于服务器操作系统,应该采用保守态度。假如不是必须升级才能解决的安全问题,最好不要升级,而是采用各种外部手段来解决。)假如想从Ubuntu14.04/13.10/13.04/12.10/12.04或者更老的版本升级到14.10,只要遵循下面给出的步骤。注意,你不能直接从13.10升级到14.10。你应该先将13.10升级到14.04在从14.04升级到14.10。下面是详细步骤。下面的步骤不仅能用于14.10,也兼容于一些像Lubuntu14.10,Kubuntu14.10和Xubuntu14.10等的Ubuntu衍生版本重要:在升级之前,保险起见,不要忘了将你的数据在U盘或外部硬盘上保存一下。服务器升级从ubuntu14.04的服务器升级到14.10的服务器,采用下面的步骤。安装update-manager-core 这个包假如之前没唷安装的话:复制代码代码如下:sudo apt-get install update-manager-core编辑 /etc/update-manager/release-upgrades这个文件。复制代码代码如下:sudo nano /etc/update-manager/release-upgrades像下面那样设置Prompt=normal或者Prompt=lts复制代码代码如下:# Default behavior for the release upgrader. [DEFAULT] # Default prompting behavior, valid options: # # never - Never check for a new release. # normal - Check to see if a new release is available. If more than one new # release is found, the release upgrader will attempt to upgrade to # the release that immediately succeeds the currently-running # release. # lts - Check to see if a new LTS release is available. The upgrader # will attempt to upgrade to the first LTS release available after # the currently-running one. Note that this option should not be # used if the currently-running release is not itself an LTS # release, since in that case the upgrader wont be able to # determine if a newer release is available. Prompt=normal现在可以通过下面的命令来更新你的服务系统了。复制代码代码如下:sudo do-release-upgrade -d直到屏幕提示你已完成。

热门文章

友情链接

滇ICP备2023006006号-39