Salesforce パートナーオフィスアワーにゲスト出演
AWS Summit Tokyo の期間中のとある2018年5月31日(木)にひっそりと開催されたパートナーオフィスアワー(構築力)Webinarにゲスト出演させていただきました。
あらすじ
テーマは
- アプリケーションライフサイクル管理 と Salesforce DX
- Salesforce DX 事例
株式会社セールスフォース・ドットコムの川畑さんから頭出しとして米国で発表された資料をもとに概要を説明、株式会社フレクトの齋藤さんが実際に Salesforce DX を実戦投入したときの話を共有していく進行でした。
私は昨年の Salesforce World Tour Tokyo で発表させてもらった流れで合いの手を入れる係(発表ネタ、準備できなくてごめんなさい)。
Salesforce DX とは
Salesforce の考える Developer Experience を高めるための機能や仕組みの総称です。
現在、その中核的な機能としては、Salesforce を CLI から操作できるようにする Salesforce DX CLI、Salesforce コンテナーとも言える Scratch Org があります。
Salesforce DX では、 Infrastructure as Code でインフラもコードで管理する流れに影響を受け、Salesforce Platform も各種設定などをコードで扱えるように機能が拡充されてきています。ここで難しい点としては、UI で設定していく箇所はソースコード管理しにくいことです。具体的には、自社組織のアプリケーション開発や受託開発で他の SaaS(SalesCloudなど) と組み合わせて開発するケースが該当します。
反対に、ソースコード開発しやすいものとしては、Salesforce Platform 上にプログラミングすることで処理を追加することが多いパッケージ開発があります。これはパッケージに含められるものがソースコード管理できるものに限定されるため、必然と言えます。
こういったことを念頭に聴いていただくと、少し省略している背景知識を共有できると思います。
どんな内容
アプリケーションライフサイクル管理 と Salesforce DX
アプリケーションライフサイクル管理のリファレンスアーキテクチャの紹介があります。ここでは、各種 Sandbox、Scratch Org をどのように利用していくか、変更を本番組織に反映させる方法についてまとめられています。
ポイントとしては、ソース駆動開発できる箇所については Scratch Org を利用して、それ以外の宣言型開発では変更セットを利用して反映するようにしているところです。
このやり方については次の斎藤さんの事例共有でも言及されており、現実的な手法だということがわかります。
Salesforce DX 事例
齋藤さんから Salesforce DX を開発に利用した事例が3つほど発表してもらいました。
1つ目の事例では、チーム開発時に Sandbox 1つで開発しようとしたところさまざまな問題が発生したため、Salesforce DX を導入しています。このケースでは、Salesforce DX 導入を機にソース駆動開発に切り替えています。
ソース駆動開発で解消している問題もありますが、ブランチごとに Scratch Org を作成・デプロイすることで開発中のソースコードを実行しながらレビューできるようになった点は開発効率改善に大きく寄与しています。
2つ目の事例では、Dreamforce で紹介のあった Scripting DX を利用して、ソースコードの自動同期を実現してさらなる効率化を図っています。
ただ、このケースでは機能を分業して開発しておりコンフリクトが起きる可能性が低いですが、同じ機能を複数人で開発するようなケースでは注意が必要です。
3つ目の事例は、AppExchangeアプリケーションの個別カスタマイズの案件でした。ここでは Salesforce Platform 以外との連携があるため、外部連携が必要な開発は Sandbox で、不要な開発は Scratch Org を利用する切り分けで実施したとのことです。
これは、川畑さんから紹介のあったリファレンスアーキテクチャに近い考え方になっています。
今回の事例では、斎藤さんはうまくお客様を巻き込んで Salesforce DX を有効化してもらっていました。こういった事例が出てくると他社も続きやすくなりますね。
まとめ
まとめです。
普段、宣言型開発をしている Salesforce 開発者の場合、ソース駆動開発やCI環境を整えるためのインフラなどは普段触ることがないので、敬遠しがちかもしれません。とはいえ、着実に Salesforce DX に移行していく流れになってきているように感じます。
こんなツイートもあるようなので、次の Dreamforce でより制限が緩和されていく可能性が高いのではないでしょうか?
We have plans to include Dev Hub in DE orgs for individual developers. For team-based, you’ll still have to use your production orgs. This change is coming up in Winter 19 (safe harbor).
— Rohit Mehta (@rohitforce) May 24, 2018
おまけ
あまり参加者がいなかったのか再放送が決定しましたので、お聴き逃しの皆さまやもう一度聴きたい方はぜひご登録してください!
開催日時:6月 13日 (水), 17:00 ~ 18:00
参加方法: 【オンライン】Web セミナー
参加費: 無料
主催: 株式会社セールスフォース・ドットコム アライアンス本部