Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Zenn のウラガワ ~エンジニアのアウトプットを支える環境で Google Cloud が採...

Zenn のウラガワ ~エンジニアのアウトプットを支える環境で Google Cloud が採用されているワケ~ #burikaigi #burikaigi_h

今からちょうど4年前の 2021年02月01日、クラスメソッドは技術情報共有サービス「Zenn」を買収しました。
組織活動やブランディングをサポートする Publication 機能の導入も 1000 件を超え、ますます発展していく Zenn を支える体制と技術の話をします。
サーバーレスアーキテクチャの活用、BigQueryとの連携、そしてLLMを活用したスパム対策まで、現代的なクラウドネイティブシステムへの進化の過程を包括的に紹介します。実践的な知見と共に、クラウドネイティブ化によるビジネス価値の向上についても話します。

https://fortee.jp/burikaigi-2025/proposal/4c39f4bf-7353-415d-81c5-1f5c4bdca45a

Takaaki Tanaka

February 01, 2025
Tweet

More Decks by Takaaki Tanaka

Other Decks in Technology

Transcript

  1. 話す内容 2 • Zenn について ◦ 歴史的経緯 • Zenn を⽀える技術

    ◦ Google Cloud 上で動いています ◦ 統計ダッシュボード機能について ◦ ⽣成AI Gemini を使ってスパム検出 ◦ WAF を Cloudflare に変更 • Zenn からのおしらせ ◦ AI Agent Hackathonを開催中 ◦ Publication 導⼊事例 ◦ ユーザーグループが始動 ◦ 直近の機能追加
  2. その前に‧‧‧クラスメソッドってどんな会社‧‧‧? 4 子会社
 および
 関連会社
 
 
 
 認定
 


    
 
 
 
 
 売上高
 (単位:億円)
 プリズマティクス株式会社   ネクストモード株式会社 
 アノテーション株式会社   アンダースコア株式会社 
 プロパゲート株式会社   Classmethod (Europe) GmbH 
 Classmethod Canada Inc.   Classmethod Danang Co., Ltd.
 Classmethod (Thailand) Co., Ltd.  Classmethod Korea Co., Ltd. 
 
 オープンな発想と高い技術力によりすべての人々の創造活動に貢献し続ける
 名称
 
 
 代表者
 
 設 立
 
 本 社
 
 
 拠 点
 
 
 
 資本金
 
 従業員
 クラスメソッド株式会社 
 (英語表記:Classmethod, Inc.) 
 
 横田 聡
 
 2004年7月7日
 
 東京都港区西新橋1-1-1 
 日比谷フォートタワー26階 
 
 東京、札幌、仙台、上越、名古屋、大阪、福岡、 那覇、ベルリン、バンクーバー、ダナン、バンコ ク、ソウル
 
 1億円
 
 780名(2024年7月現在/グループ全体) 
 (年度)

  3. その前に‧‧‧クラスメソッドってどんな会社‧‧‧? 5 SI Partner of the Year ‒ APJ 2023

    売上⾼、案件創出数、新規資格保有者数、 AWS 技術認定等に⼤きく貢献したアジア太 平洋および⽇本地域(APJ)のパートナー 企業に贈られる賞 SI Partner of the Year - Global ファイナリスト2023 AWSの最上位プレミアティアサービスパートナー 8年連続 AWSパートナーネットワーク(APN)にお いて最上位である「AWS プレミアティア サービスパートナー」に2014年から継続し て認定されています。 公式資格取得数は2000以上 売上⾼、案件創出数、新規資格保有者数、 AWS 技術認定等に⼤きく貢献したグローバ ルパートナー企業に贈られる賞 AWSコンピテンシーパートナープログラム AWS移⾏コンピテンシー デジタルカスタマーエクスペリエンスコンピテ ンシー AWSデータと分析コンピテンシー DevOpsコンピテンシー IoTサービスコンピテンシー SaaSコンピテンシー SMBコンピテンシー パブリックセクターパートナー マネージドサービスプロバイダー AWSサービスの技術認定 14個 AWS IoT Core Amazon EC2 Systems Manager Amazon Kinesis AWS Lambda Amazon RDS AWS Database Migration Service Amazon CloudFront Amazon Redshift AWS WAF Amazon DynamoDB Amazon EC2 for Windows Server Amazon API Gateway AWS Control Tower Amazon Connect ⽉間300万PV、100万UUを誇る技術ブログDevelopersIO https://dev.classmethod.jp/ 憶測やセオリーだけでなく、実地検証に基づ く「やってみた」記事を公開。ユーザに有益 な情報であれば社内のノウハウも余すところ なく記事化。現在40,000本以上の記事を掲載
  4. その前に‧‧‧クラスメソッドってどんな会社‧‧‧? 7 「Google Cloud Partner Top Engineer 2025」に、クラスメソッドのエンジニアが選出され、  ⾼い技術⼒を表彰されたことをお知らせします。 詳細はこちら 【Google

    Cloud Partner Top Engineer について】 パートナー企業に所属する⾼い技術⼒を持った エンジニアを表彰するプログラムとして、 2021年よりスタートしました。 Google Cloud Partner Top Engineer の 受賞カテゴリ、審査基準などの詳細については、 こちらをご参照ください。
  5. その前に‧‧‧クラスメソッドってどんな会社‧‧‧? 8 Google が提供する「Google Cloud Innovators プログラム」にて、クラスメソッドから新規事業部 Zenn チームの 和⽥祐介

    がサーバーレスアプリ開発の Champion Innovators に認定されました。 【Champion Innovators とは】 Champion Innovators は、500⼈以上のプロ フェッショナルからなるグローバルネットワー クです。Champion認定の条件は以下となって います。 - Google社員から指名されていること - Google Cloud製品での本番ワークロードの実 ⾏経験があること - 技術コミュニティや⼤規模組織内での知識共有 と貢献の実績があること - 特定の分野における Google Cloud の深い技術 的理解があること
  6. 今⽇登壇する⼈の⾃⼰紹介 9 田中 孝明 (Takaaki TANAKA) こーめい 
 • 製造ビジネステクノロジー部

    
 ◦ チームマネージャー 
 ◦ 福岡オフィス所属 
 • 2024 Japan AWS ALL Certifications Engineer 
 • Google Cloud Partner Top Engineer 2023 
 • サウナ・スパ プロフェッショナル 
 credly DevelopersIO X (Twitter)
  7. Zenn の略歴 16 • 2020年9⽉ catnose さんが個⼈プロジェクトとしてリリース • 2021年2⽉ クラスメソッド株式会社が

    Zenn の買収を発表 • 2021年6⽉ 運営会社がクラスメソッド株式会社に • 2022年4⽉ 本格的に Zenn をチームで運⽤開始 • 2022年8⽉ Publication をリリース • 2024年1⽉ Publication Pro をリリース 6⼈の⼩さなチーム(※)で運営中 ※エンジニア3名、デザイナー1名、ビジネス1名、オペレーター1名
  8. Zenn は Google Cloud 上で稼働しています 21 • Zenn について ◦

    歴史的経緯 ◦ Publication について ◦ 導⼊事例 ◦ コミュニティへの取り組みについて • Zenn の技術 ◦ 構成 ◦ 統計ダッシュボード機能について ◦ ⽣成AI Gemini を使ってスパム検出 ◦ CDN を Cloudflare に変更
  9. Cloud Run 32 • スモールスタートに適した Cloud Run ◦ 「アプリを早く市場投⼊する」 vs

    「アプリをスケールする」はト レードオフになりがち ◦ Cloud Run はコンテナイメージからデプロイでき、デフォルト設定 でも勝⼿にスケールしてくれる ◦ 超絶優秀、とりあえず最初にこれ使っておこうとなる • サービス開発に必要な機能がある程度そろってる ◦ ロードバランサーを内包 ▪ バージョントラフィック / スケールアウト ◦ 豊富な起動オプション ▪ Startup CPU boost / CPU の割り当て / 最⼩起動数
  10. Cloud Run 33 • サーバーレスで管理コスト軽減 ◦ 設定した値に応じて⾃動スケーリング ◦ 従量課⾦、実際に使⽤したリソース(CPU、メモリ、ネットワーク)に対 して課⾦が発⽣

    • 処理の性質に応じたタイプの選択肢 ◦ 第⼀世代 ◦ 第⼆世代 ▪ サービス • HTTP リクエストベース ▪ ジョブ • バッチ処理‧並列処理 • 各種 Google Cloud のサービスとの統合 ◦ Cloud Logging / Cloud Monitoring / Eventac / Cloud Storage
  11. Cloud Run 34 • 開発者が気をつけること ◦ アプリをステートレスに保つ ◦ データベースのコネクションプール枯渇 ◦

    外部サービスのレート ◦ 運⽤コスト、料⾦計算ツールで⾒積もっておく コスト試算の例(※Zenn とは関係ありません)
  12. BigQuery 39 • Google Cloud が誇るフルマネージドデータレイク ◦ サーバーレスで管理コストを削減 ◦ クエリの実⾏量とストレージ使⽤料に応じて課⾦が発⽣

    • 統計ダッシュボード以外でも活躍 ◦ アクセスログ -> BIgQuery -> Looker Studio ▪ レイテンシ集計レポートを作成して潜在的なパフォーマンス問題がないか確認 ◦ Google Analytics 4 -> BIgQuery -> Looker Studio ▪ PV などのレポート
  13. BigQuery の課題 40 • BigQuery 以外の選択肢はあったか ◦ 統計ダッシュボードの実現にもいくつか候補はあった ※先述のブログに記載 ▪

    Cloud SQL に集計データを持たせて完結させる⽅法も検討したが、page_view を はじめとしたイベントデータの容量とレコード数、またその後のスケールを鑑み ⾒送り • ログインユーザーの認証‧認可 ◦ 他のユーザーのデータを⾒れないようにする • Google Analytics 4 のイベントデータと Cloud SQL のデータをどうにか して JOIN する必要がある • 不特定多数のユーザーに呼ばれるため、クエリ課⾦を回避したい
  14. BigQuery BI Engine による⾼速化とコスト効率 41 • 頻繁に使⽤するテータをインテリジェントにキャッ シュに保存することで、BigQuery の多くの SQL

    クエ リを加速する⾼速なメモリ内分析サービス • BI Engine に保存されたデータから結果を取得するク エリを実⾏する場合、データの読み取りについては課 ⾦されない ◦ キャッシュ容量をあらかじめ購⼊し、キャッシュに⼊れた BigQuery テーブルを指定する ◦ ユーザーの統計で利⽤するデータがすべてキャッシュ内に収まれ ば、統計ページを表⽰する時のオンデマンド料⾦がかからずに 済む
  15. ⽣成 AI の活⽤ 48 Google Cloud 主催の Generative AI Summit

    Tokyo '24 Fall で登壇された Zenn チームの 吉川さん
  16. ⽣成 AI を 運⽤業務に適⽤した実例 50 • スパム投稿が急増 ◦ 2024年 6

    ⽉ごろ〜 ◦ 特定 URL への誘導などのスパムコ ンテンツが⼤量に投稿される ◦ 読者体験の急激な悪化を懸念し、 早急な対処が必要に
  17. 当時の課題感 56 • 不定期で DDoS らしき⼤量のアクセスを受けてた • Cloud Armor の適⽤型保護での検知とブロックを期待してた

    • DDoS に対して、IP アドレスごとに集計して⼿動でブロックしており、 深夜‧休⽇対応に課題が残っていた • ユーザーからみたときのレイテンシ悪化が続いてしまう • クラウド利⽤費にも影響
  18. Cloudflare 導⼊のポイント 59 • ゼロデイ攻撃への耐性、OWASP セキュリティリスクへの対処 ◦ 管理ルールセット ◦ OWASP

    コアルールセット • レート制限ルールを追加 ◦ カスタムレートリミットを追加 ◦ 機械的な判定のため、ブロックが早いメリット有 • Google Cloud 側は IP フィルタのみに ◦ Cloudflare の IP レンジを受け⼊れるように ◦ Load Balancing へのアクセスは Cloudflare を通るように ◦ Cloudflare を外す時も元の構成に戻せるように • SSL 証明書は DNS 認証にする ◦ DNS 認証を使⽤した Google マネージド証明書に切り替える事でセキュアな通信を維持できるように
  19. 典型的な構成をモダンなプラットフォームで 64 • シンプルな構成ながら、稼働実績あり ◦ 1300 万 PV 以上 /

    ⽉ だが性能不⾜は無し • ビジネスとともに成⻑する予定が少しでもあるならば、間違いない構成 の⼀つ モダンである事の基準: ビジネスに応じてアプリをスケールさせる時に作業の⼿間が⼩さいこと
  20. Zenn のウラガワ まとめ 65 • 当初から Google Cloud で運⽤されていたが、限られたリソースで事業 を成⻑させるための選択として最適 •

    アプリケーション開発における「これがほしい」「ここが⾯倒だから楽 にしたい」が備わってる • ユーザーの意⾒に⽿を傾けるために徹底的に⾃動化‧省⼒化 ⾯倒なことは Google Cloud で