クラウド ネイティブ分科会 Meetup #3
こんにちは、クラウドネイティブ分科会運営メンバの小泉鉄之祐です。
2021年12 月22 日に開催されたクラウドネイティブ分科会の第 3 回 Meetup の開催レポートをお届けします。
当 Meetup ではライトニングトーク祭りに加え、Xmas スペシャルとしてのプレゼント企画が催され、大変盛り上がりました!その模様を凝縮してお伝えします。
Meetup アジェンダ
第一部:クラウドネイティブ分科会 Meetup #3
- クラウドネイティブ分科会のコンセプト・活動内容紹介
- LT祭り
- お楽しみ企画 Cloud Run デプロイ対決!
- 記念撮影
第二部:オンライン交流会(参加任意)
企画1: みんなで語り合おう!クラウドネイティブLT祭り
当分科会オーナーのNTTデータ 堤さんがお話しされた「クラウドネイティブ技術者がつながれる場を作りたい」。そんな場を実現するために企画されたライトニングトーク祭り。Google Cloud Partner Top Engineer 2名を含む、多種多様なバックグラウンドを持つ7名の有志にご登壇いただきました。
各セッションの見どころをピックアップして振り返ります。
Firebase/Firestore 拡張機能 による Elastic App Search 連携について (Elastic 鈴木 章太郎さん)
(出典:鈴木さん発表資料 p9)
Firebase ではテキストの全文検索をサポートしませんが、Elastic と連携することで可能になります。さらに Elastic 7.15 で搭載された実装された Firebase/Firestore 用 Elastic App Search 統合を使用すると、数回のクリック操作(=ノンコーディング)で簡単に Elastic の検索エクスペリエンスを Firebase に組み込むことができます。
この拡張機能により Elastic Cloud と連携するための Cloud Function のソースが自動で生成される様子をデモで実演されると、「すごい!」「便利そう!」などと参加者からの反応がチャットにてありました。
(参考リンク)
Google CloudのマイクロサービスサンプルでSagaパターンを学んだ (アクセンチュア 青柳 雅之さん、青柳 一さん)
(出典:青柳さん発表資料より)
アクセンチュア社内でクラウドの人材育成に取り組んでいる中で、マイクロサービスの Saga パターンを扱ったエピソードを共有いただきました。マイクロサービス間の分散トランザクションを考え、Saga パターンの仕組みを正常系、異常系と分けてわかりやすく解説。素晴らしい説明でした。
Goolge Cloud が提供するサンプルプログラムが学習に有用だったとのことで、これから学習・検証される方にもおススメです。また、マイクロサービスに対して「開発言語の選択が課題(一さん)」「ベストプラクティス通りに実装しないことがある。それが面白い(雅之さん)」とお二人の考察も興味深いものでした。
ちなみにお二人は親戚ではないとのことです。
マイクロサービス分割境界決定手法の調査 (NTTデータ 横井 一輝さん)
(出典:横井さん発表資料より)
モノリシックなアプリケーションをマイクロサービスに移行する。その際、あなたはどこでモノリスを分割すればよいか決められますか? これは実際にはとても難しい問題で、ある調査によると83%がエキスパートの勘に頼っているとか・・・(DDDも7%しか使われていない!?)
そんなあなたに朗報です。なんと機械的に自動で分割を決定する方法があるそうです!最新のアカデミック調査から3つのパターンについてご紹介いただきました。
- API設計書の中身を自然言語処理を用いて解析する方式
- バージョン管理システム(Git等)のデータを解析する方式
- ソースコード解析とプロセスマイニングを組み合わせ、メソッド同士の呼び出し関係やビジネス上の依存関係から分割境界を決定する方式
最先端の技術はすごいですね・・・実用化が進み当たり前の技術になる未来が楽しみです。
高負荷処理のための Cloud Run (ギリア 石井 裕貴さん)
(出典:石井さん発表資料より)
AIを活用されている石井さん。高負荷処理が必要な推論環境として Cloud Run は向いていないのでしょうか?
いえいえ、そんなことはないんです。ここ1年でCPU→2倍、メモリ→4倍と割り当て上限が引き上げ。さらにCPU負荷が高い処理に適する第2世代の実行環境もプレビューで登場しています。
シンプルなタスクで両世代での実行時間を計測してみると、実際に第2世代の方が第1世代より40%早くなりました(Warm Start の場合)。逆に起動時間は第1世代の方が短いため、用途によって使い分けが考えられます。
Cloud Run では他にも非同期タスクに役立つ「CPU常時割り当て」やストリーミング機能が使える「gRPC」も利用可能。
結論、Cloud Run は高負荷処理にも使える!
クレデンシャル不要な GitHub Actions でのCI/CD (ギリア 永嶋 渉さん)
(出典:永嶋さん発表資料より)
google-github-actions/authというライブラリを紹介いただきました。
これが何かと言うと・・・
- Workload Identity 連携を使って
- サービスアカウントのクレデンシャル不要で
- GitHub Action から Google Cloud にアクセスできる
それで何が嬉しいかと言うと・・・
- json クレデンシャル漏洩の心配が減ります
- トークンが漏洩しても認証が有効な時間が短いです
つまり・・・安全!!
実際に google-github-actions/auth を使って Terraform で書いたリソースをデプロイしたり、 GKE のクレデンシャルを取ってきて pod をデプロイしたりされたとのこと。
GitHub Actionを使って Google Cloud へ CI/CD を実行している方はぜひ検討してみましょう!永嶋さんのサンプルコードはこちらにあるので、お時間のある方は試してみてください。
(参考リンク)
- GitHub ActionsがOpenID Connectをサポート。GitHubからクラウドへのデプロイがより安全に
- キーなしの API 認証 – サービス アカウント キーを必要としない Workload Identity 連携によるクラウド セキュリティの向上
エンタープライズ環境の資産を守る!VPC Service Controls 入門(NTTデータ 宇都宮 雅彦さん)
(出典:宇都宮さん発表資料より)
金融、ヘルスケア分野など、エンタープライズでは守るべき大事な資産がありますよね。
しかしながらエンタープライズでもインシデントは起きています。KMS や Firewall などのサービスを駆使していくと設定が複雑になりがち。それって本当にやりたいことでしょうか?
そんなあなたに VPC Service Controls をお届けします。
大事な資産が存在する Google Cloud リソースをサービス境界で分離し、セキュリティポリシーを設けることでデータ漏洩のリスクを低減します。
コンテキストアウェアアクセスを使えばユーザーID、IPアドレス、サービスアカウント、デバイスデータなどのクライアント属性に基づいてアクセスを制御できます。
便利なのは分かったけど、お高いんじゃないの? いいえ、VPC Service Controls は追加コストなしで使うことができます。さらに、リクエストの拒否は行わずログの記録のみを行うドライランモードもあり、組織アカウントをお持ちのエンタープライズのお客様であれば、すぐにお試しいただけます。
プレゼン資料は分かりやすさを追及し、極力文字を使わず図だけで表現されていました。これには「分かりやすい」「私もマネしたい!」とチャットも大賑わいでした。
スクウェア・エニックスとクラウドネイティブ (スクウェア・エニックス 橋本 和宏さん)
(出典:橋本さん発表資料より)
FF、聖剣伝説など世界中で愛されるゲーム作品を世に出し続けるスクウェア・エニックス(以下、愛着を込めてスクエニ)より、SRE の橋本さんにご登壇いただきました。
スクエニのゲームインフラは時代とともに変遷を遂げてきました。
2000年以前は据え置き型のゲームが主流で自前でサーバを持たなくてもよい時代。
2002年にMMOが登場。オンラインゲームのインフラとしてデータセンターがメインとなる時代に。
2010年以降に増えてきたスマートフォン向けゲームではクラウド利用がメインになっています。
クラウド利用も以前はデータセンタライクでしたが、最近はクラウドネイティブも増えており、組織・人・スキルの変化も大きなものになりそうで、今は手探り中とのこと。
例えば、インフラエンジニアのやるべきことが今までより減り、アプリとインフラの役割が交わってきます。「k8sマニフェストはどっちがやればいいの?」とか。
それをこういうコミュニティで相談したり、逆に自分たちの知見を共有したい。まさに当分科会意義のど真ん中と言えるような発表でした。チャットでも「インフラは主にセキュリティ回りですね」等と有意義な意見が交わされていました。
企画2: Cloud Run デプロイ対決!
(出典:中丸さん発表資料より)
企画担当は Google Cloud アプリケーションモダナイゼーションスペシャリストの中丸 良さん。
参加者自身で Google Cloud プロジェクトを用意し、Cloud Run に指定のコンテナをデプロイすることで、Xmasプレゼント(Jagu’e’r ノベルティ)を GET できるという素敵な企画でした!
冒頭、中丸さんより Cloud Run の基礎知識をおさらいし、本企画の環境説明の後にデプロイ対決を開始しましたが・・・さすがは Jagu’e’r 会員の有志達、早々にデプロイを終え、ノベルティ申請が続々と飛んできます。
筆者も参加しましたが、実際に Cloud Run を動かすことで理解を深めることができ、スキルアップとしても有意義でした。(ノベルティも頂けて一石二鳥!)
企画3: Xmas スペシャルプレゼント!
デプロイ対決が盛り上がったところで終わりかと思いきや、中丸さんからさらなるプレゼントが・・・!
なんと、Cloud Run PM Lead の Steren さんより、ビデオメッセージにて Cloud Run のロードマップについて語っていただきました!!
内容は・・・当日限りm(__)m
Cloud Run の今後にこれまで以上に期待です!
記念撮影
恒例の Jagu’e’r ポーズで!
第 2 部 オンライン交流会
こちらも当分科会では恒例。第 1 部が終わったあとに有志数名で残り、交流会を開催しました。LT登壇者も交え、リラックスした雰囲気でざっくばらんに情報交換しました。
最後に
クラウドネイティブ分科会では、今後もおよそ2ヶ月に1回のペースでMeetupを開催できればと考えております。また、Meetup以外にも、Slackでの交流も実施しております。
本記事を読んでご興味を持たれた方はぜひJagu’e’r への会員申込み、そして分科会への申込みをお願いします!お待ちしています!!