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

月間数億通のメールを配信するSaaSシステムのKubernetes移行

 月間数億通のメールを配信するSaaSシステムのKubernetes移行

Mix Leap Study 特別編 - CTO Night KANSAI Vol.2 のブレイクアウトセッションの資料です。
https://yahoo-osaka.connpass.com/event/119899/

yuki-teraoka

March 14, 2019
Tweet

More Decks by yuki-teraoka

Other Decks in Technology

Transcript

  1. 会社紹介 取引実績 名称 : シナジーマーケティング株式会社   URL: https://www.synergy-marketing.co.jp/ 代表者 :

    代表取締役社長 田代 正雄 創業 : 1997年9月 設立 : 2005年6月 従業員数 : 311名(2018年4月1日現在) 事業概要 : CRM領域におけるクラウドサービス 事業およびエージェント事業
  2. システムについて • 主要機能 ◦ 顧客データ管理 ◦ WEBフォーム ◦ メッセージ配信(メール・LINE・アプリPush) •

    基盤 ◦ AWS/オンプレミスハイブリット • 規模 ◦ 仮想サーバ: 数百台 ◦ 物理DBサーバ: 数十台 ◦ 月間メール配信数:約 3億通
  3. 解決したい課題 アプリケーション設計に合わせて仮想サー バを分割している • インフラコストが高い ◦ EC2の冗長化 ◦ サービスごとのELB •

    構築が大変 ◦ サービスごとに微妙に異なる構成 ◦ Ansible vs terraform vs CloudFormation AWS(マイクロサービス) Service1 Service2 ServiceN
  4. 解決したい課題 • コンテナ技術への対応 ◦ コンテナイメージのビルド ◦ マニフェスト管理とデプロイ • Jenkins ◦

    画面から設定していたので、設定再利用ができていなかった ◦ Jenkins職人が必要 • Ansible ◦ Ansible職人が(略
  5. 毎月移行されていくサービス達 • 2018/9 k8s本番運用開始! ◦ 1サービスだけお試しで運用 • 2018/10 EC2->k8s 移行その2

    • 2018/11 EC2->k8s 移行その3 • 2018/12 EC2->k8s 移行その4 • 2019/1 EC2->k8s 移行その5 半年でEC2インスタンスが半分以下に!!
  6. 困ったこと • Ingress(nginx-ingressを利用)の設定でトラブルを起こしがち ◦ EC2では各自apacheやnginxを独自設定して入れていた ◦ ヘッダやボディのサイズ制限とか、 X-Forwarded-Forの処理とか • メモリ使用量がどんどん上がっていく(ように見える)

    ◦ k8sが認識するメモリ使用量にはページキャッシュも含まれる ◦ ログを吐いているだけでメモリ使用量は上がり続ける ◦ メトリクスとしてRSSを確認するようにしている • コンテナ単位の負荷状況がわからない ◦ PODごとのロードアベレージは取れない。 VMではなくコンテナです
  7. まとめ • Kubernetes導入でコスト削減 ◦ EC2の台数を半分以下に削減できた ◦ 新たなサーバ(コンテナ)の構築がとても楽に • 移行は思ったよりスムーズに進んだ ◦

    アプリケーションの改修はほぼゼロで済んだ ◦ 一度CI/CD手順を整理すると横展開は楽 • Kubernetes職人は必要 ◦ Kubernetes導入で不要になった職人をコンバートさせよう! ◦ 環境設定の罠に注意。 Ingressとかリソース制限とかセキュリティとか