製造現場への移行:製造執行システムのKubernetesへの移行

はじめに

製造執行システム(MES)は、企業の業務システムと製造現場をつなぐ重要な橋渡しとして機能します。リアルタイムでの生産プロセスの監視・管理・最適化が求められるこのシステムですが、従來の部署方法では柔軟性やスケーラビリティに限界がありました。本記事では、MESのクラウドネイティブ化に向けたKubernetesへの移行戦略と、その技術的実裝について詳しく解説します。

技術の定義と特徴

製造執行システム(MES)

MESは、製造現場の生産計畫、品質管理、設備管理など、生産プロセス全體を統合的に管理するシステムです。リアルタイムデータの収集と分析を通じて、生産効率の向上やコスト削減を実現します。

KubernetesとCNCF

Kubernetesは、コンテナオーケストレーションのためのオープンソースプラットフォームで、CNCF(Cloud Native Computing Foundation)の主要なプロジェクトの一つです。アプリケーションのデプロイ、スケーリング、管理を自動化し、クラウドネイティブなアプリケーションの開発・運用を支援します。

DevOpsとマイクロサービス

DevOpsは、開発と運用の連攜を促進するアプローチで、継続的インテグレーション(CI)と継続的デリバリー(CD)を実現します。マイクロサービスアーキテクチャは、アプリケーションを小さなサービスに分割し、それぞれ獨立して開発・部署できるようにします。

実裝戦略と技術的実裝

コンテナ化とマイクロサービス化

従來のMESは、単一のモノリシックなアプリケーションとして構築されていましたが、このプロジェクトでは200以上のマイクロサービスに分割し、Dockerコンテナとして実裝しました。これにより、各サービスの獨立性と柔軟性が向上し、迅速なデプロイと拡張が可能になりました。

Kubernetesの統合

Kubernetesを採用し、クラウド環境とオンプレミス環境で多クラスタのデプロイを実現しました。クラウドではAzure AKSを、オンプレミスではBoschのBMLP(Bosch Manufacturing and Logistics Platform)を活用しました。これにより、リアルタイム制御が必要な製造ラインはオンプレミス、非リアルタイム処理はクラウドに分散することができました。

Helm Chartsによる管理

Helm Chartsを活用し、マイクロサービスのデプロイを統一管理しました。各サービスの設定はvalues.yamlで定義し、Schema検証を導入することで、誤った設定を防ぎました。また、グローバルな設定は運用チームが管理し、開発チームは必要なデータベースタイプを指定する仕組みを採用しました。

自動化とCI/CD

Argoを活用し、自動化されたデプロイと更新プロセスを構築しました。開発チームはロジックと設定を擔當し、運用チームはグローバルな設定を管理することで、分離された関心を持つアーキテクチャを実現しました。

本プロジェクトの成果と課題

柔軟性とスケーラビリティの向上

マイクロサービス化とコンテナ化により、迅速なデプロイとスケーリングが可能となりました。Kubernetesの動的なリソース割當により、運用負荷が軽減されました。

リスクの軽減

Schema検証とHelm Chartsの統一管理により、設定ミスのリスクが大幅に削減されました。また、自動化されたデプロイプロセスにより、更新時間は6〜10時間から並列デプロイにより短縮されました。

結論

本プロジェクトでは、MESのクラウドネイティブ化に向けたKubernetesへの移行を実現し、柔軟性とスケーラビリティの向上を達成しました。Helm Chartsによる統一管理とSchema検証は、設定ミスのリスクを軽減し、運用効率を向上させました。今後は、さらなる自動化とモニタリングの強化により、製造現場のデジタル変革を推進していきます。