Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Growing up serverless

2,764 views

Published on

Keynote slides for ServerlessConf Tokyo 2017

Published in: Technology
  • Hi there! I just wanted to share a list of sites that helped me a lot during my studies: .................................................................................................................................... www.EssayWrite.best - Write an essay .................................................................................................................................... www.LitReview.xyz - Summary of books .................................................................................................................................... www.Coursework.best - Online coursework .................................................................................................................................... www.Dissertations.me - proquest dissertations .................................................................................................................................... www.ReMovie.club - Movies reviews .................................................................................................................................... www.WebSlides.vip - Best powerpoint presentations .................................................................................................................................... www.WritePaper.info - Write a research paper .................................................................................................................................... www.EddyHelp.com - Homework help online .................................................................................................................................... www.MyResumeHelp.net - Professional resume writing service .................................................................................................................................. www.HelpWriting.net - Help with writing any papers ......................................................................................................................................... Save so as not to lose
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Growing up serverless

  1. 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 西谷 圭介 / Keisuke Nishitani (@Keisuke69) Specialist SA, Amazon Web Services Japan KK Nov 3rd, 2017 © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Growing up serverless
  2. 2. Who am I Keisuke Nishitani Specialist Solutions Architect, Serverless Amazon Web Service Japan K.K @Keisuke69 Keisuke69 Keisuke69 Keisuke69Keisuke69x
  3. 3. Agenda
  4. 4. サーバーレスとは? サーバーを気にすることなく、アプ リケーションを構築し実行
  5. 5. コンピューティングの進化 データセンタ内の 物理サーバ データセンタ内の 仮想サーバ クラウド上の仮想サーバ
  6. 6. コンピューティングの進化 データセンタ内の 物理サーバ データセンタ内の 仮想サーバ • 高い使用率 • より速いプロビジョニング速 度 • 改善されたアップタイム • ディザスターリカバリ • ハードウェアの独立性 • 運用コストと投資コストのト レード • よりスケール • 弾力性のあるリソース • より速いスピードと俊敏性 • メンテナンスの削減 • より良い可用性と耐障害性 クラウド上の仮想サーバー
  7. 7. 未だ残る制限 Physical servers data centers Virtual servers data centers • 投資コストと運用コストのト レード • よりスケール • 弾力性のあるリソース • より速いスピードと俊敏性 • メンテナンスの削減 • より良い可用性と耐障害性 • 仮想マシンの管理が必要 • キャパシティや利用率の管 理が必要 • ワークロードのサイズを変更 が必要 • 可用性や耐障害性を管理す る必要 • 断続的なジョブを実行するに は高コスト クラウド上の仮想サーバー
  8. 8. サーバーレスへの進化 サーバーレス クラウド上の 仮想サーバー データセンター内の 物理サーバー データセンター内の 仮想サーバー
  9. 9. サーバーは管理しないほうが簡単 こういった責任からの開放 プロビジョニングと利用 可用性と耐障害性 スケーリング 運用と管理
  10. 10. サーバーレスはよりセキュア • パッチが適用されていない サーバーは存在しない • SSH不要 • すべてのリクエストは認可され、 監査可能 • ファンクションは短命
  11. 11. イベントドリブン 連続したスケーリング 利用量に応じた支払い オンデマンドの提供、アイドル時の支払い一切なし
  12. 12. コンピュートの選択肢 デプロイ可能な単位のサイズ ファンクションAppコンテナ仮想マシン IaaS Docker PaaS 責任 クラウド プロバイダ お客様 シェアード Function as a Service (FaaS)
  13. 13. コンピュートの選択肢 Amazon EC2 Amazon ECS AWS Elastic Beanstalk Function as a Service (FaaS) 責任 デプロイ可能な単位のサイズ ファンクションAppコンテナ仮想マシン クラウド プロバイダ お客様 シェアード
  14. 14. FaaSはオペレーションの責務が異なる FaaS FaaS Function as a Service (FaaS) FaaS Amazon EC2 Amazon ECS AWS Elastic Beanstalk 責任 デプロイ可能な単位のサイズ ファンクションAppコンテナ仮想マシン クラウド プロバイダ お客様 シェアード
  15. 15. サーバーレスは管理業務がないことを意味する FaaS FaaS Function as a Service (FaaS) Serverless Amazon EC2 Amazon ECS AWS Elastic Beanstalk 責任 デプロイ可能な単位のサイズ ファンクションAppコンテナ仮想マシン クラウド プロバイダ お客様 シェアード
  16. 16. サーバーレスは管理業務がないことを意味する FaaS FaaS Function as a Service (FaaS) Amazon EC2 Amazon ECS AWS Elastic Beanstalk 責任 デプロイ可能な単位のサイズ ファンクションAppコンテナ仮想マシン クラウド プロバイダ お客様 シェアード
  17. 17. サーバーレスアプリケーションのビルディングブロック AWS Lambda Amazon DynamoDB Amazon SNS Amazon API Gateway Amazon SQS Amazon Kinesis Amazon S3 Orchestration and State Management API Proxy Messaging and Queues Analytics Monitoring and Debugging Compute Storage Database AWS X-RayAWS Step Functions Edge Compute AWS Greengrass Lambda@Edge
  18. 18. サーバーレスアプリケーションのビルディングブロック Orchestration and State Management AWS Step Functions • Lambdaファンクションとその他のア クティビティを並列もしくはシリアル に実行 • バリア同期とリトライを実行 • サードパーティのシステムや既存 ワークフローとの簡単なインテグ レーション
  19. 19. サーバーレスはデリバリを変える マーケットに対する スピードアップ イノベーションのためだけの 時間 デベロッパーの生産性向上 運用の複雑さを解消
  20. 20. サーバーレスジャーニー
  21. 21. サーバーレスによってイノベーションしたカスタマ
  22. 22. 事例:株式会社スクウェア・エニックス • 1分あたり200〜300イメージ を処理 • ピークで1分あたり6000イメー ジを処理 • 処理時間が数時間から10 数 秒に • オンプレミスと比べ 20 分の 1 程度までコスト削減
  23. 23. 事例:凸版印刷株式会社 • 商品のライフサイクル管理や真贋判定 をすることができる ID 利活用プラット フォーム • LambdaやAPI Gateway、Cognitoと いったサービスを活用することで新事 業への初期投資コストを最小限に https://aws.amazon.com/jp/solutions/case-studies/toppan-printing/
  24. 24. 事例:株式会社日本経済新聞社 • 日経電子版の紙面ビューアー • 紙面画像のリサイズ、JPEG変換、分 割などをLambdaで処理 • 18000 invoke/分を処理 • Amazon EC2での同等な構成と比較 すると、コストは10分の1程度 https://aws.amazon.com/jp/solutions/case-studies/nikkei/
  25. 25. 大規模に利用しているエンタープライズ顧客例 • FINRA: 日々の株式取引の検証のために1日あたり5000万件を処理 • Hearst: メディアアナリティクスパイプラインへのデータ取込と処理の時間を97%削 減 • Vevo: 通常時の80倍のスパイクトラフィックを処理 • Expedia: 1月あたり12億リクエストをLambdaで処理
  26. 26. サーバーレスのコンプライアンス ISO PCI SOC HIPAA API Gateway ◯ ◯ ◯ Lambda ◯ ◯ ◯ Step Functions Cognito ◯ ◯ DynamoDB ◯ ◯ ◯ ◯ Kinesis ◯ ◯ S3 ◯ ◯ ◯ https://aws.amazon.com/jp/compliance/services-in-scope/
  27. 27. Chatbots • チャットボッ トのロジック • Amazon Echo 用Alexa Skill ユースケース Web アプリケーション • 静的Webサイト • 動的Webアプリ • FlaskとExpress のためのパッケー ジ Backends • アプリとサービス • モバイル • IoT </></> Media & Log Processing • リアルタイム データ • ストリーミング データ Big Data • MapReduce • バッチ
  28. 28. Big Data • MapReduce • Batch Big data Map Phase Reduce PhaseInputs Results
  29. 29. サーバーレスのMap / Reduceフレームワーク https://github.com/awslabs/lambda-refarch-mapreduce
  30. 30. PyWren: Lambda用大規模データフレームワーク • Lambdaを使ったオープンソースの MapReduceフレームワーク • 25 TFLOPS • S3に対して読み取り60GB/秒、書 き込み50GB/秒 https://github.com/pywren/pywren http://pywren.io/ http://ericjonas.com/
  31. 31. サーバーレスはモダンなアプリケーションのコアコンポーネント
  32. 32. EVENTS エンドポイントへのリクエスト リソースの状態変化 データの状態変化 FUNCTIONS DOWNSTREAM 考え方の転換– どのようにアプリケーションを構築するか  イベントとAPIを通じた コミュニケーション  ステートレスでエフェメラルな 関数  データ、キャッシュおよび ステートとロジックの分離
  33. 33. • 既存アプリの分解をどうするか • どのようにコンポーネント群が通信するか? • サービス境界はどうするか? • 適切な粒度は? • サーバー上のローカルにあるステート/ストレージをどうするか 考慮点
  34. 34. Amazon Kinesis Amazon API Gateway Amazon SNS Amazon S3 Amazon DynamoDB Amazon SQS Microservices to Functions
  35. 35. Microservices to Amazon API Gateway Amazon SQS Functions
  36. 36. Microservices to Amazon API Gateway Amazon Kinesis Amazon DynamoDB Functions
  37. 37. • ご要望の多かったCloudFrontを外せるようになりました • Reginal とEdge Optimizedの2種類に • 同一リージョンのEC2などからのレイテンシ改善 • IP制限、WAFなどのためにCloudFrontを2段にすることが不要に • ご自身のCloudFrontディストリビューションを利用することも可能 New! API GatewayがReginal Endpointをサポート
  38. 38. サーバーレスプラットフォームの構築
  39. 39. アプリケーションモデリングフレームワーク モノリシック アプリケーション マイクロサービス
  40. 40. 多くのファンクションを持つ アプリがあった場合、何が 起きるか? サーバーレスアプリケーションの作成
  41. 41. AWS SAM
  42. 42. AWS Serverless Application Model (SAM) AWS上のサーバーレスアプリ ケーションを表現するための標 準モデル ファンクション、API、イベント ソースとデータストア サーバーレスアプリケーション のために、デプロイと管理を簡 素化
  43. 43. AWS Serverless Application Model (SAM) • AWS CloudFormationによるネイ ティブサポート • あらゆるファンクションをSAMテンプ レートとしてエクスポート • AWS CLIを使ってSAMテンプレート をパッケージし、デプロイ • コミュニティ拡張のために Apache2.0によるオープンな仕様
  44. 44. DevOpsについては…?
  45. 45. Source Build Test Deploy Monitor Source Build Test Deploy Monitor サーバーベースのDevOps Code Fleet
  46. 46. Source Build Test Deploy Monitor サーバーレスなDevOps Code Source Build Test Deploy Monitor Fleet
  47. 47. サーバーレスアプリケーションのCI/CD </> AWS CodePipeline + SAM GitHub Amazon S3 AWS CodeCommit AWS CodeBuild AWS CodeBuild Third-party tools AWS CloudFormation Commit Build Test Deploy to Prod
  48. 48. AWS CodeStar
  49. 49. サーバーレスアプリケーションのトラブルシューティング 複数のファンクションやサービスからなる 分散アプリケーションをどのようにデバッグするか? ファンクションがどのように実行されているか、 動作しているかについての洞察をどのように得るか?
  50. 50. AWS X-Ray • 本番環境の分散アプリケーション に対する分析とデバッグ • アプリケーションのサービスコール グラフを可視化 • パフォーマンスボトルネックとエ ラーの特定 • サービス特有の問題を特定 • アプリのユーザに対する問題の影 響の特定 • ファンクション実行をトレース
  51. 51. X-Rayの使い方 リクエストのトレース トレースの記録 サービスマップの表示 問題の分析
  52. 52. Example
  53. 53. Example
  54. 54. Example
  55. 55. Example
  56. 56. Example
  57. 57. Example
  58. 58. Example
  59. 59. 開発者向けツール コードの 記述 顧客に デプロイ ビルドと テスト フィード バックの 受け取り
  60. 60. エコシステム
  61. 61. Chalice サーバーレスアプリケーション開発のためのフレームワーク Serverless Java Container
  62. 62. プレゼンテーション層 ロジック層 データストア層 Webサーバ/アプリサーバブラウザ/モバイル データベース 一般的な3-tier Webアプリ
  63. 63. AWSで作る場合 AP (EC2) DB (RDS) LB (ELB) Web (EC2) Static Contents (S3) ブラウザ/モバイル CDN (CloudFront)
  64. 64. サーバーレススタックによる置き換え ブラウザ/モバイル API Gateway AWS Lambda DynamoDB etc S3CloudFront
  65. 65. サーバーレススタックによる置き換え ブラウザ/モバイル API Gateway AWS Lambda DynamoDB etc S3CloudFront AWSによるマネージ (フルマネージド)
  66. 66. FaaSはマシンの境界からコードを抽象化すること それなら、別の場所にファンクションを持っていくことも?
  67. 67. Lambda Everywhere
  68. 68. Devices: AWS Greengrass • Lambdaファンクションをデバイスへと拡張 • 低レイテンシ、ニアリアルタイム
  69. 69. Storage: AWS Snowball Edge • コンピュートとストレージを内蔵したペタ バイトスケールのハイブリッドデバイス • AWS LambdaのコードをSnowball Edgeにデプロイ • 独自の圧縮、マニフェストの生成、セ キュリティ監査…
  70. 70. PoPs: Lambda@Edge Lambda@Edgeは CloudFrontのエッジロケー ションすべてで利用可能 • 低レイテンシ、リクエストと レスポンスのカスタマイズ • ビューアーとオリジンのイ ベントをサポート
  71. 71. CloudFrontがLambda@Edgeのファンクションを呼び出し Origin server End user CloudFront cache Viewer response Origin response Viewer request Origin request
  72. 72. Lambda@Edge ユースケース コンテンツの カスタマイズ 来訪者の検証 A/B テスト
  73. 73. サーバレスはモダンな アプリケーションの 基本的なコンポーネント
  74. 74. AWS re:Invent Serverless reCap • AWS re:Inventのサーバーレスにフォーカスしたrecap • ライブストリーミングもあります • 2017年12月11日(月)19:00〜 • 申し込みはこちらから 会場参加: https://aws-serverless.connpass.com/event/67579/ • ストリーミング: https://aws-serverless.connpass.com/event/71179/
  75. 75. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Developers Meetup 開催します • 2017/12/07 夜 @ 目黒 AWS オフィス • 開発者の方向け、セッション形式のイベント • 内容のイメージ(予定) • DeveloperのためのライブAWSウォークスルー • ユースケースから見た実装カタログ 〜AWS逆引きリファレンス〜 • RESTful APIをChaliceで紐解く 〜Python Serverless Microframework for AWS〜 • Happy Hacking on AWS! • 申し込みはこちら https://pages.awscloud.com/DeveloperMeetup20171207.html
  76. 76. • 記入したらブースへ • 未公開の日本語版ホワイトペーパーあげます • AWS Lambda Tシャツあげます • オンライン版もあります • http://bit.ly/scon17awsj • サービスチームも来ているのでぜひ要望を アンケートの回答をお願いします
  77. 77. Conclusion Lambda is a fundamental component of modern application architectures It has a place in everything from data processing to simple web apps

×