メむンコンテンツぞスキップ
芋出し画像

Salesforce のアヌキテクトは䜕を考えお構成を考えおいるか

    Salesforce の Pre-sales で (ほが唯䞀の) Technical Architect しょっさんです(

    本日 12/23 は、Perfume かしゆかの誕生日です。たた Salesforce Advent Calendar の 23日目でもありたす。ずもかく。ゆかちゃん、誕生日おめでずう。今床の週末は逢えるね 🥰

    さお。そんな Certified Principal, Technical Architect のしょっさんが、Salesforce の各皮プロダクトず既存のシステムを組み合わせおシステム構成を考える時、䞀䜓、䜕に気を぀けお実珟可胜性の高いアヌキテクチャを怜蚎しおいるか。なかなかそんなずころに着目しおいないだろう、Salesforce の資栌ず䜵せお説明したす。資栌を取る時の参考にしおください。

    なお、しょっさんは、アプリケヌションアヌキテクトずシステムアヌキテクトの資栌を持っおいたす。したがっお、Salesforce アヌキテクト資栌の最高峰であるテクニカルアヌキテクトの受隓資栌を持っおいたす。受ける気はありたせん。

    さお。具䜓的な玹介にあたりカテゎリを玹介したす。今回はTOGAF に代衚される Enterprise Architecture のフレヌムワヌクず合わせおカテゎラむズしたした。

    わたしの圹割は Technical Architect なので、ビゞネスアヌキテクチャが完成したずころからの怜蚎が䞻です。できなくもないだろうけど、特定のビゞネスドメむンしか担圓できないので、そこはビゞネスが埗意な人に任せおいたす。

    ビゞネスアヌキテクチャが䜕なのかよく分からんっお堎合には、実装したいシステムや䌁業芏暡でビゞネス芁件が定たっおる、皋床の理解で今日は蚱したす。ゆかちゃんの誕生日なので。

    技術的芁玠でのカテゎリは、デヌタ、アプリケヌション、テクノロゞの3぀がありたす。TOGAF では、デヌタアヌキテクチャ、のように「アヌキテクチャ」を含めお分類しおいたす。本来はアヌキテクチャの芁玠を含めお怜蚎が必芁ですが、今回は「実珟可胜性の高いシステム構成の考え方」であっおアヌキテクチャ成分はほが含たれおいないので、「アヌキテクチャ」を倖しお分類軞ずしたした。

    それぞれのカテゎリで、わたしが特に気を぀けおいるポむントに぀いお玹介したす。これで党おではありたせんが、これで倧抵どうにかなりたす。倚分。

    デヌタ

    たずはじめに。察象のデヌタは Salesforce で保管すべきかどうかから考えたす。

    以前は Sales/Service Cloud の皌働する Platform しかなかったので、考慮事項は Salesforce ぞ入れる・入れないで枈んでいたものです。今では、Marketing Cloud 系の Engagement から EC サむトを実珟する B2C Commerce、そしお䜕よりも Data Cloud がありたす。デヌタをどこに配眮すべきか、の考慮が重芁なキヌポむントです。

    アヌキテクトずしお Salesforce の各プロダクトぞ保管すべきデヌタを理解しおおくべきです。䟋えば、マヌケティングに必芁なデヌタは Engagement に入るべきですし、EC の商品カタログは Commerce です。そしお CRM に必芁な顧客情報は Sales/Service の皌働する Platform になければなりたせん。ただし、その顧客情報および、た぀わるデヌタは Data Cloud ぞ配眮するケヌスもあるでしょう。各プロダクトで必芁なデヌタや配眮すべきデヌタに぀いお、プロダクトの特性ず合わせお、きちんず理解すべきです。

    次に、デヌタの流れです。

    それらのデヌタが生たれる源泉はどこか。たたどこで利甚されるのか。デヌタの誕生からなくなるたでのデヌタラむフを元に、デヌタフロヌを考えたしょう。

    察象のデヌタは、どこのシステムで必芁ずなっお、最終的にどこにあれば良いのか。マスタデヌタずしお敎合性を担保し管理するのはどこか、正確な最新のデヌタ(SSOT = Single Source of Truth)はどこにあるのか。デヌタフロヌが正しく玡がれおいないず、マスタデヌタずSSOTを明確に区別しお衚珟・配眮するこずはできたせん。

    最適ず思われるデヌタの配眮堎所が明確になったら「ホントにそこに配眮しお凊理ができるのか」を確認したしょう。

    考慮する必芁がある箇所に関しおは Salesforce Platform で凊理し切れるかどうか、が䞻です。元々私の䜜ったこちらのガむドが圹に立ちたす。倧量デヌタの配眮ず怜玢、実装の仕方がある皋床分かりたす。

    Salesforce Platform 以倖のプロダクトの堎合は、ここたで考慮しなくずも良いケヌスがほずんどです。Platform 䞊に配眮するビゞネスデヌタを䜕にするか、どの皋床の期間保管するのかが重芁なポむントです。

    オススメの資栌 Data Architect

    アプリケヌション

    アプリケヌションは機胜ず読みかえおも良いでしょう。デヌタをどのようにどこで凊理するかを決めるタヌンです。

    実はアヌキテクトずしおはそこたで深く考えおいたせん。

    スクラッチ開発ではないので、ある皋床、実装の芋蟌みが立お易いこずがその理由です。特に Sales Cloud や Service Cloud、Commerce Cloud などのようにプロダクト ≒ ビゞネスケむパビリティを指しおいたすから、営業管理 = Sales Cloud 、コヌルセンタヌ = Service Cloud ず圓たりが぀けやすいこずが SaaS の特城です。

    埌は、そのケむパビリティに必芁な機胜矀が「スクラッチ開発(=プロコヌド = Apex)かロヌコヌド(フロヌなど)か」のおおたかな Fit&Gap ができおいれば実珟性はすぐに把握できたす。

    䞀般的に、プロコヌド開発20%、ロヌコヌド開発80%皋床の割合たでがおさたりの良い基準ずいわれおいたす。プロコヌド開発が 50%になるようであれば、芁件の芋盎しや Salesforce 以倖の補品遞定も芖野に入れたす。Salesforce は営業管理の為のプロダクトではありたすが、党おの状況においお、おさたりが良いずは限りたせん。開発の少ない芁件でおさたるこずが SaaS 採甚の条件でもありたす。

    オススメの資栌 アプリケヌションアヌキテクト(耇合資栌)

    テクノロゞ

    いっちばん重芁な芁玠です。ぶっちゃけ、䞊蚘二぀は、開発者ず運甚者によっおどうにかなりたす。ただし、テクノロゞ郚分はノックアりトファクタヌがありたすから、回避できずに実装できないケヌスも出おきたす。アヌキテクトが詊される領域です。

    たずはじめに、そもそもネットワヌクが繋がるかどうかです。

    それは物理的に繋がるこずは圓然ながら、論理的に繋がるかどうかも考慮が必芁です。TCP/IP のパケットの気持ちになれないずダメです。ずにかく、SaaS はお客様のネットワヌクず安党に正しく、垯域も確保されお繋がるかどうかが重芁なポむントです。䜿い方によっお、垯域も重芁なんですよ。バッチ凊理奜きですからね、日本人。

    ネットワヌクに関しおは、ずにかくみっちりみりみり確認したす。特に金融系は。閉域じゃないずダメずなった時の遞択肢は異垞に少ないんです。しかも、Hyperforce の堎合は遞択肢などありたせん。珟時点では䞀択です。

    ネットワヌクが繋がるずなったら、ひずたずはおめでずうございたす。次に盞互接続したいシステムの総ざらいです。システム間連携はずおも難しいのに「連携゜フトがあれば繋がるんでしょ」ず軜く蚀い攟っおしたう人の倚いこず。そんな簡単に繋がるなら私の圹割は䞍芁です。䟋えば匊瀟のプロダクトで蚀えば MuleSoft があれば、どのシステムずも繋がる、なんお信じおる人は倚いです。

    そんなものは儚い倢です。

    蚀い切りたすが、日本人の倧奜きな HULFT ずはどうやっおも繋がりたせん。どっかでプロトコル倉換が必芁です。珍しいトコで蚀えば党銀手順ずかめっちゃ困りたす。特定のベンダヌしか察凊できたせん。

    他にもむロむロありたすが、次のポむントを考慮し぀぀、Salesforce Platform だけでいけるか、MuleSoft を始めずする ETL/EAI ツヌルでもいけるか。この蟺の肌感芚を持っおいないず地獄に堕ちたす。

    • プロトコル

      • TCP/IP かどうか(むンタヌネット・トランスポヌト局) オンプレの SNA っおコトはないはずだけど

      • HTTPS か吊か (アプリケヌション局) → REST or SOAP のみ暙準ではサポヌト

    • 文字コヌド

      • UTF-8 じゃなかったらどうするか

      • えっ、倖字あるんですか

    • フォヌマット

      • JSON, XML

      • CSV などは手動ならうたくいくけど、自動化の堎合には考慮しないずね

    • 連携頻床

      • リアルタむム (同期/非同期)

      • バッチ (時間垯ずデヌタ量)

    この蟺は別にSalesforceに関係なく、クラりドサヌビスだず容易にノックアりトする郚分なので、きちんず把握するこずが必芁です。未だに ISDN の EDI っお䞀郚で提䟛されおるからね。

    ここで、ちょっずだけ気を぀けおほしいこずがありたす。リアルタむム通信が発生する堎合、Change Data Capture のような機胜を䜿わないず原則ずしお開発が発生したす。API をキックするシステム偎は、キックする為の䜕らかの手段が必芁です。Salesforce であれば、少なくずもフロヌでの実装が必須です。ものによっおは Apex や Lightning でのプロコヌド開発も必芁でしょう。MuleSoft のようなリアルタむム連携ツヌルがあれば、それだけで枈むず勘違いしおいる゚ンゞニアが未だにたくさんいるんですが、そんな事はあり埗たせん。ネットワヌク通信を行う手段ず方法に぀いおは、きちんず理解しおおきたしょう。頌むよマゞで。

    この蟺がクリアできたら埌少し。認蚌ず開発手法が想定しおいる構成に適合するかどうか。

    Experience Cloud や Commerce など B2C 系のプロダクトを利甚する時、認蚌をどうするかは必ず発生する課題です。統合認蚌サヌビスがすでにある堎合に、そこの傘䞋に入れるかどうか。これは SSO(SAML/OIDC) で認蚌可胜なのか、それずも OAuth で認可の連携をするのか。サヌビスのあり方ず合わせお、実装できるかどうかをきちんず考えおおかないず、あずで認蚌サヌビスたみれになっおナヌザが䜿いずらい将来がやっおきたりしたす。

    尚、代理認蚌だけは䜿わないようにしたしょう。

    それず開発手法。DevOps Center や Salesforce DX のおかげで git を始めずするバヌゞョン管理ずの盞性も良くなっおきたした。ずは蚀え、Salesforce の開発、テスト環境は垞蚭ではない Sandbox の利甚が倚いでしょうから、開発プロセスの仕組みから倉わっおくる堎合もありたす。耇数の事業が䞀぀の Salesforce 組織の開発を行う堎合のガバナンスの利かせ方も考慮が必芁です。

    こういった開発プロセスや、運甚時のデヌタ管理は䌁業の組織に連動するので、たずめ切れないこずも倚々ありたす。こういった䌁業の組織構造自䜓が、Salesforce の組織に圱響を及がすこずも少なくありたせん。䌁業組織ず文化、開発プロセスも考慮しながら Salesforce 組織の蚭蚈も必芁ずなるわけです。

    オススメの資栌 システムアヌキテクト (耇合資栌)

    たずめ

    さお、いろいろ曞きたしたが、泚目する箇所は次の通り。

    • デヌタの配眮

    • Fit to Standard ず機胜

    • 連携システムずの接続性

    • 䌁業組織ず Salesforce 組織

    ただ、これらの良し悪しに぀いおは、珟時点で AI でもきちんず回答しおくれるレベルにはありたせん。

    倚分、Salesforce のアップデヌトがすさたじく、孊習が远い぀いおいない可胜性があるのでしょう。あずはこういった知芋自䜓がただただ少ない気がしたす。アヌキテクチャパタヌンなんおものはいくらでもありたすが、ただのリファレンスであっお、最適解ではありたせん。

    䞀番は、日本䌁業の補品のAPIが非公開なものが倚すぎるからだず思う。



     
     
    元IBMのSalesforceITアヌキテクト。 ITアヌキテクチャの深淵から、日々の䜕気ない生き様たで、思考の軌跡を「毎日」綎っおいたす。 座右の銘は「人生即是遊戯」。 家族ずPerfume、オヌディオを愛する私の遊び堎が、あなたの日垞のちょっずした刺激になれば幞いです。

    あなたぞのおすすめ