2024.02.12

エンタープライズCOTSプラットフォームの複雑さ(前編)

コパード(Copado)株式会社
このエントリーをはてなブックマークに追加

みなさん、こんにちは。2013年にスペインで設立され、現在米シカゴに本社を置くCopado(以下:コパード)は、セールスフォース向けに最先端のデブオプスプラットフォームを提供しています。本ブログでは、昨今の開発の複雑さとデブオプスの必要性についてご紹介したいと思います。



目次

前編:本ブログ
  ✔︎概要
  ✔︎エンタープライズCOTSプラットフォームとは何か?
  ✔︎ポイント&クリックが主体の開発モデル
  ✔︎開発環境の同期・メンテナンス
  ✔︎定期的なアップグレードへの対応
  ✔︎メタデータとしてのデータ管理


後編:こちらをクリック

  ✔︎エンタープライズCOTS開発とデブオプスの必要性
   ・ドキュメンテーションの不足
   ・複雑なリリースプロセス
   ・バックグラウンドの異なるチームメンバー
   ・サイロ化されたチーム
  ✔︎結論





概要

エンタープライズ商用オフザシェルフソフトウェア(COTS:コッツ)向けのデブオプスの複雑さは、ソフトウェアデリバリ業界全体であまり理解されていません。。その要件が過度に単純化されているように思われます。本稿では、エンタープライズCOTS分野におけるデブオプス特有の課題と、AWSGoogle Cloud Platform(以下:GCP)上にデプロイされる従来のマイクロサービスベースのアプリケーションよりも困難な理由を明らかにします。


エンタープライズCOTSプラットフォームとは何か?

エンタープライズCOTSソフトウェアには、セールスフォース CRMOracle FinancialsSAP ERPなどがあります。これらのソリューションは、すぐに動作するアプリケーションとして提供されますが、セールスフォースやSAPをそのままの形で導入している企業は現在ありません。その代わりに、顧客、SIパートナー、ISVがそれぞれのニーズに合わせてアプリケーションを強化・拡張できるように、カスタマイズが行われます。

 

ポイント・アンド・クリックが主体の開発モデル

今日のプラットフォームはすべて、ポイント・アンド・クリックによるカスタマイズが可能です。セールスフォースによって始まったローコード革命は、これらのシステムの構成と管理(管理者のスキルレベルも含む)の方法を完全に再構築しました。しかし、これらのシステムを実装するには、ポイントやクリック以上のものが必要です。例えばセールスフォース には、項目レベルおよびレコードレベルのコントロールへのアクセスを可能にする包括的なセキュリティ設定が用意されています。これらは、企業の内部ユーザだけでなく、ポータルを通じて外部の顧客やパートナーにも適用されます。そのため単純なクリックがもたらす影響には、社外の利害関係者への機密情報の漏洩が含まれる可能性があります。

 

開発環境の同期・メンテナンス

GCPやAWSで構築されたほとんどのクラウドベースのアプリでは、Infrastructure as CodeIaC)を使用して環境が定義されています。これらの環境はエフェメラル(一時的)であり、新しいバージョンのコードは通常Docker Imageを更新し、新しい本番環境をスピンアップすることを意味します。同じ方法で開発環境とテスト環境をスピンアップすることができます。

エンタープライズCOTS環境はエフェメラルではありません。Terraformの記述から新しい環境をスピンアップすることはできません。これは、デブオプスツールが環境を同期しておくか、顧客が時々Sandboxのリフレッシュを行う必要があることを意味します。

Sandboxのリフレッシュは頻度が限られており、ユーザーにとって特別な課題となります。ポイント・アンド・クリックの性質上、開発環境で修正しパイプラインの次の環境に反映していくプロセスよりも、対象となる環境で直接問題を修正する方が簡単です。しかし、その結果、環境の構成が異なり同期が取れなくなります。環境の乖離が大きければ大きいほど、リフレッシュ時に変更をリカバリーするのが難しくなります。

 

定期的なアップグレードへの対応

クラウドベースのホスティングは素晴らしいものですが、一般的に、これらのシステムを動かす基盤となるプラットフォームは、年に何度もアップグレードされるわけではありません。プロバイダーは下位互換性を維持します。セールスフォースはAPIのバージョンアップを行い、スムーズなアップグレードに成功していますが、新機能を利用するためには、顧客は最新バージョンに更新しなければなりません。

この問題は、チームが自動テストを実施する際に最も頻繁に表面化します。例えばSeleniumのような従来のツールは、UI上のアイテムを見つけるためにDOMを使用します。残念ながら、セールスフォースのような複雑なユーザーインターフェースでは、DOMロケータがリリースごとに変更されるため、アップグレードのたびにこれらのテストケースが壊れます。

メタデータとしてのデータ管理

顧客やISVのアプリケーションでは、アプリケーションの機能を制御するためにデータを使用することは非常に一般的です。データレコードはメタデータのように機能し、エンタープライズCOTS分野のデブオプスツールは、複数のソースからのデータを統合するために、データを抽出・変換・再アップロードする必要があります。これらの構造は多くの場合、階層的なデータモデルそのものであり、制御された順序でデータを移動させる機能が必要となります。

 

後編では、上述の昨今のクラウドベースのアプリケーション開発の特徴を踏まえて、実際のプロジェクトでの課題とデブオプスの必要性について記載しますので、是非ご一読してみてください。

4.png



後編へのリンクはこちらをクリック
コパード社のその他のブログはこちらをクリック




関連リンク
コパードホームページ
コパードコミュニティー
リンクトインはこちら
X(旧:ツイッター)
ブログ

1.3_Copado.png

この記事の著者:コパード(Copado)株式会社

コパード:セールスフォース向け #1 デブオプスプラットフォーム
プラットフォーム、ツール、トレーニングを提供し、開発・テスト・リリースにかかる時間を短縮することで、
ユーザーの方々がより安心・安全に迅速にプロジェクトを遂行できるようにします。


DevOps Hubのアカウントをフォローして
更新情報を受け取る

  • Like on Feedly
    follow us in feedly

関連記事

このエントリーをはてなブックマークに追加

お問い合わせ

DevOpsに関することなら
お気軽にご相談ください。

Facebook、TwitterでDevOpsに関する
情報配信を行っています。