The mental journey of participating in the Cloud Native Programming Challenge

2022 年 11 月 3 日、第 3 回 Cloud Native Programming Challenge の最終プレゼンテーションが間近に迫り、18 チーム、32 名のクラウドネイティブ開発者が決勝進出を果たしています。

Cloud Native Programming Challenge のプロジェクトチームは「Road to the Top」シリーズの選手インタビューを特別に企画し、選手のストーリーを通じて中国の開発者たちのより生き生きとした姿を伝えたいと考えています。

2022 年 Cloud Native Programming Challenge には合計 17,900 チーム、18,000 名以上のプレイヤーが参加し、中国、米国、ドイツ、カナダ、シンガポールなど 13 の国と地域をカバーしました。国内外 440 以上のトップ大学と 240 以上のリーディング企業が集まり、企業選手の割合は 30% 以上に達し、決勝進出者に至っては企業選手の割合が 75% に上りました。大会規模は過去最高を更新しました。

第 1 期では、デジタル海南株式会社の曽慧林氏をお招きし、大会での道のりとその所感についてインタビューを行いました。

深層インタビュー

どのような経緯で Cloud Native Programming Challenge を知り、何がきっかけで参加を決めたのですか?

Alibaba Cloud Native の公式アカウントをフォローしていたところ、2022 年 Cloud Native Programming Challenge の開催記事がツイートで偶然目に入りました。確認したところ、今年の競技課題は当社が開発している実際のシナリオにより適していると感じ、ぜひ挑戦して、将来直面するかもしれない課題を事前に解決しておきたいと思いました。仕事をしてから競技会に参加する機会はほとんどなく、この大会を通じて実践的なスキルを習得したいと考えました。

チームはどのように結成したのですか?なぜエントリー方向として Track 2 を選んだのですか?

チームメンバーは以前同じ会社で働いていた仲間です。技術的な方向性が同じで、互いの技術力を認め合っていたため、このツイートを見た後、もう 2 人のパートナーに連絡してグループ結成の誘いを送りました。皆、大会紹介を見て大変興味を惹かれ、すぐにグループを結成して申し込みました。

チーム:Vast Wulin(中央が本インタビューのゲスト)

Track 1 と Track 2 の両方に申し込みました。Track 1 のサービスグリッド技術は当社の現在のビジネスに近いものです。Track 2 に集中することを選んだ理由は、社内 RPC フレームワークのレジストリモジュールで Kubernetes をレジストリとして使用する場合、kube-apiserver を呼び出してサービスアドレスリストを取得する必要があるのですが、Track 2 の list/watch メカニズムに基づく効率的なエッジ自律方式の検討は、サービスアドレス情報の信頼性、リアルタイム性、順序性、高性能性をいかに維持するかという当社の研究にも非常に近く、将来を見据えてこのトラックを選択しました。もちろん、これまで触れたことのない新しい技術分野に挑戦しなければならないことも意味しており、期待と不安が入り交じっています。

エッジクラウドの分野には以前から関わっていましたか?クラウドネイティブなエッジコンピューティングのシナリオにおいて、ACK@Edge 高効率エッジ自律方式は同類の方式と比べてどのような優位性があると思いますか?

大会前はエッジクラウドネイティブとの接触はほとんどありませんでした。主な領域が IoT (Internet of Things) と CDN であり、当社は主に政府向けであるため、接触する機会が少なかったのです。

大会を通じて、ACK@Edge の高効率エッジ自律方式について理解を深めました。私の理解では、エッジノードとクラウド管理制御ネットワークの切断などの異常事態において、ビジネスの再起動やノードの再起動に関わらず、ノード内またはクロスノード間のアプリケーション通信が自動的に復旧されるもので、エッジコンピューティングの弱いネットワーク接続状態でのクロスノード通信シナリオに適しています。

同類の方式と比べて、より効率的なパフォーマンスと低いリソース消費が優位点だと思います。

この Track のどのような点に惹かれたのですか?

Track 2 に惹かれた理由は主に 2 つあります。1 つ目は、システムアーキテクトとしてエッジコンピューティング技術を積極的に学びたいということ。2 つ目は、Track 2 の内容が会社のプロジェクトで検討している内容と高い関連性があり、両者とも kube-apiserver を呼び出してサービスリストを取得する必要があり、類似点が多く参考になるからです。

大会期間中に印象に残っていることはありますか?

大会最後の 1 週間、ランキングの 1 位と 2 位のスコアが私たちからかなり離れていました。チームで何夜も音声ディスカッションを行い、さまざまな方式を試みました。最終的に大会終了 3 日前に実行可能な方式を議論し出し、メンターと相談して検証したところ、実現可能だと確認できました。最終的に、私たちのスコアは 1 位と 2 位のスコアとの差を大きく縮め、一時的に彼らのスコアを超えたこともありました。

大会中に現在の会社での経験から何か示唆はありましたか?

現在、Digital Hainan で主にシステムアーキテクトを務めており、システムアーキテクチャ設計、ミドルウェア選定、システムパフォーマンスチューニングに主に携わっています。この大会ではパフォーマンスチューニングにおいて多くの示唆を得ました。大会では Golang の一時オブジェクトプールを利用して一時オブジェクトの再利用率を高め、GC の負荷を軽減し、メモリキャッシュ戦略を採用してプログラムの性能を向上させました。

大会から何か得られたことはありますか?

この大会で得た主な収穫は、プログラミングスキルの向上と、クラウドとエッジの関係に対するより深い理解です。近年の 5G ネットワークと IoT の急速な発展に伴い、クラウド技術の適用範囲も拡大と深化を続けており、データ量の爆発的な増加や、端末側での「大規模接続、低遅延、広帯域幅」という市場ニーズに対応するため、エッジクラウドが今後のトレンドと機会となるでしょう。

これまでに使用したことのある Alibaba Cloud の製品は何ですか?

印象深いものが 2 つあります。1 つは ARMS の Application Real-Time Monitoring Service で、フロントエンドアプリケーションと業務カスタマイズの観点から、秒レベル応答のアプリケーションモニタリング機能を迅速かつ便利に構築できます。もう 1 つは AHAS の Application High Availability Service で、アプリケーションとビジネスの高可用性を向上させ、主にトラフィック保護、障害訓練、ディザスタリカバリなどのコア機能を提供します。

大会の中で最も困難だったのはどの部分ですか?

たとえば大会当初、チームは Track 1 と Track 2 の両方に参加し、両トラックで好成績を収めていました。しかし後半の仕事などの理由と大会のタイトなペースから、その時期に少し気が緩み、諦めようと考えたことさえありました。

大会終盤、チームで何度も話し合いを重ねた結果、やはり最後までやり遂げようと感じました。Track 2 でのチームの成績は上位選手からそれほど離れておらず、まだ十分チャンスがあります。そこで 3 人で夜遅くまでコードを書き、仕事が終わってから最適化方式を議論し、メンターとコミュニケーションを取り、技術的な課題を次々と解決して、今シーズンのスプリントをやり遂げました。良い順位を取れるかどうかに関わらず、少なくともこの大会で仕事では触れることのない分野の知識を学ぶことができました。

クラウドネイティブについてどのように理解していますか?

クラウドネイティブ技術についてはこの 1、2 年で学んできました。クラウドネイティブに関連する製品、オープンソース、そして進化の過程が、この分野の発展を常に理解したいという気持ちを惹きつけています。プログラマーとして、常に新しい知識を学び、最先端の技術動向を理解する必要があります。

クラウドネイティブ分野では、コンテナとマイクロサービスに注目しています。マイクロサービスは「アプリケーションアーキテクチャの複雑性」の問題を解決し、コンテナは「アプリケーションデプロイメント」の問題を解決し、Kubernetes はアプリケーションの「オーケストレーションとスケジューリング」の問題を解決します。コンテナはクラウドネイティブ分野の代表的な技術だと思います。コンテナはアプリケーションの配布とデリバリーの標準を提供し、アプリケーションを基盤となる動作環境から切り離します。Digital Hainan に入社後、2020 年末に会社は全サービスのコンテナクラウド計画を開始し、Kubernetes を利用してコンテナのレイアウトとスケジューリングを実現しています。

コンテナクラウドの技術計画を選択する際に懸念はありましたか?

当初はいくつかの懸念がありました。プロジェクトでは高可用性、高性能、高い同時実行性、セキュリティが求められていたため、まず他のプロジェクトで導入し、コンテナ技術が安定してからメインプロジェクトを移行しました。コンテナ技術は比較的複雑ですが、アプリケーションライフサイクル全体のワークフローにおいて、隔離性、移植性、柔軟性、スケーラビリティ、コントロール性というメリットを提供できます。これがコンテナ化によってもたらされる利点であり、チームは引き続きコンテナ技術の学習と課題の克服に努めています。

決勝プレゼンテーションに向けたスローガンを選ぶとしたら何にしますか?

チームのスローガンは「態度がすべてを決め、細部が成否を決める」です。このインスピレーションはトラック終了前の週、Track 2 で 1 位と 2 位のチームのペースを追いかけていた際に、細部からこのスローガンのキーポイントとインスピレーションを捉えたものです。

Related Articles

Explore More Special Offers

  1. Short Message Service(SMS) & Mail Service

    50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00

phone お問い合わせ
Hi, I'm Alibaba Cloud AI Assistant!
I can help with questions and solutions.