2018.12.27
これからの開発手法 Salesforce / DataSpider Cloudで実装するマイクロサービスアーキテクチャとは
「マイクロサービス」とは、モノリシック(一枚岩)なアーキテクチャをビジネスの機能に沿って
小さい「マイクロサービス」に分割し、それらを連携させるというサービス思考アーキテクチャ(SOA)です。
特に、以下の3つの利点を実現できるものとして、「マイクロサービス」は、NetflixやAmazonなど
ネット新興企業で多く採用されており、急激なビジネスの変化にも強くて柔軟性の高いアーキテクチャとして注目されてきています。
・効率的な開発
・迅速なデプロイ
・優れた回復性やスケーラビリティ
Salesforceは、標準カスタマイズで、プロトタイプ画面をスピーディーに開発し、ユーザからその
フィードバックを得てブラッシュアップして繰り返し開発やテストを進める、「アジャイル」型の
プロジェクト進行で、その開発生産性の高さや柔軟性の高さは、ご存知の通りですが、
これからは、UIを介さない機能やインテグレーションに関しても同じように頻繁な変更や機能追加にすばやく対応し、市場やユーザの要望に応じて常に改良や変更が加えられ、変化していくことが可能になるアーキテクチャを求められることになると思います。
つまり、用途・目的ごとに小さな(マイクロな)サービスを作っておき、それらをAPIでつなぎ合わせて連携させ、変化に強くて柔軟性の高い、一つの大きなサービスを構成する手法がマイクロサービスとのことです。
以下の事例では、2つの大きな販売サービスを運用させるにあたり、DataSpider Cloudを使って、
小さいマイクロサービスを開発し、Web API化させて、各サービスを呼び出し連携させています。
小さい「マイクロサービス」に分割し、それらを連携させるというサービス思考アーキテクチャ(SOA)です。
特に、以下の3つの利点を実現できるものとして、「マイクロサービス」は、NetflixやAmazonなど
ネット新興企業で多く採用されており、急激なビジネスの変化にも強くて柔軟性の高いアーキテクチャとして注目されてきています。
・効率的な開発
・迅速なデプロイ
・優れた回復性やスケーラビリティ
Salesforceは、標準カスタマイズで、プロトタイプ画面をスピーディーに開発し、ユーザからその
フィードバックを得てブラッシュアップして繰り返し開発やテストを進める、「アジャイル」型の
プロジェクト進行で、その開発生産性の高さや柔軟性の高さは、ご存知の通りですが、
これからは、UIを介さない機能やインテグレーションに関しても同じように頻繁な変更や機能追加にすばやく対応し、市場やユーザの要望に応じて常に改良や変更が加えられ、変化していくことが可能になるアーキテクチャを求められることになると思います。
つまり、用途・目的ごとに小さな(マイクロな)サービスを作っておき、それらをAPIでつなぎ合わせて連携させ、変化に強くて柔軟性の高い、一つの大きなサービスを構成する手法がマイクロサービスとのことです。
以下の事例では、2つの大きな販売サービスを運用させるにあたり、DataSpider Cloudを使って、
小さいマイクロサービスを開発し、Web API化させて、各サービスを呼び出し連携させています。
ただし、マイクロサービスは素晴らしいアーキテクチャなのですが、多くのシステムが既にモノリシックに開発されているため、いきなりシステムを分割させるのが難しい現実があります。
従いまして、既存システムへの呼び出しをマイクロサービスでラップし、徐々に既存システムを新しいサービスに置き換えていったり、影響の小さい機能から徐々にマイクロサービスに分割していく方法が望ましいと思います。
DataSpider CloudのHTTPトリガーを使えば、DataSpider Cloud自体をREST APIのサービスとして活用することが容易に可能です。 HTTPトリガーでは設定によってXML・JSON・CSVなどのデータを返すことができ、簡単にさまざまなフォーマットのデータのAPIを作成可能となっています。
Salesforce Platformでは、ネイティブのデータオブジェクト自体がそもそも RESTベースのマイクロサービスとして自動的に公開されるため、あらゆる場所からの接続が可能です。 また、Salesforce の機能である Salesforce Connect では、外部データベースをOData ベースのアプローチで同期を行い、外部オブジェクトとして、こちらもRestfulにアクセス可能です。
また、最近、salesforce.comよりAPI Management 機能を持つ MuleSoft Anypoint Platformというサービスも発表されました。こういったマイクロサービス化を簡単に実現させるためのあらゆるツールや手法が登場してきていることは事実です。
どの手法やツールを使って、マイクロサービス化を実現し、レスポンスのパフォーマンス、データの一貫性の保証、運用管理業務のオペレーションの負荷、アーキテクチャ設計の難易度といったようなマイクロサービス化の課題をクリアしていくのかは、我々エンジニアの知恵次第かと思います。
従いまして、既存システムへの呼び出しをマイクロサービスでラップし、徐々に既存システムを新しいサービスに置き換えていったり、影響の小さい機能から徐々にマイクロサービスに分割していく方法が望ましいと思います。
DataSpider CloudのHTTPトリガーを使えば、DataSpider Cloud自体をREST APIのサービスとして活用することが容易に可能です。 HTTPトリガーでは設定によってXML・JSON・CSVなどのデータを返すことができ、簡単にさまざまなフォーマットのデータのAPIを作成可能となっています。
Salesforce Platformでは、ネイティブのデータオブジェクト自体がそもそも RESTベースのマイクロサービスとして自動的に公開されるため、あらゆる場所からの接続が可能です。 また、Salesforce の機能である Salesforce Connect では、外部データベースをOData ベースのアプローチで同期を行い、外部オブジェクトとして、こちらもRestfulにアクセス可能です。
また、最近、salesforce.comよりAPI Management 機能を持つ MuleSoft Anypoint Platformというサービスも発表されました。こういったマイクロサービス化を簡単に実現させるためのあらゆるツールや手法が登場してきていることは事実です。
どの手法やツールを使って、マイクロサービス化を実現し、レスポンスのパフォーマンス、データの一貫性の保証、運用管理業務のオペレーションの負荷、アーキテクチャ設計の難易度といったようなマイクロサービス化の課題をクリアしていくのかは、我々エンジニアの知恵次第かと思います。
4 件