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

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

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

部署和使用合适的Kubernetes

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

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

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

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

掌握自动化工具

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

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

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

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

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

使用多个不同容器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)进行交互。

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

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

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

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

掌握最好的学习方式

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

Openshift
Containers
DevOps
Docker
Podman
 

猜你喜欢

转载自blog.csdn.net/zl1zl2zl3/article/details/89674584