登顶之路|数字海南架构师谈云原生编程挑战赛参赛心路历程

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 云原生编程挑战赛项目组特别策划了《登顶之路》系列选手访谈,期待通过参赛选手的故事,看到更加生动鲜活的中国开发者。

2022 年 11 月 3 日,第三届云原生编程挑战赛即将迎来终极答辩,18 支战队、32 位云原生开发者入围决赛,精彩即将开启。


云原生编程挑战赛项目组特别策划了《登顶之路》系列选手访谈,期待通过参赛选手的故事,看到更加生动鲜活的中国开发者。


2022 云原编程挑战赛共吸引了 17900+ 支队伍,超过 18000+ 选手报名参赛,覆盖中国、美国、德国、加拿大、新加坡等 13 个国家和地区,汇聚 440+ 国内外顶尖高校和 240+ 领先企业,企业选手占比达 30%+,其中决赛企业选手占比达 75%,大赛规模再创新高!


第一期我们邀请了来自数字海南有限公司的曾辉林,针对参赛历程与感悟进行了一次深度采访。


深度采访


在什么背景下了解到阿里云云原生编程挑战赛,是什么吸引了你们参赛?


起因是我关注了【阿里云云原生】的公众号,偶然在一次推文中发现了 2022 云原生编程挑战赛的启动报名文章,查看后发现今年的赛题比较贴合我们公司开发的一个实际场景,很想去尝试挑战一下,通过参赛去解决一些未来可能会遇到的难题,提前做好准备。工作之后比较少机会参加大赛,我希望通过这个比赛过程能够收获和学习一些实战的技能。


怎么组队的?为何选择了赛道二作为参赛方向?


我们团队的队员都曾经任职在同一家公司,由于技术方向相同、对彼此的技术能力也都比较认可,所以我在看到这篇推文后便联系了另外两位小伙伴发出组团的邀请,大家看过大赛介绍后都觉得很有意思,因此立刻组团开始报名。

1.jpeg

战队:浩瀚武林(居中是本次受访嘉宾)


我们同时报名了赛道一与赛道二,其中赛道一的服务网格技术与我们公司目前的业务较为贴近,而选择主攻赛道二的原因是公司内部 RPC 框架注册中心模块想以 Kubernetes 作为注册中心,就需要调用 kube-apiserver 来获取服务地址列表,刚好赛道二考察基于 list/watch 机制实现高效的边缘自治方案与公司调研的怎么保持服务地址信息的可靠性、实时性、顺序性、高性能也很贴近。也算是着眼于未来,我们最终选择了这个赛道,当然这也意味着我们要去挑战之前不太触及的新技术领域,有兴奋也有担忧。


2.png3.png


之前对边缘云原生方向有接触吗?针对云原生边缘计算场景的 ACK@Edge的高效边缘自治方案,觉得这套方案和同类型方案比有何优势?


对边缘云原生在参赛之前接触比较少,因为它主要领域是在 IoT (物联网)和 CDN 等领域。而我所在的公司是比较偏政企化,所以接触的比较少。


在参赛过程中我们进一步了解了 ACK@Edge 高效边缘自治方案,我的理解是它在边缘节点和云端管控网络断连等异常情况下,业务重启还是节点重启后,节点内或者跨节点间的业务应用通信都将自动恢复,比较适用于边缘计算的弱网络连接状态下应用跨节点通信的场景。


而这套方案和同类型的方案,我觉得它的优点在于性能更高效,资源占用比较低。


这个赛道吸引您的原因是什么?

赛道二吸引我的原因主要有两点:第一点是对于边缘计算技术,是我作为系统架构师希望去主动学习的东西;第二点是因为目前赛道二的内容与公司项目中所调研的内容比较贴合,两者都需要去调用 kube-apiserver 去获取服务列表,有些相似且可以借鉴之处。


4.jpeg


在参赛过程中有难忘的事情吗?


在比赛的最后一周,排行榜的第一和第二的分值与我们相差较大。我们团队连着几个晚上进行了语音讨论,并且尝试了多种方案。最后,在比赛截止的前三天,我们讨论出了一个可行性的方案,同时跟导师开展讨论后进行了验证。最终我们的比分跟第一、第二名的分值相差不大,期间也有一次反超了他们的分值。


您目前任职的公司岗位经验,在参赛过程中有带给您什么灵感吗?


目前,我在数字海南主要担任公司系统架构师一职,主要是系统架构设计,中间件选型和系统性能调优。这次参赛在性能调优上给了我很多灵感,比赛中采用 Golang 的临时对象池,增加临时对象重用率和减少 GC 负担和采用内存缓存策略提高程序的性能。


有没有什么感悟可以跟大家分享的?


这次参赛主要是提升了我的编程技能以及对云边端的更深层次的认知。随着近年来5G 网络、物联网的快速发展,云技术应用的边界也在不断拓展和深入,来应对爆炸式增长的数据量和终端侧“大连接、低时延、大带宽”的市场需求,这将是边缘云的趋势与机会


之前用过印象比较深的阿里云的产品是?


印象比较深的有两个,一个是应用实时监控服务 ARMS 可以基于前端应用、业务自定义等维度,迅速便捷地构建秒级响应的应用监控能力。另外一个是阿里云应用高可用服务 AHAS,它可以提高应用及业务的高可用能力,主要提供流量防护、故障演练、容灾等核心能力。

5.jpeg


参赛过程中最难的是什么时候?


比如在开始的时候,我们团队参与了赛道一和赛道二,同时在两个赛道中都取得了较好的成绩。但后期由于工作以及一些其他原因,加上参赛节奏较紧张,所以那段时期稍微有些松懈,甚至产生了放弃的想法。


在比赛即将截止的时候,我们团队又沟通了几次,大家还是觉得咬咬牙要坚持下来。我们团队在赛道二的成绩与前面选手差距不大,还是非常有机会的,于是三个人熬夜写代码,在工作之余讨论优化方案,与导师沟通,不断解决技术问题,最终完成了这个赛季的冲刺。不论能不能拿到一个好名次,起码能够在这次比赛中学习到一些工作中未曾涉及的领域知识。


您是怎么理解云原生的?


我是近一两年了解到云原生技术,与云原生相关的产品、开源、演进历程等都吸引我去不断了解这个领域的发展。作为一名程序员,是需要不断的去学习一些新的知识,了解前沿的技术趋势。


我在云原生领域比较专注于容器和微服务,微服务解决“应用架构复杂度”问题,容器解决“应用部署问题”问题,Kubernetes 解决应用“编排和调度”问题。我认为容器算是云原生领域中的代表技术,容器提供了应用分发和交付标准,将应用与底层运行环境进行解耦。我在加入到数字海南后,2020 年末公司开展了所有的服务容器化上云计划,用 Kubernetes 解决容器的编排与调度。


选择容器化上云的技术规划时,会有一些顾虑吗?


一开始是有些顾虑的,因为我们的项目要求高可用、高性能、高并发和安全性,所以我们当时先将其他的一些项目进行落地,在逐渐平稳后才将主要项目迁移上容器。容器技术虽然比较繁琐,但是它可以在整个应用程序生命周期工作流中提供了隔离、可移植性、灵活性、可伸缩性和控制的好处,这是容器化可以给我们带来的便捷,所以我们的团队还是在努力的学习并克服容器技术上的一些难题。


对于即将展开的决赛答辩,选一句口号的话,你会怎么选?


我们团队的口号是:态度决定一切,细节决定成败。灵感来源于比赛结束前的一周,我们团队努力追逐赛道二中第一名和第二名的步伐时,在细节中捕捉到了这句口号的关键和灵感。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
3天前
|
机器学习/深度学习 人工智能 Cloud Native
深度学习在图像识别中的革新与挑战构建未来:云原生架构的进化之路
【5月更文挑战第30天】随着人工智能领域的迅猛发展,深度学习技术已变得无处不在,尤其是在图像识别任务中取得了突破性进展。本文章深入探讨了深度学习在图像识别应用中的创新方法,包括卷积神经网络(CNN)的高级架构、数据增强技术以及迁移学习策略。同时,文章也剖析了当前面临的主要挑战,如过拟合、计算资源消耗和对抗性攻击,并提出了潜在的解决方案。通过实例分析和最新研究成果的讨论,本文旨在为读者提供一个关于深度学习在图像识别领域内现状及未来发展的全面视角。
|
1天前
|
资源调度 运维 Cloud Native
云原生架构技术之无服务器技术
当这些BaaS云服务日趋完善时,无服务器技术(Serverless)因为屏蔽了服务器的各种运维复杂度,让开发人员可以将更多精力用于业务逻辑设计与实现,而逐渐成为云原生主流技术之一。
10 5
|
1天前
|
运维 负载均衡 Cloud Native
云原生架构技术之云原生微服务
微服务模式将后端单体应用拆分为松耦合的多个子应用,每个子应用负责一组子功能。这些子应用称为“微服务”,多个“微服务”共同形成了一个物理独立但逻辑完整的分布式微服务体系。这些微服务相对独立,通过解耦研发、测试与部署流程,提高整体迭代效率。此外,微服务模式通过分布式架构将应用水平扩展和冗余部署,从根本上解决了单体应用在拓展性和稳定性上存在的先天架构缺陷。但也要注意到微服务模型也面临着分布式系统的典型挑战:如何高效调用远程方法、如何实现可靠的系统容量预估、如何建立负载均衡体系、如何面向松耦合系统进行集成测试、如何面向大规模复杂关联应用的部署与运维。
12 4
|
1天前
|
Kubernetes 负载均衡 Cloud Native
云原生架构之容器技术
容器作为标准化软件单元,它将应用及其所有依赖项打包,使应用不再受环境限制,在不同计算环境间快速、可靠地运行。
16 9
|
2天前
|
Cloud Native 物联网 持续交付
未来科技浪潮:区块链、物联网与虚拟现实的融合创新云原生技术:重塑IT架构的未来
【5月更文挑战第31天】在信息技术飞速发展的今天,新兴技术如区块链、物联网和虚拟现实等正成为推动社会进步的重要力量。本文将探讨这些技术的发展趋势及其在各领域的应用前景,揭示它们如何相互融合,共同塑造一个智能化、互联的未来世界。 【5月更文挑战第31天】本文深入探讨了云原生技术的兴起及其对传统IT架构的颠覆性影响。通过分析云原生的核心概念,如微服务、容器化、以及持续集成/持续部署(CI/CD),文章揭示了这些技术如何促进更高效、灵活和可扩展的软件开发实践。同时,本文还讨论了企业在采用云原生技术时面临的挑战与机遇,并展望了云原生技术在未来IT领域的发展趋势。
|
2天前
|
运维 监控 Cloud Native
云原生技术:重塑企业IT架构的未来
【5月更文挑战第31天】随着云计算技术的不断发展,云原生技术已经成为了企业IT架构转型的重要驱动力。本文将深入探讨云原生技术的核心概念、优势以及在实际应用中的实践案例,帮助读者更好地理解云原生技术的价值和潜力。
|
2天前
|
敏捷开发 运维 Cloud Native
构建未来:云原生架构在企业数字化转型中的关键作用
【5月更文挑战第31天】 随着企业加速迈向数字化,云原生架构已成为支撑其转型战略的核心技术。本文深入探讨了云原生技术如何助力企业实现敏捷开发、自动化运维及资源优化,并分析了其在不断变化的市场环境中确保可扩展性和弹性的重要性。通过实际案例分析,揭示了企业在采纳云原生实践中面临的挑战与克服策略,为决策者提供实施云原生技术的洞见。
|
2天前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在企业数字化转型中的关键作用
【5月更文挑战第31天】 随着企业加速其数字化进程,云原生架构已成为实现敏捷性、可扩展性和创新的关键推动力。本文深入探讨了云原生技术如何通过容器化、微服务、持续集成和持续部署(CI/CD)以及DevOps文化促进企业的技术转型。分析了云原生架构的基本原则,并展示了如何利用这些原则来构建高度弹性的系统,这些系统可以无缝适应不断变化的市场需求和技术进步。此外,文章还讨论了采纳云原生实践时可能遇到的挑战,以及克服这些挑战的策略。
|
2天前
|
Kubernetes Cloud Native 开发者
构建高效云原生应用:Kubernetes与微服务架构的融合
【5月更文挑战第31天】 在数字化转型和技术迭代的大潮中,企业对于敏捷、可扩展的IT基础设施需求日益增长。云原生技术以其独特的优势成为推动这一进程的关键力量。本文深入探讨了如何通过结合Kubernetes容器编排和微服务架构来构建和维护高效、可靠的云原生应用。我们将剖析这种技术整合的必要性,揭示其背后的原理,并讨论在实际部署过程中可能遇到的挑战及解决方案。通过案例分析和最佳实践的分享,旨在为开发者和架构师提供一套行之有效的云原生应用构建指南。
|
2天前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在企业数字化转型中的关键角色移动应用开发的未来:跨平台框架与原生系统的融合
【5月更文挑战第31天】 随着企业加速其数字化转型的步伐,云原生架构已成为推动创新和实现敏捷性的关键技术。本文将深入探讨云原生技术的核心概念、优势以及如何在组织中实施这些技术以提高效率和竞争力。通过分析微服务、容器化、持续集成和持续部署(CI/CD)以及DevOps文化等关键组成部分,我们将揭示如何利用云原生架构来优化资源使用、加快产品上市时间并确保系统的可扩展性和可靠性。