Salesforce World Tour Tokyoに行ってきました

f:id:watass:20141207170021j:plain

Salesforce World Tour Tokyo
http://eventjp.salesforce.com/

ちょっと前にも書いたかもしれませんが、社内的にSalesforceの活用が広がりつつあるので、会社のお金で連れて行ってもらいました。Salesforce World Tour Tokyo。
CRMツールとして始まったSalesforceは順調にプラットフォームへと進化し、2013年にはPaaSベンダーとしてはAmazonMicrosoftGoogleを抑えて国内トップシェアを誇っています。今回のイベントでは、数々のSalesforce導入企業のCEOを招いて、新しいサービスリリースや、Salesforceの各種導入事例の紹介を行いました。
私はあくまでもエンジニアなので、どちらかといえば技術系の話に興味があり、事前登録もデベロッパー関係のセッションをメインで登録しました。Salesforceは過去にHerokuを買収し、デベロッパーの参画を促しているそうなので、今回はHeroku関係や、Salsforceプラットフォームを活用した開発の話が聞ければなぁと。

本記事ではほぼDeveloper Zoneで常駐し、技術系のセッションに参加した私のレビュー的なものを残しておきます。参考になるかは別として。。


Visionary Keynote @ライブ中継

まずは基調公演。Salesforce.comの米国CEO、マーク・ベニオフ氏と日本CEO、小出伸一氏を始めとして、ヒューマンライツウォッチ日本代表の土井氏、損保ジャパンのグループCEO、櫻田氏をゲストに招いて、Salesforceの導入成功事例、最近のSalesforceサービスの活用方法などが紹介されました。

私はデベロッパセッションが集中する虎ノ門ヒルズフォーラムに常駐する予定だったため、メイン会場には向かわず、ライブ中継で見ましたが、ちょっと失敗だったかもしれません。
なんというか、やっぱり熱感が伝わってこないというか。後、マーク氏の英語が同時通訳で話されているのですが、どうにも集中して話が入ってきませんでした。きっと英語がそのまま理解できる方ならば、スムーズに、非常に楽しく聞けたのだろうなーと思ってしまいます。
とはいえ、収穫ゼロではありませんでした。事例として紹介される企業は病院であったり、運輸系の企業であったりと、SalesforceIT企業以外にも意外と浸透している印象でした。それだけ、単なるITの小難しいツールというレベルを超えて、利益を生み出すツールとして広く認識されているということなんでしょうね。
後、個人的には損保ジャパンCEO、櫻田氏の「お客様と顔を向き合わせて、安心させるのは人間にしかできない。お客様の顔を見て、過去のやりとりの履歴や、特徴をすべて思い出すのは、ITにしかできない。」という発言は非常にピンと来ました。すべてが自動化されつつある現代、どこまで自動化してもいいのかを考える方法論のひとつとして有益に感じます。


GitHubスペシャルランチセッション

Github Inc.のJapan General Manager、堀江大輔氏のスペシャルセッション。
Githubは以前、ブログでも使ってみた記事を書いたのですが、非常にお気に入りのサービスです。もっと活用したいんですが、なかなかコード書いてる時間がないという現状・・・
そんなGithubのマネージャーが直々に公演をしてくれるとなれば見るしかありません。

こちらのセッションではHerokuのマネージャ、相澤氏とともに、Githubの簡単な説明をメインに進行されました。時間が短かったため、深い話まではたどりつけませんでしたが、AWS上でGithubのサービスを構築できたり、オンプレミス上で構築することで、コーディングの共有はもちろん、マニュアルや社内規則など、すべての文書を効率的に扱うことができるという点には、Githubの魅力を再確認できました。
社内ではサイボウズで文書の更新や、やりとりをすることがあるのですが、いちいち文面を更新する度に、Wordファイルを更新することに非効率性を常々感じていたので、差分や更新履歴も確認できるGithubが社内でも利用されるようになったら、きっといいだろうな〜、と。

Githubはソーシャルコーディングに革命を起こして以来、エンジニアにとっては必須の知識になっていますので、もっと活用して当然のように使えるようになりたいですね。
あと、HerokuのエンジニアとGithubのエンジニアは結構つながりが深い、という話はちょっとおもしろかったです。オクトキャットのトロフィー、ほしいです。


Developer KeynoteSalesforce LighitningとHeroku DX〜

米国Salesforce.comのバイスプレジデント、アダム・セリグマン氏、ディレクターのデイブ・キャロル氏、米国HerokuのCTO、モーテン・バガイ氏による技術者向けKeynoteです。
やはりKeynoteということで、非常に人が多かったです。Developer Zoneのシアター部はあまり広いわけではなかったのですが、立ち見が多発するほどに混雑してました。私は前のGithubランチセッションから続けて聞いたので、特等席で聞けました。

当然ながら、スピーカーの方々は米国本社の方なので、オール英語。I can't speak EnglishでTOEIC 500 underな私としては、苦手意識満載です。とはいえ、席に座れた人は席に備え付けの同時翻訳ヘッドホンを使用することができたので、まだ内容はギリギリ理解することができました。ラッキー。
内容としては、Salesforceの高速開発を支援する、LightningフレームワークとHerokuの新機能、Heroku DXについての紹介がメインとなりました。今回のセッションでは朝の基調講演を反省し、なるべく英語そのものを聞くように努力しながら、わからない部分だけ日本語に頼る、という聞き方をしました。やはり英語そのもので聞くと、スピーカーの意図するニュアンスが伝わってくるような気がして、集中して聞くことができたと思います。

Lightningはその名の通り、「稲妻」の如き高速開発を実現するフレームワークで、ドラッグアンドドロップでアプリケーションを開発でき、必要な部分だけコーディングすることで、柔軟で簡単な開発ができるサービスでした。また、Lightning Process Builderではフローチャートを書くことで、複雑な処理を実装できるというものです。
Salesforceは以前からSoftwareは必要ない、と唱え続けていましたが、その意図するところがLightningに現れていると感じます。従来、プログラマが呪文のように記述していたおまじないの数々を、なるべくGUIで実現している印象でした。

Heroku DXでは、Developer Experienceを更に強化するために、Herokuボタンや新ダッシュボード、Heroku PostgresDbxなどの説明をしていました。特にHerokuボタンには惹かれました。Githubとの連携で、プルリクエストからデプロイできるそうなんですね。

本セッションでは各サービスの概要をなぞる感じでしたが、詳細は後のセッションで話す、という感じでしたね。そちらも当然参加していますので、そこで詳しく書きます。


Salesforce1 Platform 入門2014

Salesforceのエンジニア、今村和彦氏によるForce.comの入門セッションです。
Force.comには以前挑戦し、記事にも書いたのですが、非常にネット上の日本語文献が少なかったです。なので、結局雑なHello Wolrdを書くだけになってしまっていたわけですが、改めてForce.comを説明してもらえる貴重なチャンス。

内容としては、サービスサポートがお客さまからお問い合わせを受け次第、レポートを自動生成し、担当をアサインすると、担当者に連絡が自動で送られる、というシステムを構築するデモをベースに、セッション内でこんなシステムを構築できてしまう、という開発の高速さをメインに展開されました。
実際にこういったサービスを構築するとなると、まず問い合わせを整理するために入力するインターフェイスを作成して、情報を整理するデータベースを作成して、担当者を割り振れるような管理画面を作成して、メールとかで連絡を送るためのバッチ処理を作成して・・・とかなり途方も無い作業が必要になりますが、これをSalesforce 1 Platformで実現するとなれば、デフォルトのコンポーネントを組み合わせることで、非常に簡単に構築できました。

このようなコンポーネントの組み合わせによるコーディングはよく聞く話ですが、Salesforce 1 Platformが他と異なる大きなメリットは、自身でコーディングしてコンポーネントを作成することもできるという点です。Salesforce 1 Platformには、MVCフレームワークにおけるViewを司る、VisualforceやControllerを司る、Apexなどが用意されているため、JavaやHTMLライクに必要な機能を柔軟にコーディングできます。
デモ内では、担当者にタスクを振り分けるUIをもっとスタイリッシュに構築したい、というニーズに答えるため、Visualforceで作成したコンポーネントSalesforceの画面に配置することで、簡単に構築できる様子を見せてもらいました。これはなかなか面白いです。

Apexを用いれば、さらにSalesforceのデータ内部にアクセスして、いろいろいじれるので、拡張性は非常に高そうですね。Salesforceの開発者にはこの既存コンポーネントの活用と、コーディングのバランス感が求められるような印象を感じました。


Salesforce 1 Platformで爆速モバイル開発

Salesforceのエンジニア、辻正志氏によるモバイル開発への活用セッション。
まず、モバイル開発におけるネイティブ開発、HTML5による開発、ハイブリット開発のメリットとデメリットに触れ、それらを打開するSalesforce開発の提案、と展開されました。
モバイルアプリの開発では、マルチプラットフォーム開発をすると、必然的にネイティブ開発よりも動作が重くなる(最適化されない)という話は常々聞いていましたが、Salesforce上で構築することで、高速さと簡易さを実現するというアプローチでした。

モバイルアプリ開発は、結局各種プラットフォームごとに言語や仕様が異なるために、開発にも一苦労なので、Salesforce上で構築できると非常にいいですね。
ただ、やはりモバイルアプリの開発、という広い目線から見ると、あくまでSalesforce上で開発できる場合に限られるのは仕方ないことですね。なんでも作れるほど万能ではないので、選択肢のひとつとして理解しておくと、開発効率が高まるよ、という感じでしょうか。


Introduction Lightning Component

Developer Keynoteで登壇したデイブ・キャロル氏のLightningフレームワークのセッション。
Lightningを活用することで、GUIベースで様々なプラットフォーム向けにアプリケーションを簡単に構築できてしまう、という実例をデモを交えて紹介してもらえました。

英語セッションでしたが、同じく同時翻訳でなんとかついていけた印象・・・
Lightningについては以前のセッションから結構説明してもらえていて、イメージもある程度ついていたので、あまり目新しさを感じることはできませんでしたが、LightningにかけるSalesforceの自信が感じられるセッションでもありました。
いや、もっと英語でしっかり理解できていれば、色々気づく新しいことがあったのか・・・?


プロフェッショナルのための実践Heroku入門

SalesforceのHerokuテクニカルアカウントマネージャ、相澤氏のセッション。
Herokuというデプロイを自動化するPaaSの特徴、使い方などを、彼の自著「プロフェッショナルのための実践Heroku入門」の読み方とあわせて紹介してもらいました。
あ、こちらの本は会場で300名限定で配布されていたので、いただきました。ありがとうございます。じっくり読みます。

AWSに最近熱中しているので、個人的にはこのようなPaaSにはBeanstalkの印象が強いです。それと比較してみると、プログラムをデプロイするだけで、そのコードを解釈し、勝手に必要なプラットフォームを構築してくれる、という説明には正直驚きを隠せませんでした。そこまで進化しているか、PaaS。
Beanstalkではアプリを作成する度に新しくインスタンスやIAMなどが構築されますが、HerokuではスケールアウトもDynoの数をバーで簡単に調整することができ、一瞬でスケールアウトできてしまうという点も大変好印象です。

ただ、Herokuにも色々と特徴的な制約があったり、スケールアウトも完全に分散システムとしての機能を実現しながらできるわけではないようなので、ニーズにあわせた柔軟なシステムを開発するためには、AWSのようなIaaSが必要なのかもしれませんね。
ただ、Herokuのメリットや面白さも十分に感じられたので、ちょっと手を出したいなと思いました。いつか記事にします。いつかね。
というか、やっぱり疑問が結構残ってしまったので、直接質問しに行けばよかったなーと後悔してます。反省。


Heroku DX 〜 New Generation Developer Experience 〜

米国HerokuのCTO、モーテン・バガイ氏によるHeroku DXのセッション。
Heroku DXの「DX」とは、Developer Experienceの略で、開発者体験をより向上させるためにHerokuをさらに強化した、という旨のセッションでした。

具体的には、Herokuボタン、新ダッシュボード、Heroku PostgresDbXの紹介となりました。
Herokuボタンは非常に面白いサービスで、ボタンを押すだけで一発でHeroku上にデプロイできるという面白さ。さらにGithubのプルリクエストからもデプロイできるため、それだけでHerokuを試してみたくなりますね。
新しいダッシュボードでは、PaaSにしては特徴的で、実際のインフラの様子を監視することができるとのことでした。これはHerokuの以前のダッシュボードを使っていないとメリットがわかりにくいのですが、見た感じ、非常にUIがいいですね。
Heroku PostgresDbXはHeroku Postgresの強化版で、従来よりも高い性能を実現し、スロークエリの監視やクエリチューニング、スキーマの最適化などができるようになったそうです。自社でもPostgreSQLを使っていて、クエリの最適化などには日々苦労しているので、これは魅力的に感じましたね。

ただ、値段を見るとなかなか高いですね。もしも自社で使っているPostgreSQLをHeroku PostgresDbXに変えるとなると、コストが問題になりそうです。まぁ、単純なデータベースに限らない各種サービスがついてくるわけだし、仕方がないところなのかな〜


70万人のメンバーを駆使して開発を行う

ここでちょっと変わったセッション、アピリオの代表取締役、藤田純氏によるセッション。
個人的には、超大人数による開発もSalesforceを使えば、こんな簡単に統率してできちゃうんだぜ!という感じの内容を期待していたのですが、Topcoderというクラウドソーシングサービスの紹介がメインでしたね。


topcoder
http://www.topcoder.com/


Topcoderとは、全世界のデザイナー、プログラマ、データサイエンティストが集まり、競技形式で賞金を獲得するために、求められるプロダクトを実現するというサービスです。
まさしくWeb2.0的なサービスですが、主にTopcoderを使って開発コストが非常に抑えられる、という話や、アルゴリズムを低コスト、短期間で大幅に改善できた、という成功事例の紹介が印象的ではありました。
でも、個人的に感じるのは「その成果物には誰が責任を持つのか?」という部分ですね。仮に責任者がいたとしても、大規模なシステムになると、実務担当者でないと理解できない領域もあると思いますし、緊急性を問う問題が発生したときに対応できない場合が発生してしまうのでは?と思いました。これはオープンソースを採用することの危険性に似ていますね。

とはいえ、このような開発体制もメリット、デメリットをきちんと理解して活用する分には、コストダウンを実現するよい方法論だと思います。エンジニアにとっても、こういった場所があれば、自身の能力を磨くことができてWin-Winの関係ですね。
これからは開発のコストダウンもますます顕著に進むでしょうから、エンジニアとして生き残るためには、色々考えることが必要になると思います。そんなことを改めて感じされられたセッションでした。


全体を通して

今回のSalesforce World Tour Tokyoは、前回のPHPカンファレンス以来のイベント参加でしたが、PHPカンファレンスと比較すると、非常に雰囲気の異なるイベントでした。
Salesforceは、とにかくロイヤリティに重点を置いているようで、参加者として特別な「歓迎」をされている印象でした。会場も綺麗で、演出も非常によかったです。各種書籍が無料配布されていたり、昼食にはまい泉のかつサンドが無料配布されたり、いいのかな?と思うほど贅沢な内容でした。

対して、PHPカンファレンスは「参加者全員でつくり上げる」という感じだったため、確かにSalesforceほどのロイヤリティはないにせよ、みんなで参加している一体感は感じました。この辺りは特にセッションへの反応によく現れていたと思います。PHPカンファレンスでは、笑いが起こったり、楽しんでセッションに参加している感じでしたが、Salesforceではお客様感が抜けず、どうにもみんなリアクションが薄い印象でした。まぁデベロッパーゾーンだからより顕著だったかもしれませんが。。

とはいえ、なかなか日本語文献が見つからない、Force.comの各種文献が手に入れられたり、デモを見ることができたりして、イメージがだいぶ固まったのは大きな収穫でした。これからも少しずつSalesforceの開発記事は書いていきたいと思います。他の文献が少なくて困っている人たちにとって有益な記事が作れたらいいなー。

別件ですが、AWSの試験まで後二週間切っちゃいました。未だにサンプル問題が解けきれない現状・・・大丈夫なのだろうか。ここから猛ダッシュで勉強します(死亡フラグ