有些人认为云原生生态系统具有很高的进入门槛。乍一看,这似乎是一个合理的假设。云原生项目中使用的某些技术是复杂且具有挑战性的,如果您不熟悉它们,您可能会认为需要经过验证的专业知识才能参与其中。
然而,外表可能具有欺骗性。本文提供了详细的路线图,以开源贡献者的身份打入云原生生态系统。我将介绍云原生架构的支柱、云原生计算基金会 (CNCF) 以及赚取更多收入的方法。
最重要的是,在让您掌握云原生实践和社区的基础知识之后,本文提供了入门的三步指南。
什么是云原生?
当程序被明确开发为在云计算平台上集成、托管和运行时,它就是云原生的。这样的应用程序具有云的固有特性,例如可移植性、模块化和隔离性,并且它适应云服务提供商 (CSP) 的云部署模型。
云计算是通过互联网提供托管服务的通用术语。它通常意味着计算机集群、分布式文件系统和容器。云可以是私有的或公共的。云计算分为三大类:平台即服务 (PaaS)、软件即服务 (SaaS) 和基础设施即服务 (IaaS)。
从商业角度来看,云计算意味着公司选择通过互联网或云获取 IT 服务,并按使用量付费,而不是在数据库、软件和硬件上投入巨资。
云原生基础设施
云原生基础设施包括数据中心、操作系统、部署管道、配置管理以及完成应用程序生命周期所需的任何系统或软件。这些解决方案使工程师能够以极少的努力进行快速、高影响力的修改,实施新的设计,并在公共云、私有云和混合云上执行可扩展的应用程序。
云原生架构
云架构是旨在利用云服务的系统。它利用了云开发模型的分布式、可靠、可扩展和灵活的特性。网络、服务器、数据中心、操作系统和防火墙都被抽象化。它使企业能够将应用程序设计为松散耦合的组件,并使用微服务架构在动态平台上执行它们。
有一些技术可以被认为是云原生架构的支柱。
微服务是一种架构系统,其中软件系统由通过定义明确的应用程序编程接口 (API) 进行通信的小型独立服务组成。这种开发方法使应用程序开发速度更快、可扩展性更强,从而鼓励创新并加快新功能上市时间。微服务支持使用 RESTful API 在应用程序之间进行通信,并支持独立部署、更新、扩展和重启。
DevOps 指的是促进应用程序开发团队和 IT 运营团队之间更好沟通和协作的理念、实践和工具。DevOps 流程的优势包括
- 实现自动化的发布管道和集成
- 确保快速部署到生产环境
- 鼓励开发部门与其他部门之间的协作
持续集成和持续交付 (CI/CD) 指的是一套实践,其中包括软件开发的文化、操作原则和程序。CI/CD 实践侧重于从集成和测试阶段到交付和部署的应用程序生命周期中的自动化和持续监控。CI/CD 的优势包括
- 实现频繁发布
- 更快地交付软件
- 接收及时的反馈
- 降低发布风险
容器是一个软件包,其中包含在任何环境中运行所需的所有组件(二进制文件、库、编程语言版本等),使其可以在笔记本电脑、云端或本地数据中心中运行。容器是微服务的最佳载体。
什么是 CNCF?
CNCF 是 Linux 基金会于 2015 年成立的项目,旨在帮助推进容器技术并使科技行业围绕其发展保持一致。作为 Linux 基金会的子组织,它由开源项目集合组成,这些项目受益于庞大而充满活力的程序员社区的持续贡献。
CNCF 社区的创始成员包括 Google、IBM、红帽、Docker、华为、英特尔、思科等公司。如今,CNCF 得到了 450 多个成员的支持。其使命是培养和维持围绕云原生的开源、供应商中立的项目。
Kubernetes 可能是 CNCF 最著名的项目。该项目由 Google 作为种子技术贡献给 Linux 基金会,此后通过自动化基于容器技术的应用程序的部署、扩展和管理证明了其价值。
学习云原生
有许多资源可以帮助您了解云原生架构和技术的基础知识。您可以从以下资源开始
- 云原生词汇表:云原生词汇表是由 CNCF 商业价值小组委员会领导的项目,是讨论云原生应用程序时常用术语的参考。它的目的是帮助用清晰明了的语言解释云原生概念,特别是对于那些没有先前技术知识的人。
[ 更多资源:Kubernetes 词汇表 ]
云原生社区
在 CNCF 项目之外,还有一些其他的云原生社区和倡议旨在维持和维护这些基于云的项目。它们包括
- 特别兴趣小组 (SIG) 和工作组 (WG):SIG 围绕培训和开发中不同的云原生元素而成立。这些小组每周开会并讨论社区活动。您也可以启动一个新的新 SIG。
- 云原生社区小组:有众多聚会小组专注于在全球范围内扩展云原生社区。许多小组都有您可以参与的定期会议。
- CNCF TAG 网络:TAG(技术咨询小组)网络的使命是实现云原生环境中弹性且智能的网络系统的广泛而成功地开发、部署和运营
免费培训课程
Linux 基金会提供一些培训课程,为初学者提供云技术的初步知识。其中一些课程包括
付费认证
CNCF 还提供付费认证计划,以测试和提高您从零基础到专家的云原生技术知识。这些认证已被证明是对从业人员职业生涯的极大补充。
- Kubernetes 和云原生助理 (KCNA):KCNA 认证使候选人做好使用云原生技术的准备,并进一步追求 CNCF 认证,如 CKA、CKAD 和 CKS(见下文)。
- 认证 Kubernetes 应用程序开发人员 (CKAD):Kubernetes 认证应用程序开发人员可以为 Kubernetes 设计、构建、配置和公开云原生应用程序,定义应用程序资源,并使用核心原语在 Kubernetes 中创建、监控和排除可扩展应用程序和工具的故障。
- 认证 Kubernetes 管理员 (CKA):认证 Kubernetes 管理员已证明有能力完成生产级 Kubernetes 集群的基本安装、配置和管理。他们了解关键概念,例如 Kubernetes 网络、存储、安全性、维护、日志记录和监控、应用程序生命周期、故障排除和 API 原语。CKA 还可以为最终用户建立主要用例。
- 认证 Kubernetes 安全专家 (CKS):获得 CKS 证明您拥有在构建、部署和运行时保护基于容器的应用程序和 Kubernetes 平台所需的技能。CKS 有资格在专业环境中执行这些任务。
- Cloud Foundry 认证开发人员 (CFCD):CFCD 认证非常适合希望使用 Cloud Foundry 平台验证其部署和管理应用程序技能的候选人。
- FinOps 认证从业人员 (FOCP):FOCP 将带来对 FinOps 的深刻理解,FinOps 是一种运营框架,结合了技术、财务和业务,通过云转型实现业务和财务目标。从业人员支持和管理 FinOps 生命周期,并管理组织中云资源的成本和使用情况。
所有这些都可以在Linux 基金会培训和认证目录中找到。
分三步开始您的云原生之旅
现在您已经掌握了所有这些信息,您可以选择您想要采取的方向。如果您被这些选项弄得不知所措,只需逐步进行即可
- 了解基础知识:由于大多数云原生技术的复杂性,对此生态系统不熟悉的人应该对核心概念有初步了解。容器化、编排、云/基础设施以及单体和微服务架构的基础知识是一个好的开始。
- 确定云原生社区或项目:如今存在超过300 个云原生社区。通过这些已建立的团体打入云原生社区要容易得多。虽然其中一些社区是维持云原生项目的倡议,但其他社区则有提供云原生服务的项目。您可以从参与这些社区中的任何一个开始您的旅程。研究与您的兴趣相符的团体和项目,然后按照入门步骤操作并熟悉它们背后的项目。
- 在社区内找到一个利基市场:由于大多数云原生社区都是开源的,因此社区的多样化技能派上了用场。探索与您的技能和兴趣相符的各种机会,无论是前端、后端、开发者关系 (DevRel)、运营、文档、项目管理还是社区关系。根据您的技能和经验,更容易为具有明确利基市场的云原生项目做出贡献。
现在您已经对云原生生态系统有了基本的了解,无论是从技术角度还是社区角度来看。您现在可以进一步扩展您的知识并参与其中。一旦您这样做,请记住本着开源的精神与他人分享您的旅程!
1 条评论