SHOEISHA iD

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

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

freee、マジ価値開発の現場から

AWSにおけるKubernetes――OSSを活用した、マイクロサービスアーキテクチャの課題を解決する取り組みとは

freee、マジ価値開発の現場から 第4回

  • X ポスト
  • このエントリーをはてなブックマークに追加

Kubernetes (on AWS)や周辺ツールの成熟

 「マイクロサービスにおけるRails」とは結構なことです。しかし、それが自社に許された工数や人的リソースで構築・運用でき、それを活用してビジネスの役に立たなければ意味がないでしょう。

 そのために欠かせないのは、OSSの力を借りる、ということです。

 freeeでは、Kubernetesを前提としたOSSを採用したり、私がメンテナーを買って出たりすることで、できるだけ自社だけで開発が閉じないようにしています。特にメンテナンスを代行するコストは相当なものですが、あえてそれをやるメリットは、「自社よりも大きな規模でKubernetesを利用しているエンジニアの要望に耳を傾けることで、自社に将来必要とされること、直面する課題を事前に察することができる」ということにつきます。

 そのために、私は以下のOSSのメンテナーをしています。似たような課題感をお持ちの方は、ぜひREADMEを読むところから初めてみてください。

kube-aws

kube-aws
kube-aws

 言わずと知れたKubernetes on AWSクラスタを構築し、クラスタの構成情報をコードで管理するためのツールです。AWSに詳しい方であれば、「CloudFormationのwrapper」と言えばわかるかもしれません。利用する敷居の高さは正直kopsなど他のツールと比べて高いものの、AWSのベストプラクティスを活かしてプロダクション用とのKubernetesクラスタを構築することだけを突き詰めているので、AWSに詳しい人にとってはとっつきやすく、コントロールしやすいといったメリットがあります。私自身、そのメリットを持ったKubernetesクラスタのプロビジョニングツールがほしいがために、そしてまだそこに注力した代替えツールが存在しないために、いまだにメンテナーを続けています。

Helmfile

Helmfile
Helmfile

 KubernetesのためのCloudFormationやTerraformのようなものです。1チーム、1サービスなどの比較的大きな単位で必要とされるアプリケーション一式をYAMLで一元的に管理し、まとめてデプロイするといったことができます。内部ではHelmというKubernetes向けのパッケージマネージャを利用しています。

Brigade

Brigade
Brigade

 Kubernetes向けのスクリプティングフレームワーク。LinuxにおけるBash、WindowsにおけるPowerShellのように、KubernetesをOSと見立てたときにKubernetes上で動く「ちょっとした」分散システムをスクリプト感覚で組めるもの、といえます。CI&CDパイプラインの実装などによく使われていますが、原理的にはJavaScriptとKubernetesで表現できることは何でもできます。

まとめ

 本記事では、コンテナ仮想化やマイクロサービズアーキテクチャを取り巻く状況とfreeeにおける課題、またそれに対する対抗策としてKubernetes on AWSの活用、そして周辺OSSについて紹介しました。

 コンテナもKubernetes on AWSも何らかの課題解決の手段で、すべてのケースで適用できるわけではないと思います。しかし、ここで紹介したことが、急激に分散し大きくなるシステムやチームに悩まされているエンジニアの皆さんの参考になれば幸いです。

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
freee、マジ価値開発の現場から連載記事一覧

もっと読む

この記事の著者

九岡 佑介(freee株式会社)(クオカ ユウスケ)

 freee株式会社 プロダクト基盤本部 SRE, OSS Developer MO/MMO 廃人、自然言語処理、エクセラー……とジョブチェンジを重ねていたら、いつの間にかここに。現在は freeeのSRE、ChatWorkの技術顧問、kube-awsのメンテナーという3足のわらじを履いて、世界中に...

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10817 2018/05/16 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング