[レポート]Rapid Innovation: The Business Case for Modern Application Development #reinvent #SRV207

2018.11.29

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

サーバーレス開発部の阿部です。

"Rapid Innovation: The Business Case for Modern Application Development"のセッションレポートです。

re:Inventの醍醐味はどちらかというと新サービスの紹介セッションか既存サービスのDeep diveなセッションだと思うのですが、ビジネスとアプリケーション開発についてのセッションを見つけたので、AWSのサービスの思想を少しでも知るために参加してみました。

Descriptions

Modern application development is not a buzzword—it’s an innovation strategy that organizations of all sizes can use to increase revenue, lower costs, and outpace the competition. In this session, learn how you can unblock digital product and service innovation for your own organization. Putting technology details aside, we explain what modern application development really is, why it matters to the business, what success metrics you should expect, and how to navigate your own transition.

概要

どんなサイズの組織にも適用可能なモダンアプリケーション開発の戦略、ビジネスとして期待すべきメトリクスについてのセッションです。

メモ

Rapid innovationの重要性

  • アイデアを孵化させるために必要
  • ビジネスを進化させる
  • イノベーションを起こせる状態かどうか
  • quality + agility + velocity = rapid innovation
  • 成功したければ、素早く失敗して素早く修正する

アプリケーションにクラウドネイティブな能力をつけていくための方法

  • re-host(to ec2)
  • re-platform(to container)
  • re-factor(to microservice)
  • re-invent(toserverless microservice) -> cloud native

状況に応じて上記の方法を選択する

共通する障害

  • ビジネス価値を提供しない時間を使いすぎる
  • 既存のいくつかの開発レパートリーを統合しないといけない

クラウドネイティブのベストプラクティス

  • microservice
    • 変更のインパクトを小さくしてリリースの頻度を増やす
    • インテグレーションが重要
      • Client to Service:APIGW
      • Service to Service:SQS,SNS
      • Orchestration:Step Functions
  • automating security
  • serverless technologies
    • 旧来のIDEが対応してないことがある
    • 旧来のCI/CDツールが対応してないことがある
    • マイクロサービスを跨いだ可観性は非常に難しい
    • マイクロサービス間のコミュニケーションに一貫したやり方がない(まだ、という理解)
  • small autonomou teams
    • コンウェイの法則
  • automating CI/CD
  • modeling apps and infrastructure as code
  • increasing observability

モダンな開発をすることの恩恵

  • パフォーマンスの維持
  • 信頼性の向上
  • ビジネスとユーザを守る
  • 開発者の生産性向上
  • time-to-marketの短縮
  • 収益の向上
  • オペレーションコストの低減

他のスライド写真

まとめ

クラウドネイティブな開発を進めるために直面せざるを得ない変化を見ることができたセッションでした。我々が開発に使っている環境やツールが背景としている設計思想は、以下の点において影響があります。

  • 開発のやり方
  • アーキテクチャ
  • ビジネスのスピード

開発者からの要求とビジネスの要求を汲み取り、それらに対応するためにツールが新しい設計思想を持ってリリースされるわけですが、この部分に考慮のないまま今までと同じアプローチを取ろうとしていることで、変化やメリットを感じることができていない部分もあるのではないでしょうか?

ただ、実行できているな、と感じるところもありました。"成功したければ、素早く失敗して素早く修正することだ"というあたりはまさに弊社でやっていることですね。

セッション資料&動画(追記:2018/12/1 05:28)