Mercari Meetup for Microservices Platform #2のまとめ!




KubernetesのClusterが正常に稼働しているかの判定方法について

Podやコンテナのメトリクスを取ってアプリケーションが正常に稼働しているかはよくみられていますが、KubernetesのCluster自身が正常に稼働しているかどう判断するかの発表でした。

メルカリではGKEを使っていて、まずはどこを監視すべきかの話でした。KubernetesのマスターノードはGCP側の管理なので、使う側はノード側の監視に対して責任を持つべきとのことでした。

 

じゃあ、何を見るかと言うと、ノードで稼働している、kube-let、kube-proxy、kube-dnsなどのwork/resource metricsを監視しているとのこと。

 

work metricsとはスループット、サクセスレイト、エラーレイトなど明らかにアプリケーションの以上がわかる指標です。resource metricsはCPU、メモリ、ディスク、ネットワークなどのリソースに関するメトリクスです。

 

リソースに関するメトリクスはCPUを90%使っていてもレスポンスタイムが遅くなっていなければアプリケーションとしては問題ないため、正常に稼働しているかはwork metricsで見るべきとのことでした。

 

Grafeasを使ったCI/CDについて

Grafeasは今回の勉強会で初めて聞きましたね。

 

メタデータ(テストチェック結果、セキュリティ、QAチェックを通った結果)を溜める仕組みで、そのメタデータの結果からCI/CDを許可するといフローで使っているとのこと。より詳細な説明は下の記事がわかりやすいです。

 

ソフトウェアのサプライチェーンを監視するためのAPI集合GrafeasをGoogleやIBMなど8社が共同開発

Grafeasは、コードのデプロイとビルドのパイプラインに関するすべてのメタデータを集めるための、APIの集合だ。そしてそのために、コードの原作者や出所、各コード片のデプロイ履歴〜デプロイ時の記録、どのようなセキュリティスキャンをパスしたか、どんなコンポーネントを使っているか(そして各コンポーネントの既知の脆弱性)、QAからの承認の有無、などの記録をキープする。そうすると、新しいコードをデプロイする前にGrafeasのAPIを使ってこれらの情報をすべてチェックでき、それが(得られた情報の範囲内で)脆弱性なしと認定されていたら、プロダクションに放り込める。

 

メルカリではこのチェックを通してCI/CDを行なっているみたいです。かなり先にいってる感があって面白いですね。

 

GrafeasにいろんなDeploy pipeline stageの結果(metadata)を貯める:テストが通ったか? Securiy Vulnerability scanを通ったか? QAのチェックが通ったか?などなど.実際にデプロイするはそれらのmetadataがあるか? をチェックしてデプロイを許可するか否かを決める

 

 

メルカリMicro Serviceチームの開発方法の変遷について

メルカリのMicro Serviceチームは2年前に1人のチームから始まったとのこと。

 

マネージメントがない状態から、アジャイルを導入して、今はBasecampの6 Week Cycle(6週間のスプリントみたいなの)で開発を行なっているとのこと。

それまでは見積もりに時間を使ってしまっていて、開発にスピードが出なかったりしていた。それからはHuge Unknownなことを受け入れてshippingすることにフォーカスして開発を進めることでうまいこと回っているとのこと。

 

まとめ

ざっくりなまとめになってしましましたが、メルカリのマイクロサービスに関する知見はものすごく勉強になりました。そもそもマイクロサービスを運用したことがないので明確にはわからないですが、100を超えるサービスを運用するにはかなり大人数でのエンジニア組織でしか無理そうだなと改めて実感できました。

 

スタートアップがいきなりマイクロサービスで開発を進めるのは悪手になりそうですね。モノリスな環境から必要に応じて部分的にマイクロサービス化していくのが良さそうだと感じました。

The following two tabs change content below.

髙妻智一

2013年CyberAgent新卒入社 スマホゲームを作る子会社に所属し、サーバーサイドのエンジニアを担当。2年目の終わりから新規子会社の立ち上げに参加し、サーバーサイドのエンジニアリーダーとしてサービースのリリースから運用までを担当。 2018年仮想通貨のスマホウォレットを提供するGinco Incにブロックチェーンエンジニアとして入社。






よく読まれている関連記事はこちら




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です