为什么开发人员应该学习 Kubernetes?
作者 | Steve Tidwell
译者 | 弯月 责编 | 晋兆雨
出品 | CSDN(ID:CSDNnews)
近年来,受容器软件开发工作流的推动,Kubernetes 作为部署容器的首选平台,采用率出现了大幅增长。
自 2016 年以来,云原生计算基金会每年都会进行一项调查,以评估各种工程组织采用容器与云原生技术的情况。根据云原生计算基金会 2020 的调查数据显示,92% 的公司的生产都运行了容器,其中 83% 的公司使用 Kubernetes 作为编排工具。
同时,还有许多组织采用了开发运维(DevOps)以及站点可靠性工程 (SRE) 最佳实践来提高应用程序的可靠性,并缩短交付新应用程序功能所需的时间。
采用了这些技术的工程团队看到了合并运维与开发最佳实践的好处。运维团队逐步走向服务和软件,而开发团队也开始了解部署应用程序的平台和环境。
近年来,大部分软件开发的重点都放在了运维最佳实践的应用上,因此交付周期明显缩短,可靠性也得到了明显的改善。但有时,开发团队并不具备在开发环境之外操作应用程序的运维技术。
虽然构建和交付容器化的应用程序不需要维护独特的开发环境,但开发人员必须了解容器运行时的工作方式,特别是使用 Kubernetes 之类的编排程序,在生产中尤其如此。开发人员可能不需要掌握整套的运维技能,但他们需要充分了解 Kubernetes 和生产环境,才能成为开发运维团队的一员。
左移
随着开发运维与SRE的普及,软件开发领域出现了很多关于“左移”的讨论。这里的“左移”本质上指的是集中精力在软件开发生命周期的早期阶段检测并预防问题,以提高整体质量。更强大、自动化的持续集成/持续交付管道以及测试实践就是最好的例子。
左移也适用于运维最佳实践。以前,开发人员在编写完应用程序后,就会将它们交给运维部门部署到生产环境中。后来,情况发生了巨大变化,旧时的方法都逐步被弃用了。
了解应用程序所处的平台至关重要。成功的工程组织会努力避免开发团队与运维团队的孤立。他们的目标是在软件开发生命周期的早期阶段展开协作,以便参与该过程的所有团队都能很好地理解代码、构建、测试和部署。
开发人员不需要成为 Kubernetes 专家,但他们必须掌握可能影响到应用程序性能的技能,比如CI/CD、生产部署、监控CPU与内存的使用状况以及集群和 Pod 的运行状况。
了解有关组织所使用的应用程序平台和工具的一些基础知识,对于提高开发以及运维效率大有裨益。掌握这些技术可以帮助开发人员更快速、更有效地响应事件,在出现问题时,无需升级到另一个团队即可解决问题。
开发人员和运维团队需要知道什么
开发人员和运维工程师需要对彼此的工作有一些了解。
他们需要了解与其他提供商相比,他们选择的云提供商的各种服务与功能的特点。无论是公共云、私有云还是混合云,这些知识都是通用的。
他们需要意识到应用程序所耗费资源的成本,并了解如何从开发人员的角度降低成本和消除浪费。设置云环境和基础设施非常简单,但这也意味着,我们很容易忘记如果资源管理不善,成本就会迅速飙升。例如,如果自动缩放策略设置不正确,就会对成本造成巨大影响。
他们需要了解应用程序的性能管理,尤其是用于分析和改进应用程序性能的工具和技术。
他们需要了解正确的事件响应技术,以便在事件发生时及时处理,并在适当的时候向上汇报。开发运维的基本原则之一是接受并找到缓解故障的方法,因此在事件出现时高效的处理至关重要。
他们需要在开发和运维之间建立反馈循环,以便所有团队都知道他们的工具或应用程序中的缺陷,以及开发人员如何修正这些问题。共享工具和环境的所有权是最佳鼓励方式。
那么,开发人员应该了解哪些 Kubernetes 的知识呢?
组织中 CI/CD 系统的工作方式,从概念到生产,从代码签入到构建、测试和部署。
Kubernetes 的 pod 及其与容器的关系。
应用程序与 Kubernetes 的交互方式,包括服务、DNS 以及负载均衡。
了解本地测试部署和建模应用程序部署方式的常用工具,例如 minikube、kubectl、helm、kind 和 Kubernetes 仪表板。
在出现问题时监控、记录和调试集群和容器。
当然,为了运维团队和开发团队可以更好地展开协同,双方所需要学习的知识还很多,上述内容只是一个良好的开头。
原文链接:https://thenewstack.io/why-developers-should-learn-kubernetes/
声明:本文由CSDN翻译,转载请注明来源。
开发者必备的知识图谱来啦!60+专家,13个技术领域,CSDN 《IT 人才成长路线图》重磅来袭!直接扫码或微信搜索「CSDN」公众号,后台回复关键词「路线图」,即可获取完整路线图!
为什么开发人员应该学习 Kubernetes?相关推荐
- 开发人员如何学习 Kubernetes
虽然"容器编排平台"还没有被整个行业大范围采用,但在这一领域 Kubernetes 已经战胜其他选手,成为了事实标准.近两年的 Web 开发技术社区,随便打开一两个群,你都能看到人 ...
- 为什么 Web 开发人员需要学习一个 JavaScript 框架?
原文链接 可能当我们结束本文时,一个新的 Javascript 框架已经在某处启动了.但这确实不在我们的控制范围内.因此,我们应该简单地继续我们所拥有的.至少,由于免责声明,我们可以确定我们不是在发明 ...
- “实践与理论相结合”是开发人员的学习之道
"实践与理论相结合"这句话最常见的是一些官方的报导中,一听到这种教条主义就会嗤之以鼻,太空泛,无任何实际意义.今天就借射雕英雄传中郭靖学习武功,领悟九阴真经的过程来讲一讲" ...
- 为什么推荐 Java 开发人员都学习并使用 Kotlin?
我使用 Java 已经有很长的时间了,工作中的使用有15年.如果算上在学校的时间的话,那就更长了.Java 的一个很大的优势是平台的开放性.这得益于 Java 字节代码和虚拟机的存在.由于 Java ...
- 软件开发人员PMP学习与考试心得
背景 从事软件开发及软件项目开发管理将近20年,期间参加过公司组织的若干次项目管理方面的培训,包括PMP.PRINCE 2等.通过这些培训,对软件项目管理标准和知识体系有了一定的了解,对之后的工作也带 ...
- css3与android,Android开发人员不得不学习的CSS3基础
CSS3 是 CSS 的升级版,和 CSS 一样都是控制网页的样式和布局的,但是新增了很多种属性便于我们更好的给 Html 元素设置样式. 边框 用 CSS3,你可以创建圆角边框,添加阴影框,边框有以 ...
- 电控 应用层开发 学习_阿里巴巴如何改善开发人员在 K8s 上的体验?
作者:邓洪超 阿里巴巴应用交付专家 前言 通过 K8s,用户能够自定义基础设施,可以平行的替换或改造平台的已有功能,而非只能局限在平台提供的能力之上构建.但正是这样的"白盒化"体验 ...
- 有抱负的 Web 开发人员应该在 2021 年学习的 10 件事
大家好,如果您是一名 Web 开发人员,并且想知道 2021 年应该学习哪些内容以将您的技能提升到一个新的水平,或者想在 2021 年成为一名前端开发人员,但不确定哪些技术.工具.框架.语言,和图书馆 ...
- 软件开发人员的学习计划_经常与开发人员混在一起培养创新和学习的文化
软件开发人员的学习计划 Without skilled developers, the Scrum Framework is no more than lipstick on a pig. Havin ...
最新文章
- 没想到!大数据发现微信上使用最多的表情竟是...原谅很多人不知道
- json - 使用 json-lib
- java io nio socket_通过socket编程掌握IO流 —— NIO
- 我是如何学习写一个操作系统(六):进程的调度
- 中学计算机教育未得到重视,新时期中学计算机教学现状和发展趋势研究
- macpro台式计算机,Mac Pro正式上架 真的可以用来刨土豆丝
- 第 37 章 ACOS - CLI
- 总线与微命令实验总结_【干货】总线制?分线制?分不清楚看看这篇文章就知道了...
- springboot租房管理系统答辩PPT模板
- 常见的web前端面试试题(含答案)
- 招聘 | 清华大学计算机系知识工程实验室博士后
- 来自网页的消息服务器不能创建对象,电脑IE浏览器提示“Automation服务器不能创建对象”怎么办...
- 计算机有很多的优点英语,电脑的优点和缺点英文作文
- ARP 项添加失败: 请求的操作需要提升
- docker-sync 加速 Laravel Sail 代码同步
- 在 vue 中使用 SVG 建立图标系统并且使用
- 用CSS做的简单弹窗
- SitePoint播客#38:猫的大脑
- 某公司服务器故障导致数据库文件丢失的恢复过程
- 游戏感:虚拟感觉的游戏设计师指南——第九章 润色的测量方法