如何将AI能力与大数据技术结合,助力数据分析治理等工作的效率大幅提升,优化大数据引擎的性能及成本? 了解详情
写点什么

2019 年 DevOps 实践最有价值的技能 Top 8

  • 2019-04-12
  • 本文字数:1932 字

    阅读完需:约 6 分钟

2019年DevOps实践最有价值的技能Top 8

2018 年 DevOps 世界出现了一股 Kubernetes 浪潮,几乎每个供应商都开发了自己的 Kubernetes 产品,例如 NetApp Kubernetes,Puppet DevOps仪表板,RedHat 的 OpenShift 等等。


RedHat 的 DevOps 认证专家Shane Boulden,列出了 8 条最有价值技能的“DevOps Top 8”,方便 DevOps 从业人员或那些有志成为 DevOps 专家的人员带来一些经验教训。


  1. 部署和使用合适的 Kubernetes


Kubernetes是 DevOps 应用必须掌握的一个平台,允许开发人员和运营商使用相同的 API 管理平台和容器化应用程序。直接学习上游存储库的代码通常的效果会让自己越来越迷茫,建议选择下游的底层从头到尾学习。例如,可以选择OpenShift容器平台,以及最新的 OpenShift 迭代,全面地学习Operator框架


  1. 配置和管理基于微服务的可扩展应用程序


在 2019 年,部署和管理 Kubernetes 上的应用程序是 DevOps 从业者的基本技能。可以使用命令行工具(如“kubectl”)与 Kubernetes API 进行交互,甚至可以使用自定义脚本直接与 Kubernetes API 进行交互。例如,Python Kubernetes 客户端的’ load_incluster_config ',或者下载 API 来使用应用程序内的 pod 元数据。


部署可扩展的监控解决方案,通过产生的指标数据能更好地进行监控性能。例如,PrometheusGrafana。使用node_exporter通过 Prometheus 节点可以导出操作系统指标,使用Micrometer等库可以导出应用程序级指标。不论是开发人员还是运营商可以使用相同的监控基础架构,提高团队之间的工作效率。


  1. 掌握自动化工具


自动化一直是 DevOps 的核心,DevOps 领域的自动化专家能带来更高的可信度。在 2019 年,应该努力获得专家级的自动化工具知识,例如Ansible,Chef,Puppet 或直接使用 Bash。应该能够与开发人员一起轻松实现配置管理、测试和生产部署等所有方面的自动化,并且希望至少尝试使用“蓝绿”(blue-green)或“金丝雀”(canary)等自动高级部署技术。


Ansible可以在混合云中实现自动化配置和应用程序配置,利用Ansible Operators可以将自动化技能应用到 Kubernetes,并使用 Operator 框架管理复杂和有状态的应用程序。


  1. 容器化应用程序的最小化构建


创建基本的 Dockerfile 并调用应用程序“容器化”,如果只懂得这样处理就太落伍了。2019 年的 DevOps 从业者应该掌握如何优化容器化应用程序的构建,最小化容器的镜像文件,最小化运行时的依赖性。构建较小的映像意味着容器注册表中消耗的存储空间更少,并且最大限度地减少容器内的运行时依赖性使潜在攻击的攻击面最小。


不需要在已部署的容器中使用 GCC,但可能需要它来构建 Python 的依赖项。在这种情况下,最好使用多阶段容器构建 – 不再需要构建一体化的镜像,只要在注册表中为生产部署提供分阶段的强化、精简的 Alpine 基础镜像。


  1. 使用多个不同容器 runtime 进行交互


多年来,Docker 一直主导着 Linux 的容器世界,提供了简单的容器图像格式和易于使用的 CLI。Docker 在 2019 年的影响力正在逐渐减弱,它在 2018 年对其产品进行了一系列令人困惑的变化,以便将该平台货币化,其开源项目 Moby 的状态仍不明朗。2018 年还启动了一些新的开源容器计划,例如CRI-O,现在是 Kubernetes 的默认容器 runtime。对于 2019 年的 DevOps 从业者,Docker 仍然很重要,因为它牢牢扎根于开发人员和 IT 主管的词汇中。应该理解如何在 Docker 和其他容器 runtime 之间进行交互,比如 Docker 的 fat-daemon 模型和Podman的 fork/exec 模型,还要掌握它们如何与容器平台(如 Kubernetes)进行交互。


  1. 了解并可以管理委派的身份验证和授权


容器化应用程序的兴起意味着管理应用程序身份验证和授权的变化,尝试在容器内部打破 Kerberos 或 FreeIPA 客户端是很痛苦的,导致了许多黑客攻击来让工作正常进行。2019 年将使用 OpenID Connect 和 OAuth 2 等协议来创建易于扩展的应用程序架构,作为 DevOps 从业人员应该乐于使用 OpenID Connect 来提供身份验证,并管理应用程序的多因素验证。


  1. 成为操作系统专家级工程师


操作系统的角色在 2019 年没有改变,仍然是所有内容的基础,它决定了 DevOps 平台的成败。无论个人偏好是基于 Debian 还是基于 RedHat,或者是最新的容器优化的操作系统,成为核心操作系统管理和工程方面的专家仍然至关重要。例如,获得 RedHat 认证系统管理员和 RedHat 认证工程师的证书,为开发人员和运营商提供可信的保障,当任何事情发生时,可以直接访问操作系统并解决问题。


  1. 掌握最好的学习方式


DevOps 是一个不断变化、不断发展的世界,要努力继续缩短开发人员和运营商之间的反馈循环。随着框架的发展和流程的变化,了解如何最好地学习是很重要的。Shane Boulden 认为,无论是通过实践学习,还是直接阅读手册,都无关紧要,目标是尽可能高效地学习。



2019-04-12 07:008410
用户头像

发布了 40 篇内容, 共 30.7 次阅读, 收获喜欢 130 次。

关注

评论

发布
暂无评论
发现更多内容

【牛客刷题-算法】 NC19 连续子数组的最大和

清风莫追

数据结构与算法 10月月更

【牛客刷题-算法】1-算法入门-数据结构-栈

清风莫追

算法与数据结构 10月月更

能不能手写Vue响应式?前端面试进阶

bb_xiaxia1998

Vue

如何评判代码质量的好坏?如何具备写出高质量代码的能力?

共饮一杯无

Java 编码规范 10月月更

【CSS】:什么是z-index属性?该属性有哪些取值类型?

翼同学

CSS 前端 样式设置 10月月更

面试官:说说Event Loop事件循环、微任务、宏任务

loveX001

JavaScript

多线程——死锁的原因和解决方案

StackOverflow

编程 多线程 10月月更

spring-cloud-kubernetes与SpringCloud Gateway

程序员欣宸

Kubernetes spring-cloud 10月月更 spring-cloud-kubernetes

大画 Spark :: 网络 (8)-Spark 网络中的“四次握手”Driver 如何获取 Executor 的 EndpointRef 烧脑

dclar

大数据 hadoop spark 源代码 spark源码

从单机百万tpmc到分布式千万tpmc,GaussDB性能提升的3个关键技术剖析

乌龟哥哥

9月月更

promise执行顺序面试题令我头秃,你能作对几道

loveX001

JavaScript

【愚公系列】2022年10月 Go教学课程 015-运算符之赋值运算符和关系运算符

愚公搬代码

10月月更

启动 Hello Spring Security Boot 应用

HoneyMoose

腾讯云搭建wordpress网站超详细介绍

乌龟哥哥

9月月更

【牛客刷题-算法】 NC13 二叉树的最大深度

清风莫追

二叉树 数据结构与算法 10月月更

Java中的自旋锁和适应性自旋锁是什么意思?其分类依据是啥?

wljslmz

Java 自旋锁 10月月更 适应性自旋锁

【结构体内功修炼】结构体内存对齐(一)

Albert Edison

C语言 结构体 10月月更 内存对齐

GaussDB(DWS)如何实现实时,批量和交付式查询一站式开发

乌龟哥哥

9月月更

计算机网络——MAC地址、IP地址

StackOverflow

编程 计算机网络 10月月更

操作系统导论:分页

小白钊钊

操作系统 java; 10月月更

大数据ELK(九):使用VSCode测试分词器

Lansonli

ELK 10月月更

浅谈云原生安全

HummerCloud

云原生 云安全 云原生安全

多线程(进阶)

StackOverflow

编程 多线程安全 10月月更

linxu入门指令

乌龟哥哥

9月月更

在vue的v-for中,key为什么不能用index?

bb_xiaxia1998

Vue

阿里云搭建halo博客

乌龟哥哥

9月月更

CDC增量同步框架与关系/neo4j增量同步设计

中间件XL

问:React的setState为什么是异步的?

beifeng1996

React

React面试:谈谈虚拟DOM,Diff算法与Key机制

beifeng1996

React

When allowCredentials is true, allowedOrigins cannot contain the special value ___ since that cannot be set on the _Access-Contr

共饮一杯无

Java springboot 10月月更

测试

乌龟哥哥

9月月更

2019年DevOps实践最有价值的技能Top 8_容器_Shane Boulden_InfoQ精选文章