2018.09.28

Dreamforce2018 day2 : How Modern Dev Teams Build with Heroku and AWS

Dreamforce2018 day2 : How Modern Dev Teams Build with Heroku and AWS

こちらのブログでは初めまして。
製品開発本部で連携製品の開発を担当しております、奴賀(ぬか)と申します。

製品開発所属ということで、特定の機能ではなく日々の製品開発業務を振り返り、信頼性の高い製品を開発するために刺激を受けたい!という観点でセッションを探していたところ、「How Modern Dev Teams Build with Heroku and AWS」に出会いました。
(Mark氏が持ち込んだギターでブリッジ等の効果音を鳴らしていたのも楽しかったです)

拙い英語力のため間違えた理解もあるかもしれませんが、少しでも記事を楽しんで頂ければ幸いでございます。

Herokuとは

Herokuとは

salesforce.comの提供するPaaSです。
Pipelines や Heroku CIといった機能により、継続的なインテグレーションやデリバリーが実現しやすくなっています。
また、スケーラビリティに関しては dyno と呼ばれるコンテナを、水平方向にも垂直方向にも拡張できます。
自動的にスケールさせることも可能な点は嬉しいですね。
アプリケーション開発者としては、インフラの構築や運用作業から解放され、本来の目的であるアプリケーションの開発に注力ができることは大変なメリットであると思います。
私も製品開発担当者として、顧客本来の課題を解決するためのインテグレーション以外には心を砕かなくて良いように、信頼できる製品をお届けできるようにと日々心掛けているつもりではありますが、このようなセッションを拝聴することは改めて自社製品を省みる良い機会となりました。
前置きが長くなりましたが、本題に入っていきます。

Heroku は AWS をどのように考えているか

以下の3点を挙げられていました。
  • 低価格、高品質のインフラストラクチャ(計算資源、ネットワーク、ストレージ)
  • 広範囲にわたるクラウドネイティブのサービス、コンポーネント、ツール
  • サービスを自由に選んで組み合わせられる

Heroku は Heroku をどのように考えているか

以下の3点を挙げられていました。
  • 最高の生産性
  • 構造化された規則的なワークフロー
  • イノベーターの大小を問わず、スタートアップから大企業まで
AWSの特性を損なうことなく隠蔽し、Herokuの特性を発揮できているように感じました。

Herokuを用いた効率的な開発に関して

HerokuコンポーネントとAWSの構成

まずはHerokuコンポーネントとAWSの関係が説明されました。
前述のHeroku は AWS をどのように見ているかHeroku は Heroku をどのように見ているかでそれぞれ説明された特性の上に、 青色背景となっている開発者が意識すべきアプリケーション部分のみが載っていることが分かります。
今回のセッションでは説明がなかったかと思いますが、個人的にはHeroku Shieldのような、様々な規制への準拠がWebサービスを開発するプラットフォームの機能として提供されていることは大変嬉しく思っています。
Heroku Shieldに限った話ではありませんが、規制への準拠や一般的なネットワークを通じた攻撃への対応が機能として提供されていることは、やはりアプリケーションの開発に注力することが可能となるためです。

アプリケーションには単純なもののみ組み込む

この後には、開発者がアプリケーションを開発してお客様が利用可能になるまでの流れの一部として、 Pipelines や Heroku CIを用いた、継続的なインテグレーションやデリバリーの流れが簡単に説明されました。
拝聴したセッションでの資料ではありませんが、Pipelinesの説明がより詳細に記載されているためこちらをご覧ください。

Heroku開発チームの体制

エフェメラル化が重要な3つのもの
  • 開発ツール
  • 開発ワークフロー
  • 開発チーム
開発チームの体制をすごく重要視しているなと感じました。

Heroku開発チーム組織図

Heroku開発チームの組織図です。 Infraststructureのみで一つのセクションになっているのかと思っていたら、Dataセクションに含まれていたのが個人的には興味深かったです。

Heroku開発チームSquad図

ブログを記載していたら、どのくらいの期間でローテーションするのかが非常に気になりました。Herokuのセッションは後日もあるので機会があれば聞いてみたいと思います。

なぜHeroku?なぜAWS?いつ使う?

多くの理由が列挙されています。確かにどれも開発者にとっては嬉しい理由ですね。

私のHerokuでの開発経験の少なさのせいでこちらはピンとこないです。

こちらも使う時や使いたくなる理由は納得ですね。
あなたの開発した製品には使うと嬉しい理由がたくさんありますか?
そう問われた気がしたつもりで今後も製品を開発していきたいと思いました。

ユーザ事例

ユーザ事例

こちらのユーザ事例は別のセッションで公開されるとのことでした。 画像を見る限り、車の傷や凹みをAIが自動で判断してくれるものだと想像されました。

Future

下記の4点が挙がっていました。
  • Microservices + serverless
  • Complex architectures need prescription
  • ML: and some examples from our customers
  • The app dev platform for Salesforce-integrated apps
各項目の詳細は説明していませんでしたが、Microservices + serverlessは所々に出てきていたので、 この中では一番注力しているのでは、と感じました。

最後に

いかがでしたでしょうか。
あまり深堀りはできませんでしたが、HerokuやHerokuにおけるAWSの特性、開発体制の大切さなどが伝われば幸いでございます。
また、様々な Workshop や セッションをまわってみた際、Heroku ブースにはいつも人が集まっていたので、Heroku 人気を肌で感じました。

まだまだセッションはたくさんあるので、製品開発に役立ちそうな思想や手法を探すべく、色々と見て回ろうと思っています。
23 件
     
  • banner
  • banner

関連する記事