SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イベントレポート

コンテナを活用する精鋭たちが登壇! Kubernetesの使いどころや本番環境での注意点とは?【Container X mas Party】

オイシックスが18年間育てた既存システムをKubernetesで分解していく取り組み

 休憩をはさんで4本目のセッションは、オイシックス・ラ・大地の長尾優毅さんです。発表資料の多くの内容はこちらのスライドから引用されているそうです。

 オイシックスで18年間育ててきたモノリスなECアプリケーションを、Azure Kubernetes Service (AKS) を用いてマイクロサービス化している取り組みを紹介いただきました。

 次の3つの事例を紹介されました。いずれも、規模の小さいもの、なるべく新規機能のものから順番に取り組まれている点は、他の事例セッションとも共通していますね。それぞれの取り組みにおいて、やってみたらこんな課題が出てきた、というリアルな情報も紹介されていて、大変参考になりました。

1. ログ検索サービス

 まずは移行ではなく新規のサービスを選択し、既存システムのログを検索できるGUIサービスをAKS上に構築。

2. 受注確定バッチ

 オイシックスさんのサービスは主に定期宅配のサービスなので、毎週特定の曜日に大規模なバッチ処理が発生する、という課題背景があったそうです。この部分だけ柔軟にスケールアウト/インしたくて、別サービスに切り出しました。

3. 商品サービス

 商品情報は最もアクセス頻度の高く、ピーク高負荷時にはボトルネックになりやすい箇所であったため、AKSとAzure Cache for Redisを用いてキャッシュサービスを構築されたそうです。

 次に、取り組みの中での監視ツール事情の紹介です。Azure上では、Azure Monitor (Azure Log Analytics) を使っていて、これはAKSのGUIポータル上から有効にするだけで簡単に使えて、他クラウド上のログも集約できる、といった点で重宝しているそうです。ただしこのAzure Monitorからはアラートを通知する際の通知手段(メール、SMSなど)がそれほど多くないため、ここはPagerDutyで補完して使っているとのこと。実践的で非常に参考になりました。

 最後に、AKSを運用していく上での注意点をいくつか紹介いただきました。AKSでのクォータ制限は変更後にクラスターの再作成を伴うので作る前に制限解除しておく、AKS機能で行うKubernetesバージョンアップは慎重に行う、cronjobを使う際はタイムゾーンがUTCであることに注意しジョブトリガーを別な方法を検討する、などなど、これまでのトラブルシューティング経験を惜しみなく共有していただきました。

 まとめると、クラスター再作成をカジュアルにするための仕組みや知識をつけて心に余裕を持って運用できるようにすること、と締めくくりました。

 今後はオイシックスサービスの全てのJavaアプリケーションをAKS上に移行していく予定、ということで非常に心強いメッセージと、「まだまだ助けが必要!」ということでエンジニア募集中で締めくくられました。

ダイ・ハード in the Kubernetes world

 5本目のセッションは、日本マイクロソフトの真壁徹さんです。発表資料はこちらに公開されています。

 クリスマスパーティということで、ダイ・ハードの刑事のようになかなか死なないKubernetes使いになろう、という副題です(笑)ということで、お品書きはどれもじっくりと聞きたくなる項目が並びます。

  • OpenStackとKubernetesの類似点と現状
  • Kubernetesの壊れ方
  • しぶといKubernetes使いになるための、ご参考戦略・実装

 真壁さんはOpenStackの経験から、当時OpenStackに持っていた印象と類似点があるそうです。共感できる方も多いのではないでしょうか。

 マネージドサービスや商用サポートで負担は大きく軽減できるものの、一度使い始めると小手先や後付け効かない場合もあるので、リスクを把握し、事前に戦略を立てておきましょう。といった前置きのあと、本題に入っていきます。

 Kubernetesの壊れ方について、1.故障・災害編、2.不具合編、3.操作ミス編の3部で説明されました。全てをここで紹介できないのが残念ですが、すぐに真似たくなるようなノウハウがぎっしり詰まっていますので、ぜひ発表資料をご覧ください。逆にこれらをどんどん試してどんどん壊してくださいと、壊れ方を経験&把握することで事象を判断する際の自信に変わってくるとおっしゃっていました。経験として蓄積されるのは“人”であり、実はそれが一番大事なこと、と強調されていたことも印象的でした。

 お品書き最後のお題として、真壁さんの豊富な経験より、現時点でBattle Testedな参考実装を紹介いただきました。

 Terraformを全面に使っていたり、データストアはクラスター外部にあったりと、ポイントは「クラスターすらもImmutableにしてしまう」とのことでした。これによって何かあれば破棄して再現をするというつもりであれば、どんどん壊して経験を積むことができますね。

 そして、もっと詳しく知りたい方のために、書籍『しくみがわかる Kubernetes』が翔泳社より2019年1月23日に発売されました! 私は予約して手に入れました!

 最後に、以下のメッセージでセッションをまとめられました。

  • 進化とエコシステムが魅力のKubernetes
  • 変化への追従はそのトレードオフ
  • リスクは戦略的に回避・緩和しよう

次のページ
頑張らないKubernetes / Real World Kubernetes

この記事は参考になりましたか?

イベントレポート連載記事一覧

もっと読む

この記事の著者

平岡 一成(日本マイクロソフト)(ヒラオカ イッセイ)

 日本マイクロソフト株式会社 パートナー事業本部 クラウドソリューションアーキテクト。Azure導入のための技術支援を担当。 Twitter:@hoisjp

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/11342 2019/01/29 11:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー