コンテナ導入のポイント
クラウドネイティブNow
実際にコンテナを導入する際のポイントを説明します。
【目次】
- コンテナ化に向いているシステムとは?
- 導入の進め方
- 導入時の主な注意事項
- まとめ
コンテナ化に向いているシステムとは?
アプリケーション・システムをコンテナ化するにあたって、一般的にコンテナ化に向いていると言われるシステムには次のようなものがあります。
ウェブアプリケーション
ウェブアプリケーションに使用されているウェブサーバーなどのソフトウェアがコンテナに対応しているものが多いため、コンテナ化が容易であり向いています。ただし、コンテナの揮発性という特性から、アプリケーションについてセッション管理やログ出力の仕組みなどを改修する必要があります。
改修頻度・リリース作業の発生が多く想定されるシステム
コンテナ化の大きなメリットの一つとして、さまざまな環境下への移動が容易であり、リリース作業の効率化や起動時間を短縮できることが挙げられます。このため、エンハンスを継続して行うシステムの場合、これらのメリットを活かすことができるので向いています。逆に、すでに開発計画が終息しており、エンハンスも行わないようなシステムではメリットを活かしづらく、移行コストやランニングコストのみが膨らむ可能性もあるため不向きです。
アクセス数など負荷状況が大きく変化するシステム
コンテナオーケストレーションのオートスケール機能を活用して、システムの柔軟性を高めることができるため向いています。
マイクロサービスアーキテクチャーやCI/CDを導入できるシステム
コンテナと共に、これらのクラウドネイティブ技術を導入することで、サービスリリースの高速化やリリースによる影響の局所化を実現し、俊敏なシステム改善を実現できるため向いています。
導入の進め方
コンテナはマイクロサービスのような最新技術と一緒に語られることが多いですが、コンテナが導入できるのはそれらの最新技術が適用されたシステムに限りません。最初は、既存資産をコンテナに単純移行して、その後、段階的に機能分割やクラウドネイティブの技術を適用するスモールスタートのアプローチもできます。
-
1st STEP
- 既存システムのコンテナ化
- 既存資産をコンテナへ単純移行します。これにより、インフラサービスの型化や提供までの期限が短縮(コンテナ自体は数秒から数十秒で配備)され、インフラデリバリーの高速化が実現できます。
-
2nd STEP
- 部分的にクラウドネイティブ技術を導入
- 既存システムから部分的に切り出した機能または新機能に対し、クラウドネイティブ技術を適用して既存資産と連携させます。これにより、既存資産の仕組みにとらわれずに開発でき、リリースの高速化や適材適所でのクラウドサービス利用といった選択ができるため、サービス連携が実現できます。
-
3rd STEP
- アーキテクチャー移行
- 既存資産をマイクロサービスやCI/CDなどのクラウドネイティブ技術を適用して移行します。これにより、業務リリース全体の高速化が実現できるため、既存資産を意識せずにさまざまなアーキテクチャーの選定ができます。
なお、これらは1st STEPから必ず行わなければいけないという訳ではなく、2nd STEPからスタートするといった進め方でも問題ありません。3rd STEPへと適用範囲が広がるほど効果は大きくなります。ただし、得られる効果と移行 / 運用コストの比較から、1st STEPのみの対応は推奨しません。まずは自動化や標準化による効率化を行い、最終的に変化に強く新たな価値を生み出すITへと進化させて行くことをお薦めします。
導入時の主な注意事項
コンテナ導入時において注意したい点を説明します。
Kubernetesのサポート
オープン・ソース・ソフトウェア(OSS)のKubernetes(クバネティス)はサポート期間が短く、コミュニティーレベルでのサポートです。このため、運用負荷を考慮してKubernetesを取り込んだ基盤製品やマネージドサービスの適用を強く推奨します。
コンテナ上での動作保証
コンテナ上で動作保証していない、またはコンテナ上で使用できないライセンスを使用しているシステムは検討が必要です。既存システムをコンテナ移行する場合、システムで使用している製品やオープン・ソース・ソフトウェアのライセンスがコンテナ上での使用に対応していることを確認する必要があります。
環境やツールの準備
従来のアプリケーションを動作させるウェブサーバーやアプリケーションサーバー、データベースサーバーに加えて、以下の環境やツールを準備する必要があります。
- コンテナオーケストレーションツールの機能を管理するサーバー
- コンテナを世代管理するサーバー(レジストリーサーバー)
- コンテナ内のデータを保存するための外部データベースや外部ストレージ
- コンテナ単位のリソース使用量監視や、ログ収集をできる運用管理ツール
本番環境のデータベースに対するコンテナ適用
本番環境のデータベース(DB)に対するコンテナ適用には、慎重な検討が必要です。インメモリーDBや非RDB(NoSQLなど)の場合は比較的コンテナ化が容易ですが、RDBの場合はスケールアウトを想定した仕組み(更新整合性、トランザクション制御など)に対応していないことが多く、またバックアップや障害復旧手順などの運用方式が変更になといった留意点があるため、コンテナ化により得られるメリットと比較して、適用を検討する必要があります。
OSの違いによるコンテナ技術の機能差
現状、コンテナ技術に関してLinux系OSとWindows系OSでは『できること、できないこと』に違いがあります。OSの選定時には、必ず最新情報を基に制限事項などを確認し、慎重に検討する必要があります。
- 技術のアップグレードが頻繁に行われるため、必ず最新情報を基に確認を行う
- 更新頻度が低い情報は正確でないこともあるため、出来るだけ更新頻度の高い情報を基に確認を行う
まとめ
ITシステムにコンテナを含むクラウドネイティブ技術を適用することで、変化の激しいビジネス環境に対応できる変革を実現していくことができます。コンテナを適用したITシステムでは以下を実現できます。
- サービスの改善とリリースを素早く繰り返す
- サービスを停止せずに、バージョンアップを行う
- 素早い回復により、障害時にもサービスを止めない
- スケール・復旧の自動化により運用負荷を軽減する
そして、このシステムを活用することにより、ビジネスは次のように変わります。
- 新しい価値創出にリソースを集中し、素早く柔軟に挑戦できる
- エンドユーザーの体験価値を向上できる
- ビジネス機会の損失を防止できる
DX(Digital Transformation / デジタルトランスフォーメーション)を推進する新しいシステムには、コンテナの適用が非常に効果的です。既存システムにおける従来からの課題にも、コンテナ適用による効果が見込めます。コンテナの導入を検討する際は、ぜひ富士通にご相談ください。
本コンテンツに関するお問い合わせ
お電話でのお問い合わせ
Webでのお問い合わせ
当社はセキュリティ保護の観点からSSL技術を使用しております。