FORCIA CUBEフォルシアの情報を多面的に発信するブログ

Kubernetesやっていくぞ

2019.12.07

アドベントカレンダー2019 テクノロジー 開発事例

FORCIAアドベントカレンダー2019 7日目の記事です。

検索プラットフォーム事業部エンジニアの小孫です。

旅行会社のサイトで主に列車の検索画面を担当しています。最近注目の鉄道ニュースといえば、来年5月から運行される「WEST EXPRESS 銀河」ですよね。通常の指定席料金で乗れる夜行特急ということで、旅の選択肢がまた一つ増えますね!

さて、アドベントカレンダー7日目は、鉄道ではなく「船」の話をします。突然ですが、ギリシャ語で「水先案内人」を何というかご存知でしょうか。

そうです。κυβερνήτηςですね。

すみません。Kubernetesです。クバネティスです(発音はたぶん)。

このところ本番環境での利用が増加しているこのKubernetesについて、フォルシアでの導入の検討過程についてお話します。
Kubernetesの技術的な話というよりは、フォルシアでの新しい技術への取り組みについて、Kubernetesを一例としてお伝えしようと思います。

個人的きっかけ

新人の頃に同期がSlackで共有した記事に、「いまどきdockerを使ってない会社なんてすぐに辞めるべき」みたいなことが書いてありました。当時フォルシアの業務ではdockerを使っていなかったので、これは辞めるべきなんか!?と焦りました(嘘です。全然焦ってないです)。

しばらくしてKubernetesというものを耳にしました。いま流行りの「コンテナオーケストレーションシステム」らしい。よくわからん。

そもそもどう発音するのが正解?くーべるねてぃす?きゅばねてぃす?
というわけで本を買って少し勉強してみました。

フォルシアでの導入を考える

その後デブサミに行く機会があったので、Kubernetes関係のセッションを探してみました。すると結構ある!早速登録して話を聞きに行きました。
会場で「Kubernetes触ったことあるよ〜って人?」は3割くらい、「本番運用してるよ〜って人?」は数%で、思っていたよりも少ない。日本での普及はこれからだが、世界的には本番運用も珍しい技術ではない、とのことでした。

さて、このイベントで特に知りたかったのは、フォルシアのサービスでもKubernetesを導入できるのか、する意味があるのか、という点でした。ちょうど登録したセッションの中に、長年運用してきたアプリをマイクロサービス化してKubernetesに移行中、というものがありました。
お、参考になりそう!と思い、セッション後に登壇者に話を聞きに行ってみました。

が、フォルシアのようにオンプレで運用している顧客サービスが多い場合には、Kubernetes移行はコスパが悪いと思う、という話でした。

うーん、まあたしかに。

登壇者の会社でも、Kubernetes移行したのはクラウド運用の自社サービスだけということでした。

というわけで、どうしたもんかなあ、と思っているうちに月日は流れていきました。

季節は巡り

社内で絶賛開発中の案件で、開発環境にdockerを使っているという話が出てきました。コンテナ化=マイクロサービス化というイメージが強く、アプリのフレームワークから考え直さないといけないかなと思っていましたが、そう難しく考える必要はありませんでした。
1プロセス1コンテナの原則に従いミドルウェアごとにコンテナを作って、docker-composeで管理する、という構成でした(これでフォルシアを辞める理由がなくなった!)。

さらに、ログ分析のためにオンプレサーバでKubernetesの利用を始めた!という事例も出てきました(独力でKubernetesを運用し始めた凄腕エンジニアのHさん、恐るべし)。

機運高まる!

このように社内でコンテナ化、Kubernetes利用の機運が高まってきた中、フォルシアのサービスでコンテナをどう活用していくか、という内容でエンジニアでディスカッションを行いました。

  • 開発環境でdockerを使うのは、特に大規模アプリの開発で便利
  • 本番環境でのKubernetesの利用は、運用やリリースのコストが下がり、顧客にとってもフォルシアにとってもメリットがある
  • Spookの性質上、データの永続化が不要なので、コンテナとの相性が良い
  • 顧客サービスでKubernetesをいきなり導入するのは現実的ではないので、自社サービスから段階的に実績を作っていきたい

  • という感じで、今後の方向性をはっきりさせることができました。

    そしてこのディスカッションを受けて、早速Spookの簡単なアプリをGKEに乗せてみました!
    (実際にはアドベントカレンダーまでに、ということでがんばりました。アドベントカレンダー駆動開発ですね)

    まだまだKubernetesを触り始めたばかりですが、来年のアドベントカレンダーでは実際に本番環境に導入した話をしたいです。

    最後に

    今回のKubernetesのように、フォルシアでは新しい技術に関するディスカッションや、実際にその技術を使っているエンジニアによるゼミ形式の講義を毎週社内で行っています。新しい技術に触れながらも、地に足を付けて開発に取り組む環境が整ってきたと感じています。

    そんなフォルシアに興味を持った方は、ぜひこちらまで!

この記事を書いた人

小孫 一浩

2017年新卒入社のエンジニア。旅行会社のシステムを担当。
所属しているDevOpsチームではインフラ寄りのことにも触れられて楽しいです。