SHIFTに入社後初めてのコミュニティ活動に参加した話 - CloudNative Days Winter2024実行委員活動レポート -
はじめに
自己紹介
こんにちは。
デリバリ改革部 サービスプラットフォームグループの武井と申します。
SHIFTには今年の9月に中途入社し、現在は社内の開発部門に所属をしています。
普段はインフラエンジニアとして業務を行っていますが、本技術ブログの執筆者としても今後活動していこうと思います。
個人的にチャレンジしてみたことや、誰かの役に立ちそうな情報をブログ記事として発信していけたらと思っておりますので、どうぞよろしくお願いいたします。
今回は私にとって記念すべき(笑)ブログデビューを、前職より行っていた技術コミュニティ活動の参加レポートとして書いていきたいと思います。
CloudNative Daysについて
タイトルにもある通り、私が所属しているコミュニティはCloudNative Days(以下CND)というイベントを運営しています。
本イベントはCloudNativeをキーワードに、最新の事例やDeep Dive、技術者同士の交流が行えるTechカンファレンスです。
また、今回のWinter2024で晴れて15回目の開催を迎えました!!
公式ウェブサイトには過去のイベントで登壇した方々のアーカイブもありますので、是非チェックしてみてください。
なお、トップページには以下のように概要が書かれています。
私個人としても、上記をしっかりと体現できている素晴らしいイベントだと実感しています。
今回は11/28(木)、11/29(金)に行われたCloudNative Days Winter 2024(以下CNDW2024)についてレポートを行いたと思います。
武井とCNDとの関わり
さて、私がCNDコミュニティと関わりを持つようになったのは、昨年行われたCloudNative Days Fukuoka2023からでした。
それまでは1参加者としてCNDのセッションを聴講したり、サイバーエージェント青山さんが執筆された本を読みながら、趣味でK8sのクラスタを作ってみたりといったことをやっていました。
そんな中で前職でご縁があり、上記イベントに登壇することとなり、青山さんをはじめとした実行委員の皆様との交流する中で、私も実行委員として関わらせていただくこととなりました。
今回のCNDW2024では以下のように複数のチームがあり、それぞれがコンテンツを提供しています。
配信
配信基盤
ハンズオン
企画・催し物
カフェ
OSS展示
コミュニティ・初心者LT
ディスカッションボード
カンファレンスメトリクス
デザイン
私はその中で
ハンズオンチームのサブリーダー
企画・催し物チームのLT担当
として参加しました。
尚、ハンズオンについての様子やレポートは後日、別のブログにてレポートしたいと思います。
※写真はイベント当日の浮かれてる私の写真です。
セッション紹介
前置きが長くなってしまいましたが、私が今回聴講したセッションの紹介をさせていただきます。
※運営対応の関係で、執筆開始時点で全てのセッションを聴くことができていません。
従って、今回は執筆開始時点で聴講することができたセッションのみをご紹介させていただきます。
今はまだ小さい東京ガス内製開発チームが、これからもKubernetesと共に歩み続けるために
登壇者情報 (敬称略)
東京ガス株式会社
Yusuke Sugiyama
Yoshiaki Sakota
セッション要約
自社プロダクトを開発・推進していくことを目的として内製開発チームが発足
myTOKYOGASと呼ばれる、毎月のガスや電気の使用量や料金を確認できるアプリケーション基盤を運用している
2023年にフロントエンドはフルリプレイスされた
エネルギー会社も独占市場ではなく競争が激化している
その中でデジタル接点を持たせて顧客体験を向上させることが重要になってきた
なぜマイクロサービス化を決めたか
フロントエンドはリニューアルしたがバックエンド側の整備がまだまだ必要な状況
現在のモノリスのアーキテクチャでは運用に限界が来てしまった
変化に強く顧客に素早く価値を届けるためにマイクロサービスを手段として採用
Why Kubernetes?
自分たちで技術選定をどこまでコントロールできるかが重要だと考えた
CNCFがリードするようなベンダーニュートラルなエコシステムを使いたい
選択したエコシステムは安定板かどうか・アップグレードサイクルはどうかなどを重要視
しかしながらいくつかのエコシステムの機能に問題が発生し、ワークアラウンドでの妥協や導入自体を断念したものも
ビジネス要件やスケジュールとの兼ね合いで判断することが重要
Kubernetesのアップグレードに対するモチベーション
確かに作業だけを切り出して考えると大変
しかしながら、クラウドネイティブ周辺の進化速度と、もたらす価値を同時に考えたい
自分たちもKubernetesをはじめとしたクラウドネイティブ技術の進化速度に追従する必要がある
延長サポートもあるが、周辺エコシステムに影響が出る以上上げない選択肢は無い
エネルギーの観点からだけではなくソフトウェアエンジニアリングの観点からも持続可能性の貢献をしていくべき
感想
Kubestronautと呼ばれるKubernetesに関する資格を全冠達成された方に贈られる称号をお持ちの、2名のエンジニアの方の発表でした。
2名体制かつAWSを使われているとのことで、フルマネージドなアプリケーション基盤の選択肢もあったかと思います。
その中でKubernetesや周辺のエコシステムに価値を見出して技術選定を行う勇気とモチベーションに大変感銘を受けました。
OSSに対する向き合い方や熱量が素晴らしく、技術的なお話も大変参考になるものばかりだったので、どこかの機会で直接お話が聞けたらと思っています。
SIerで200人クラウドネイティブのファンを増やした話
登壇者情報(敬称略)
TDCソフト株式会社
Yuta Shimada
セッション要約
なぜクラウドネイティブなエンジニアを増やしたいのか
クラウドネイティブが必要な背景
ビジネススタイルが大きく変革してきている
インフラエンジニアの関心事や求められるスキルも時代とともに変化してきている
オンプレ→仮想化→クラウド→コンテナ→オーケストレーション
リスキルを進めたいが、社内では既存案件に従事していたり、そもそも興味が無かったりなどでクラウドネイティブが浸透しない
実際に1日掛かりの研修を行ったが、参加者数の少なさや研修ボリュームの多さに課題があった
参加者の満足度が上がらない
非クラウドネイティブエンジニアに1日で知識を詰め込むのは辛い
改善ポイント
参加者が学びたいと思わないといけない
世の中のクラウドネイティブ研修はある程度の前提知識が必要
まずはテクノロジーを好きになってもらうところから始める
施策
講義形式からハンズオン形式に
ペルソナを意識する
誰に対して実施するかを決める
2年目程度の若手で、エンジニアとしての方向性が定まっていない社員向け
コンテンツを減らす
半日で研修が終えられるように
なるべくシンプルかつ興味を持ちやすいように
好きになってもらう工夫をする
グッズやロゴを作成・体験型学習・集合写真などで一体感
上記の施策で参加者数が200人達成・参加者満足度も倍以上に向上
今後やりたいこと
社内クラウドネイティブカンファレンスをやりたい
社内認定資格もあるとモチベーションアップにつながる
ビジネス貢献の度合いも高めていきたい
感想
私と同様CNDのコミュニティに所属しているYuta Shimadaさんの発表です。
社内の人材育成を進めていく上での苦悩と努力が垣間見えるセッションでした。
私も以前同様の立場でクラウドネイティブを推進していたことがあるため、とても共感できる内容でした。
特に、学習範囲が広すぎてどうしてもコンテンツを詰め込みすぎてしまい、一方的な研修になってしまっていたという課題は私も深刻に悩んでいました。そして悩んでいるときは、まずは受講者に楽しんでもらう、という原点に立ち返ることが意外とできなかったりするもので、もっと早くこのセッションを聴きたかった・・・!とも思いました。
Amazon CloudFrontを活用したゼロダウンタイムを実現する安定的なデプロイメント
登壇者情報
株式会社SHIFT
Yoshiki Shinagawa
要約
SHIFTは品質保証だけでなく内製開発等も行っている
既存構成
アーキテクチャはAWSのWebシステムで利用されることの多いオーソドックスな構成
Cloud Front
S3
ALB → ECS → RDS
実際には様々な経緯により複数のサービスが依存し合っている
Cloud Front Functionsで通常稼働時とメンテナンス時のリクエストの振り分けとアクセス制御を行っていた
メンテナンス時のみS3にあるメンテナンス用静的コンテンツにアクセスさせる
開発者のみECSへのアクセスを可能に
上記の手法だとダウンタイムが避けられないため、検討の結果CloudFront Continuous Deploymentをベースとした運用を採用
新規構成
ALBとDBを共有する2つのECSを用意(Blue/Green)
上記の構成を3環境持つ(prod/stg/dev)
HTTPヘッダの種別や有無によってリクエストを振り分け
2環境は同一ドメインで参照可能
プロダクションにステージングの設定を反映することでリリース
新規構成のメリット
既存のアプリケーションを稼働しながら新アプリケーションの本番環境のテストができる
APIのインターフェースの考慮不要
ロールバックが容易
任意のリソース(S3など)を並行稼働可能
ECSでのBlue/Greenはリソースが依存しあっている環境や、本番環境での検証を行うワークフローがあり難しかった
FEとBEの互換性が維持されるような機能開発は人的な問題により断念した
軽微な内容やhotfixの反映は上記ワークフローを実施しないなど、負荷がかからないよう柔軟にリリースしている
LBやCDNのレコード入れ替えはIaCの作りこみが難しく、手動運用はミスの原因となるため実施しなかった
MySQLのオンラインDDL機能によりダウンタイムなしでスキーマ変更が可能
新規構成を採用したことにより、SLAを99.72%→99.99%に引き上げることに成功
感想
最後に弊社の品川が登壇した内容を紹介しました。
AWSでのBlue/Greenデプロイメントのお話でしたが、一般的なECSに関するデプロイメントのお話ではなくてCloudFrontにスポットを当てた事例紹介で私個人としてとても参考になりました。
AWSのようにベストプラクティスと呼ばれるものが世に存在していても、プロダクトを取り巻く課題やその要因はそれぞれ異なっており、どこかでその開発現場オリジナルの方法を確立しないといけないと思っています。その中で色々な工夫をしながらゼロダウンタイムのデプロイメントを実現していて、開発現場の苦労と努力が伝わってきました。
会場の様子
続いて、会場の様子を少し紹介していきます。
ディスカッションボード
会場の一角にホワイトボードを用意しました。
テーマに沿ったメッセージを書き込んだり、シールやスタンプマグネットでリアクションを行うことで、非同期に来場者とコミュニケーションをとることができます。
今回はその一部をご紹介します。
1日目
1日目のボードには、私が抱えている悩みと同じような書き込みがあったため、それを紹介します。
特に印象に残ったのは、Kubernetesのアップグレードが辛いといった内容でした。
これは私に限らず、Kubernetesを扱うエンジニアであれば誰もが抱える悩みなのではないでしょうか。
そして私自身もつい先日、EKSクラスタを2バージョン上げたばかりなので、とてもタイムリーな話題に嬉しくなってしまいました。
上述で紹介した東京ガス様のように、高い志を持ってKubernetesと向き合っていきたいですね。
※EKSクラスタのアップグレードに関する記事も後日公開いたします!!(絶賛執筆中)
2日目
2日目で大きかったのは、来場者とディスカッションボードを通じて繋がりを持てたことでした。
Kubernetes The Hardwayという、Kubernetesを自分で1から手作りする学習コンテンツがあるのですが(めっちゃ大変)、「その経験談を聞きたい」との書き込みがありました。
幸いなことに、数年前にオリジナル版(当時はGoogle Cloud環境で実施する手順でした)をAWSに読み替えて実施したことがあったため、その旨をボードに書いてみたところ・・・
メッセージを書いた方が話に来てくれて、SNSでの繋がりを持つことができました!!
このように、現地でイベントに参加することは、そこでしか味わえない体験や成果を得ることができる貴重な機会なのだと改めて実感しました。
ゆるカフェ
会場にカフェスペースとオリジナルのボトルコーヒーを用意し、来場者同士がコミュニケーションを取るきっかけづくりを行いました。この設営に私も携わったのですが、我ながらおしゃれにできたと思います!!(笑)
一見ビールのようですが、ちゃんとしたボトルコーヒーです!!
SHIFTがCNDW2024に協賛
今回のCNDW2024では、弊社がダイヤモンドスポンサーとして協賛しました。
協賛に至った背景として、上述の通り私が前職からCNDのコミュニティ活動を行っていたことが大きな要因としてあります。
SHIFTに転職後もこの活動をぜひ続けたいと上司に訴えたところ、すぐに弊社のDevRelグループに繋いでくれました。
そして、そのDevRelグループが私の思いを汲み取ってくれてすぐに協賛に向けて動いてくれました。
9月半ばから2か月弱でここまで活動の輪を拡げることができたのは、DevRelグループがいたからこそです。
転職してまだ間もない身ではありながら、私の思いに賛同していただき一緒に動いてくれた皆さんには感謝しかありません。
※個人的な今回のコミュニティ活動の一番の成果だと思っています。
最後に
そんな株式会社SHIFTは、現在エンジニアを絶賛募集中です。(イベント当日のジョブボードにも書き込ませていただきました!!)
このブログを読んだ方がコミュニティや弊社の雰囲気を少しでも感じ取ってもらえたら嬉しいです!
お問合せはお気軽に
SHIFTについて(コーポレートサイト)
SHIFTのサービスについて(サービスサイト)
SHIFTの導入事例
お役立ち資料はこちら
SHIFTの採用情報はこちら