我的云原生故事:云原生专家视角带你了解什么是云原生

Linux基金会希望助力更多开发者们加入开源。 在Linux基金会培训及认证部门每年设立的LiFT奖学金 (LFOSSA人才激励计划)中,也包含一个特别针对云原生专家而设立的类别。 这次介绍的LFOSSA人才激励计划之类别就是:云原生领航员 - 「生于云,长于云」,专注云原生技术实践的人士。下滑查看文章详情。

最新资讯

2024-04-26 27

我的云原生故事:云原生专家视角带你了解什么是云原生
这次开源故事的主角是张晓辉,LFOSSA人才培养计划2023年度开源明星奖得主 (LFOSSA人才激励计划云原生领航员类别),LFAPAC开源布道者,同时是CNCF大使,持有CKA证书。

张晓辉作为一名资深码农,有多年的微服务和基础架构实践经验,主要工作涉及微服务、容器、Kubernetes、DevOps 等。他期待探索更先进的云原生技术并通过分享知识和经验为开源社区做出贡献。

image.png

姓名:张晓辉

职业:程序员

码龄:16

最爱的开源项目:Kubernetes、Pipy

兴趣爱好:运动 自驾 电影


1、首先请做个简单的自我介绍
我叫张晓辉,目前在 Flomesh 担任高级架构师/技术布道师。
资深程序员,CNCF Ambassador,LFAPAC 开源布道师,云原生社区管委会成员,微软 MVP,公众号“云原生指北”作者。多年的微服务和云原生实践经验,主要工作涉及微服务、容器、Kubernetes、DevOps 等。

2、作为资深开源布道者,您觉得参加LFOSSA人才激励计划可以为学员带来什么优势?他们在培训中可以学到什么?
参加 LFOSSA 人才激励计划具有多方面的优势。这种类型的计划不仅提供了学习和成长的机会,还能加强参与者与开源社区的联系。
在培训中,学员不仅可以学习特定的技术技能,如编程语言、框架和工具的使用,还能学习如何在多样化和分布式的团队环境中工作,以及如何贡献代码、进行代码审查和维护开源项目。这些技能将帮助他们在技术领域内建立一个坚实的基础,为未来的职业生涯打下坚实的基础。

3、您能简要解释一下什么是云原生吗,在您看来云原生的核心特性是什么?
云原生是一种构建和运行应用程序的方法,它充分利用云计算的弹性、可扩展性和敏捷性。这种方法主要通过自动化和容器技术,使得应用可以在现代动态环境中如云平台、私有云和混合云中高效运行。

云原生的核心特性包括:
 微服务化:将大型应用拆分成小的、独立的服务,每个服务执行单一功能。这些服务通过轻量级通信机制(如 HTTP API)互相协作,可以独立部署、升级和缩放。
 容器化和容器编排:使用容器交付和 Kubernetes 对容器进行编排和管理
 DevOps:通过 CICD 实现高质量的应用快速交付,助力快速迭代和改进产品。

4、您认为云原生与传统云计算有哪些主要区别?
云原生与传统云计算在多个方面存在显著的区别,主要体现在应用的部署、运维和扩展性方面。下面是这两种方法的一些核心差异:
在部署方面:云原生使用容器和服务网格技术来部署和管理应用,这些技术提供了更好的环境一致性和微服务间的高效通信;传统云计算的应用可能直接部署在虚拟机或裸机服务器上,这可能涉及到更多的操作系统和硬件级配置。
在运维方面:云原生强调 DevOps 文化,促进开发和运维团队的密切合作,采用自动化工具进行持续集成和持续部署;传统云计算,开发和运维可能更加分离,部署周期较长,更新和迭代速度较慢。
在扩展性方面:云原生的应用设计本身就考虑到了自动扩展和故障恢复,能够有效利用云平台提供的弹性资源;传统云计算应用的扩展通常需要手动干预,如增加更多的虚拟机或硬件资源,这种方法反应速度慢且成本较高。
上述三方面的不同,也会提现在成本效益方面云原生通过微服务和容器减少了资源浪费,更好的实现了资源的按需使用,从而提高成本效率。而传统云计算,因为无法精准控制资源分配,有时会导致资源过度分配或未充分利用。

5、您认为考取云原生证书对一个软件开发者的职业生涯有什么影响?请具体讲一讲。
考取云原生证书对软件开发者的职业生涯具有多方面的积极影响。这些证书不仅能证明一个人的专业知识和技能,还能在几个关键领域带来具体的职业优势:
技能验证:云原生证书是一种验证技能的方式,它表明持证人掌握了使用云原生的技术栈,尤其是在云计算和微服务架构方面的专业知识。
提高职业信誉:云原生证书不仅增加了个人的职业信誉,还显示了对个人职业发展的投资和承诺。这种专业态度对于提升个人在同行中的地位非常有帮助。
持续学习和适应性:云原生技术不断发展和变化。通过获取和更新这些证书,开发者展示了他们持续学习和适应新技术的能力,这对长期职业生涯非常重要。
加深对云原生领域的理解:准备认证考试的过程本身是一个深入学习云原生技术的过程。通过这种方式,开发者可以更全面地理解云原生技术的最佳实践和实际应用,增强其在实际工作中解决问题的能力。

6、除了K8s,推荐一个您认为最有价值的云原生开源软件技术,或您最喜欢的云原生相关的开源软件项目,并说明理由。
我推荐 Backstage。
Backstage 提供了一个统一的界面,通过这个门户,开发者可以访问所有工具和服务,管理其软件生命周期和基础设施。这种集中化管理大大提高了效率,简化了开发者的日常任务。
Backstage 作为一个灵活的框架,非常适合定制和扩展。开发团队可以根据自己的具体需求开发新的插件或集成现有的工具,这使得 Backstage 能够适应各种不同的工作流程和技术栈。
虽然 Backstage 本身不是一个 DevOps 工具,但它支持和促进了 DevOps 的实施。通过提供一个平台来集成多种工具和服务,Backstage 帮助团队更好地实现持续集成、持续部署、监控和日志管理等 DevOps 实践。
Backstage 使得开发团队能够实现真正的自服务能力,通过自动化的工具和流程,开发者可以快速获取所需资源,无需等待运维或其他团队的干预,从而加速开发周期。
有兴趣的可以看下我之前写过关于 Backstage的两篇文章:
 聊聊我所理解的平台工程
 初探 Backstage:快速上手指南

7、在容器化方面,您如何看待Kubernetes等技术的发展和应用?
Kubernetes 已经成为容器编排技术的事实标准,其发展和应用在多方面对现代软件开发和运维有着深远的影响。以下是我对 Kubernetes 在容器化方面的看法:
标准化与普及:Kubernetes 提供了一个标准化的平台来部署、管理和扩展容器应用。由于其广泛的采用,它促进了容器技术的普及,帮助各种规模的企业都能以稳定和统一的方式运行他们的应用。
开放源代码和强大的社区支持:作为一个开源项目,Kubernetes 拥有一个非常活跃的社区,这个社区提供了大量的资源和支持,从而使新用户能够较容易地学习和采用该技术。同时,强大的社区也推动了该技术的快速进步和创新。
安全和合规性:Kubernetes 还提供了强大的安全特性,支持密钥管理、访问控制和网络策略,帮助企业满足严格的安全和合规要求。
技术挑战与复杂性:尽管 Kubernetes 提供了许多优势,但它的学习曲线相对陡峭,配置和管理的复杂性也不容忽视。这需要专门的知识和技能,可能会增加企业的培训和管理成本。

8、请分享一下您在学习云原生过程中的经验吧。
学习云原生技术的过程是一段充满挑战和收获的旅程。这里我会分享一些在学习云原生技术过程中的个人经验和感悟:
从基础入手:云原生涵盖了许多概念和技术,包括网络、容器化、微服务、持续集成/持续部署、自动化和弹性设计等。开始学习时,首先理解这些基本概念非常重要。我从是容器技术开始入手,逐步深入到 Kubernetes 进行容器编排。
实践是关键:理论知识虽然重要,但实际操作才能真正理解和掌握技术,我正是在过去几年的云原生实践过程学习并强化了基础知识,更好地理解了云原生技术的应用。
不断更新学习资源:云原生技术发展迅速,新工具和技术不断涌现。保持学习资料的更新非常重要。我经常查阅官方文档、技术博客和教程,确保自己不会落后于技术前沿。
对外分享:在学习云原生技术的过程中,对外分享知识和经验是一个极其有价值的活动,可以帮助巩固自己的知识。比如在过去的几年中,我写过上百篇的技术博客,分享在公众号“云原生指北”中;同时也进行了几十场的技术演讲。
解决具体问题:面对具体问题时,逐一解决它们是提升技能的好方法。无论是调试 Kubernetes 集群的问题还是优化 CI/CD 流程,处理这些具体问题让我深入理解了每项技术的细节和潜在问题。
通过这些经验,我更加深入地理解了云原生技术不仅仅是技术栈的转变,更是思维方式和工作流程的转变。

9、开源在云原生领域扮演着怎样的角色?您有哪些开源项目的实践经验?
开源在云原生领域扮演了至关重要的角色,从基础架构到具体应用,开源精神和实践贯穿云原生技术的每个层面。
开源项目如 Kubernetes、Docker 等,都是云原生生态系统中的关键组成部分。这些项目的开放性质促进了技术创新,因为全球的开发者都可以贡献新的想法和功能。
开源项目有助于建立行业标准,使不同的技术和工具可以无缝集成和互操作。例如,Kubernetes 已成为容器编排的事实标准,许多云服务提供商和技术供应商都支持或集成了 Kubernetes。
如 Docker、Kubernetes、Openshift、FSM、Prometheus、Grafana、Fluentd、Helm、Harbor 等等。

10、您对想要进入云原生行业或者对云原生感兴趣的人有什么建议吗?
如果对进入云原生行业感兴趣,这里有一些建议可以帮助你开始和发展你的职业道路:
学习基础知识:开始学习云原生技术的基础知识是非常重要的。了解容器技术如容器和容器编排工具如 Kubernetes 是入门的好起点。云原生基础还包括了解微服务架构、持续集成与持续部署流程以及云服务平台。
在线课程和培训: 有许多在线资源可以帮助学习云原生技术,例如 Linux Foundation 和 CNCF 提供的课程,这些课程通常从基础知识讲起,并提供实践操作的机会。
实践操作:仅仅理解理论知识是不够的,通过实际操作,能更深入理解云原生工具和流程。
参与开源项目:加入开源项目是增加经验和建立你的技术声誉的好方法。贡献代码、文档或帮助解决社区问题都是参与的方式。
参加行业会议和聚会:参加云原生相关的行业会议和聚会,如 KubeCon、KCD 或当地的技术聚会。这些活动是结识行业同行、交流学习先进技术和找到潜在工作机会的好场所。

11、您如何看待云原生生态系统的现状和发展趋势?
云原生生态系统目前正处于快速发展和成熟阶段,其未来的发展趋势也显得尤为引人注目。

现状:

云原生技术,尤其是容器和 Kubernetes,已被广泛采用于各种规模的企业中。这些技术帮助企业提高了开发效率,简化了部署和运维流程。
云原生生态系统中涌现了多种工具和技术,涵盖了服务网格、持续集成与部署、监控和日志管理等多个方面。
CNCF 及其托管的项目如 Kubernetes、Prometheus 等,展示了一个健康且活跃的社区支持网络。
趋势:
随着技术的成熟,标准化和互操作性将成为重要的发展趋势。
随着云原生应用的广泛部署,对于安全性的关注将会更加突出。安全将从容器安全、网络安全扩展到整个应用生命周期的安全管理。
服务网格提供了微服务通信和治理的高级功能,随着微服务架构的普及,服务网格技术的重要性将进一步增强。
企业将继续采用多云和混合云策略,以优化性能、成本和合规性。这需要云原生工具和平台提供更好的支持和管理能力。
无服务器计算将继续增长,将进一步推动开发效率和应用的快速迭代。
总的来说,云原生生态系统正朝着更加成熟、安全、高效和用户友好的方向发展。随着技术的进步和企业需求的不断变化,云原生技术将继续演化,以支持更复杂和动态的应用需求。

12、对于云原生领域的开源社区,您有哪些建议或期望?
云原生领域的开源社区对推动技术创新和采用起到了至关重要的作用。我有以下几点浅薄的建议和期望:
加强多样性和包容性:开源社区应致力于增强多样性和包容性,鼓励更多来自不同背景的人才参与。这不仅包括开发人员,还包括产品经理、文档撰写者、UI/UX 设计师等。多样性可以带来更广泛的视角和创新的解决方案。
改善新手参与体验:社区应更加重视改善新手的参与体验,通过简化贡献流程、提供明确的贡献指南和有针对性的入门项目。
支持长期可持续性:开源项目需要考虑长期的可持续性。这包括寻求稳定的资金来源、确保关键项目角色的人员更迭顺畅以及透明的决策过程。社区领导者应致力于建立和维护一个健康、活跃且自我维持的社区环境。
促进实际应用和反馈:鼓励社区成员将开源技术应用于实际业务场景中,并将使用中的问题和经验反馈到社区。这样的循环不仅提升了技术的实际应用价值,也为社区带来持续的改进和创新动力。

13、随着云原生的普及,可能会面临哪些新的挑战和问题?
随着云原生技术的普及,虽然带来了诸多优势,但也引发了一系列新的挑战和问题。比如:
复杂性提升:云原生环境通常涉及多个组件和服务(如微服务、容器、服务网格等),这使得整体架构变得更加复杂。
成本管理:虽然云原生架构提供了优化资源利用的潜力,但实际上,动态扩展和资源分配可能导致成本不受控制。企业需要精确的成本监控和优化策略,以避免资源浪费和意外费用。
技术标准和最佳实践:云原生技术的迅速发展也带来了标准化的挑战。不同工具和平台之间的互操作性问题可能导致企业在技术选型和迁移时面临困难。

14、对于企业和开发者来说,如何应对云原生带来的变革和挑战?
企业和开发者面对云原生带来的变革和挑战时,可以考虑如下的策略:
培训和教育:企业应投资于员工培训和专业发展,确保他们掌握云原生技术,为开发者提供学习资源和时间,参加专业课程或研讨会,以提高他们的技术能力;开发者应利用多种平台资源主动学习新技术。
采用渐进式实施策略:不需要一次性全面转向云原生。企业可以选择逐步迁移,先从非核心的系统开始,逐步扩展到更复杂的系统。
利用社区和开源资源:积极参与云原生社区,如参加 CNCF 主办的活动和会议。这不仅可以帮助开发者了解行业趋势和技术更新,还可以建立有价值的联系;贡献和使用开源项目,以减少开发成本,加速开发周期,并从社区得到支持和反馈。
管理成本和资源:细致规划资源使用,利用云服务提供商的成本管理工具来监控和优化费用。实现按需使用和自动扩展,以优化资源分配和成本效率。


Linux基金会希望助力更多开发者们加入开源。 在Linux基金会培训及认证部门每年设立的LiFT奖学金 (LFOSSA人才激励计划)中,也包含一个特别针对云原生专家而设立的类别。 这次介绍的LFOSSA人才激励计划之类别就是:云原生领航员  - 「生于云,长于云」,专注云原生技术实践的人士。


2024年春季的LF开源软件学园人才激励计划共有以下6个类别:

1713167744631158.png


无论你的年龄,行业背景,技术程度,只要对技术有兴趣,有热诚,有渴望就有机会入选。入选者可以在Linux基金会开源软件学园中任意选择一门课程学习,并免费参加一次Linux基金会提供的任何认证考试,学习和考试费用由Linux基金会开源软件学园承担。优秀的申请者还会获得Linux基金会开源软件学园颁发的奖项。申请截至日期为2024年4月30日。


请注意:申请表是入选本计划的唯一准则,所以不要吝啬您的开源的热情,真诚填写表单,增加获奖可能。


我們期待"你"的开源故事分享,等着你来报名。


立即点击 此网址 https://training.linuxfoundation.cn/scholarship 申请 Linux 基金会开源软件学园人才激励计划!


image.png






相关文章

Linux基金会开源软件学园 Copyright © 2019-2024 linuxfoundation.cn, ICP license, no. 京ICP备17074266号-2