モダンアプリケーション開発しませんか?
コンテナネイティブなモダンアプリケーション開発のメリットをご紹介します。
みなさんこんにちは東京エレクトロンデバイスでエンジニアをしている ふじ です。
今回は、アプリケーション開発手法にについてご紹介します。
アプリケーション開発手法には大きく分けて2つあり、モノリシックアプリケーション開発とモダンアプリケーション開発があります。
モノリシックアプリケーション開発
一つの大規模なプログラムに全ての機能が含まれている開発手法です。
シンプルな構成となり全体を把握しやすいですが、機能毎にコードが分割されていないので機能追加、修正に多くの時間を要してしまう事があります。
モダンアプリケーション開発
コンテナという技術を使い機能毎にコードが分割された開発手法です。
機能毎に独立したサービスとして動作し、サービス同士がAPIによる通信で連携します。
機能毎にコードが分割されているので機能追加、修正を短期間で実施する事ができますが、機能毎に分かれたアプリケーションの配置が自由になるので構成が複雑になってしまう事があります。
欧米ではサービスをいち早く公開する為にコンテナを使用したモダンアプリケーション開発が注目され普及してきておりますが、日本ではまだまだ普及していない状況です。
モノリシックアプリケーション開発のメリットに関してはご存じの方も多いとおもいますので、今回のブログではモノリシックアプリケーション開発の課題と、モダンアプリケーション開発のメリットをお伝えできればと思います
モノリシックアプリケーション開発の課題
・同じ環境の中に複数のアプリケーションを必須モジュールのバージョンが異なるなど混在できない
・冗長構成を組んでいても、レイヤーごとにメンテナンスのたびに独立メンテナンスができないかつ可用性が下がる
・アプリバージョンアップ時作業の影響範囲が大きい
・最前段のLBのメンテナンス時は片系となってしまう
メンテナンス実施における計画の作成、事前試験に関して連携して動作する内容が多くの時間が掛かります。
また、ハードウェア障害時の交換対応にも多くの時間が掛かります。
モダンアプリケーション開発のメリット
①環境もコンテナ単位で個別に分けられる
②メンテナンスもレイヤーごとに自由&容易な新規追加で冗長性も常に維持
③バージョンアップ時の切り替え/切り戻しも容易
④エッジサイトまるごと切り替えで冗長構成を維持したまま、最前段のADC置き換えも可能
コンテナを利用したモダンアプリケーション開発を行う事で機能毎に分割してメンテナンスが行えるのでスピーディーな対応ができます。
また、ハードウェア障害によるシステム停止のリスクも大幅に下げる事ができます。
モダンアプリケーション開発の導入に関して
様々なメリットがあるモダンアプリケーション開発ですが、モダンアプリケーション開発の導入に関して、どこから手を付けてよいかわからない、スキルを持った人材がいないといった状況もあるのではないでしょうか?
コンテナネイティブサービスでは、お客様アプリケーションのコンテナ化、アプリケーションの展開、セキュリティーを考慮したアプリケーション公開、運用の支援を行うエンジニアリングサービスです。
お客様のDX化の支援を出来たらと考えています。
「コンテナネイティブサービス」に関して気になった方はリンクをクリック頂ければと思います。
ブログの感想、サービスの質問等お気軽にご連絡ください。
長文となってしまいましたが本ブログを読んでいただきありがとうございました。