arclamp

ITアーキテクト 鈴木雄介のブログ

企業システムとマイクロサービス #DF15

Salesforce.comのグローバルイベントであるDreamforce 2015(2015/9/15-18)に初参加してきました。仕事ではAWSもAzureも使うのですが、今回は最近なにかと縁があるSalesforceの雰囲気を感じに。

現地では事例セッションを中心に聞いて回りました。ご存じの通りSalesforceエンタープライズ領域で使われるものなので、事例もエンタープライズ系が多くなります。エンタープライズということは「既存システムがある」ことが前提になるので、それらの既存システムとSalesforceをどのように統合するのか、というのがアーキテクチャ設計上の重要なポイントとなります。

(もちろん、スタートアップのベンチャーSalesforceを活用してビジネスローンチを早めた、なんて事例もありますが、この場合は既存システムが存在しません)

各セッションでは既存システムを「ドメインサービス(Domain Service)」と表現しており、それらとSalesforce(あるいはHeroku)はAPIを通じて統合されます。
ドメインサービス」というのはDDD用語ですが、特定のビジネスドメインにおけるサービスを指しています。企業システム全体の視点から見ているので、粒度は「棚卸システム」「商品カタログ」「支払」「顧客情報」なんで感じです。
ドメインサービスは、それがクラウドかオンプレかということは関係ありません。「企業内における特定ドメインのサービスである」ことが重要であって、サービスが提供できていれば実装方式はなんでもいいのです。
以下は百貨店Macy's(メイシーズ)の講演で使われていた資料です。

f:id:arclamp:20150915154315j:plain

連携に使われるAPIはバッチ系、オンライン系、画面連携系と類別され、それぞれの統合するデータ量やタイミング、あるいはビジネス上の結合度などで使い分けられます。IoTクラウドも発表されたので、今後はリアルタイムストリーム系という統合も可能になるのでしょうね。
以下は家電量販店Target(ターゲット)の講演で使われた資料。バッチ連携をData、オンライン連携をBusiness、画面連携をUIと表現しています。

f:id:arclamp:20150917103958j:plain

また、企業システム内の各サービスを総称して「マイクロサービス」と呼ぶのは一般的なようでした。「うちの企業にはXX個のマイクロサービスがあって、統合されている」という言い方です。
前回のSpringユーザー会の夏イベントでも話しましたが、マイクロサービスアーキテクチャは「マイクロ」という単語に惑わされず「サービスを複数のサービスから構成する」という関係性に注目して理解すべきです。


というわけで、各セッションは「当然そうだよね」という話ばかりだったので違和感もなく聞けました。やはり、エンタープライズの文脈からもマイクロサービスアーキテクチャ的な考え方は有効であり、クラウドも、その一部として配置すればいいだけです。

印象的だったのは上記のようなユーザー事例講演はユーザー企業内のアーキテクトが話をしている点です。やはり企業全体を理解したアーキテクトの存在というのは非常に大きいなと思います。
日本国内において、その役目を誰が担うべきかは簡単な議論ではありませんが、僕自身、そうした立ち位置での仕事も増えており、今後も大きなニーズがあるのだろうことは間違いないでしょう。

さて、来月はJavaOneですね。