こんにちは。開発チームマネージャーの松田(id:a-matsuda)です。
さて今回は、9月26日と27日の2日間で開催されたSalesforce World Tour Tokyo 2017にて、弊社アーキテクト兼QAリード、そしてSalesforce MVPでもある倉谷(id:a-kura)が登壇しましたので、その時の様子をレポートします!
Salesforce World Tour Tokyo 2017とは
セールスフォース・ドットコム社が主催する、参加者数2日間合計8,200名以上という国内最大級! 規模のクラウド・イベントで、大盛況のうちに終了しました。
100を超えるセッションが行われ、倉谷は9月27日の開発者向けセッションで登壇しました!
会場はこんなところ
東京プリンスホテルに、Salesforce管理者および開発者向けのコミュニティゾーン「Trailblazer Zone」が出現!
オープンスペースで、セッションやハンズオン形式で実施するワークショップ、Mini Hackなどをやっていて、歩きながら覗いたり聞いたりでき、参加同士がコミュニケーションする姿も印象的でした。
そのなかの一番大きなTHEATER「MAIN THEATER」で、今回のセッションが行われました!
セッションタイトルはこれ
タイトルは、「Salesforce DX ~Salesforce開発にも継続的デリバリーを~」。ついにオープンベータがリリースされ、Salesforceディベロッパー注目のSalesforce DXですが、今回はそのなかでも「継続的デリバリー」がテーマ。 セールスフォース・ドットコムのエバンジェリスト岡本充洋さんと弊社のアーキテクト倉谷彰のデュオセッションです。
登壇の様子
まずはワイヤレスマイクの装着から・・
マイク装着中の倉谷、なんとなく緊張が伝わりますね!! 会場もほぼ満席、立ち見の方もちらほらです。
さあスタートです
まずは岡本さんから、Salesforce DXは、モダンなソフトウェアの開発要件を満たし、より開発の生産を高めるために生み出された、新しい開発手法という紹介がありました。 特徴は3つです。
- ソース駆動開発
- 素早いテストとデプロイ
- オープンで標準的な開発プロセス
そして「そんなSalesforce DXのリリースされるずいぶん前から、継続的インテグレーションを導入し実践してきた チームスピリットの倉谷より、これまでやってきた継続的インテグレーションと、Salesforce DXでなにが変わるの?を話してもらいます」と倉谷にバトンタッチ。
まず自己紹介から
ついに、倉谷の出番です。
会社でもいろんな肩書きを持っている倉谷ですが(兼務しすぎ問題!)、Winter'17のSalesforceMVP に選ばれています!なんと2017年10月現在、SalesfocreMVPは、日本国内で8名しかいません!
Developer Meetupやこういうセッションでの登壇実績の他、
migration.fm で Salesforce Developer 向けのPodcastを配信するなど様々な活動が認められたんですね!
TeamSpiritの急成長を支える仕組みづくり
TeamSpiritは、現在、800社・10万ユーザのお客様にご利用いただいていますが、お陰様で、2012年のリリースから右肩上がりにユーザ数が増えてきました。それを支える仕組み作りを、それこそContinuous にやってきた歴史について語りました。
そもそも、継続的デリバリーってどこまで自動化すること?
みなさん、インテグレーションとデリバリー、デプロイの違い、ちゃんと説明できますか?
特にごっちゃになりやすいのが、デリバリーとデプロイかなと思います。
デリバリーは、自動的にビルド、テスト、および本番へのリリース準備までをし、運用環境のデプロイには承認が必要。
一方、デプロイは、承認なしで自動デプロイするところまで継続的にやっちゃおうってこと、という説明がありました。
運用するサービスやプロダクトによって、どこまで継続的にやるか(やれるか)が変わってきますね。
TeamSpiritの継続的インテグレーションをご紹介
デモを交えて(実際のカバレッジが丸見え!)、現在のCI環境をご紹介!
これまででてきた課題と対策
このパートでは、改めて、改善を積み重ねてきた歴史を感じることができました!状況やフェーズが変われば、新たな課題が出てきて、それを潰していく努力が必要ということ。これぞContinuousだなと思いました。
- リポジトリとパッケージ作成組織が不一致
- リリース直前に問題が発覚する
- 終わらない回帰テスト
に対して、ソースコード管理の一元化やJenkinsでデプロイ・Apexテストの自動化、ブラウザを操作してGUIテストの自動化等も進めてきており、現在では、コード品質を上げる、ドキュメントの作成が面倒みたいな状況にも対応していてます。
SalesforceDXでかわる継続的インテグレーション
チームスピリットでは、かなりCI環境の作り込みをしてきましたが、SalesforceDXを導入することによってさらによくなる部分ってどこなのか?よくなる部分があるのか?(笑)
興味深々でしたが、メリットは、Scratch Orgでテストの並行化ができることのようです。
開発者がマージ前に自動テストが通っているのかを確認した上で、マージができるなど、テスト効率化に寄与しそうだなと思いました。そして、SalesforceDXを使うとこんな感じになるというデモも!
SalesforceDXでかわる継続的デリバリー
「SI・自社開発」と「ISV/OEM」それぞれのケースで、継続的デリバリーがどう変わるか、岡本さんと会話形式で確認していきました。
ISV/OEMのパッケージの場合は、近い将来、継続的デプロイまでできるようになるそうです。
Salesforceも、最新バージョンを常に使ってもらうコンセプトがあるので、それが自動化できるように、パッケージもCLIでお客様の運用環境にリリースできるようになるとのこと。Winter'18でオープンベーダになるパッケージ2.0(CLIでパッケージ作成が可能)も楽しみですね。
まとめ
すぐに始められるDXは要注目!
- 静的解析ツール:PMD ApexをIDEに組み込んで利用してみよう!インラインで警告を出してくれるので、開発の手助けになるようです。
- Apexテストの自動実行をぜひ試してみよう!タイムリーにApexテストの実行結果が通知され、開発作業自体がかなり楽になるみたいですね。
そして・・We're Hiring!
エンジニア募集してます!倉谷と働きたい方ぜひご連絡ください!
終了
観衆の興味関心を一身に集めたセッションが無事終わりました! 会場の熱気がすごかったです。
倉谷からのコメント
ビジネスのスピードがどんどん加速して、短納期・継続開発が一般化し始めています。特に、Salesforce開発はプラットフォームでできることが多く、その傾向が顕著です。 そういったニーズを捉えるために、アジャイル開発、そのプラクティスの一つである継続的インテグレーション、継続的デリバリーを開発に取り入れることが非常に重要になってきています。
今回は、Salesforce開発で実現する継続的インテグレーション、Salesforce DX で変わる継続的デリバリーについてデモやディスカッションを交えて発表させていただきました。
セールスフォース・ドットコム社のサイトから動画もご覧いただけますので、弊社と一緒に Salesforce DX を利用してモダンな開発スタイルに挑戦していきましょう!
資料・動画はこちら
おまけ
- 弊社エンジニア・山崎が、個人ブログにMini Hack について記事を書いています
- 松田も、Trailhead 体験コーナーに立ち寄りまして、World Tour Tokyo '17 バッチとTシャツをゲットしました!
- 弊社ヘルスケア部メンバー向けのコーナーもありました!!