AI自動翻訳プラットフォーム「ヤラクゼン」を企画、開発、運用している八楽は、コンテナやKubernetesを活用したクラウドネイティブな開発、運用スタイルを実現している。現在活用しているコンテナやKubernetesにどのようなメリットを感じているのか、多拠点チームで開発生産性を高めるためにどのような取り組みをしているのかを交えて紹介する。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
筆者の私が取締役 CTO(最高技術責任者)を務める八楽は、AI自動翻訳プラットフォーム「ヤラクゼン」の企画、開発、運用を通じて、翻訳業務の効率化と翻訳品質の向上、翻訳チームのナレッジ共有を支援しています。ヤラクゼンはソニーや帝人、コニカミノルタなどの大手企業を含め、延べ1000社以上に導入されています。
2009年の設立以降、開発メンバーの数は年々増加しています。新型コロナウイルス感染症(COVID-19)の拡大以前からテレワークが主体で、米国、ドイツ、ブラジル、インドなどの海外をはじめ、国内(東京、大阪、奈良、高知、その他)から、場所や時間にとらわれずメンバーが働いています。日本の会社ではありますが、私を含め開発メンバーは9割が外国人で、日本人のメンバーはほとんどいません。同じ場所、同じ時間で仕事をしないこともあり、開発環境やデプロイプロセスに多くの苦労や課題がありました。
本記事では、弊社における開発環境の変化を振り返りつつ、昨今注目を集めるコンテナ、Kubernetes(k8s)、Jenkinsなどを利用した自動化、効率化をどう推進しているのか、テレワークにおける時差などの問題をどう乗り越えているのか紹介します。
以前の開発環境は、共有サーバに開発者専用のフォルダがあり、そのサーバにインストールされているデータベース(DB)やその他のバッキングサービスを開発者間で共有していました。そして、変更したファイルをサーバ上の専用フォルダに自動的に同期させるようIDE(統合開発環境)を設定していました。
当時はデータのアップロード中に何かが破損して、サーバとローカルファイルで同期が取れなくなることも複数ありました。またDBに関する問題への対処や、テーブルの変更作業をする場合、サーバ管理者がログインして解決するしかありませんでした。開発者はサーバ管理者の手が空くまで、問題が解決されるのを待たなければならないことが多々あったのです。
これらの問題を解決するために、各開発者のPCに仮想マシン(VM)をインストールして利用するようにしました。
これにより多くの課題は解決しましたが、仮想マシンの動作は非常に重く、新しい開発メンバーのためにVM環境をセットアップするのに毎回非常に長い時間がかかっていました。デプロイプロセスのどこかで問題が発生したとき、サーバ管理者が開発メンバーのPCの設定まで踏み込んで解決しなければならないということもよく起こりました。
Copyright © ITmedia, Inc. All Rights Reserved.