Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Everything will be Serverless

Keisuke69
December 14, 2019

Everything will be Serverless

ServerlessDays Fukuoka 2019でキーノートをさせていただいた際の資料です。ServerlessDays Tokyo 2019でのキーノートでお話した際の資料をベースに少しアップデートされています。
質問などあればTwitter (@Keisuke69)までDMなどでどうぞ!

Keisuke69

December 14, 2019
Tweet

More Decks by Keisuke69

Other Decks in Technology

Transcript

  1. © 2019, Amazon Web Services, Inc. or its affiliates. All rights
    reserved.
    Keisuke Nishitani (@Keisuke69)
    Manager, Senior Solutions Architect
    Amazon Web Services Japan K.K.

    View Slide

  2. View Slide

  3. View Slide

  4. View Slide

  5. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Not Event-driven
    APIコール
    処理追加

    View Slide

  6. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Event-driven
    サブスクライブ

    View Slide

  7. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    201501
    201502
    201503
    201504
    201505
    201506
    201507
    201508
    201509
    201510
    201511
    201512
    201601
    201602
    201603
    201604
    201605
    201606
    201607
    201608
    201609
    201610
    201611
    201612
    201701
    201702
    201703
    201704
    201705
    201706
    201707
    201708
    201709
    201710
    201711
    201712
    201801
    201802
    201803
    201804
    201805
    201806
    201807
    201808
    201809
    201810
    201811
    201812
    201901
    201902
    201903
    201904
    201905
    201906
    201907
    201908
    201909
    Customer Loves Serverless

    View Slide

  8. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    国内のお客様(抜粋)

    View Slide

  9. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

    View Slide

  10. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    AWS Lambda release history
    Lambda Preview
    Announcement
    Lambda GA
    1.5 GB RAM
    Amazon API Gateway Launch
    Amazon DynamoDB Stream
    Support
    300s Execution Duration
    Python 2.7 Support
    Java Support
    Alexa Integration
    Function Versioning
    Scheduled CloudWatch
    Events Support
    Amazon SWF Support
    Amazon VPC Support
    API Gateway Proxy
    Environment Variables
    AWS SAM
    [email protected]
    Announcement
    Node 4.2 Support
    AWS CodeCommit Support
    C# .Net Support
    AWS GreenGrass
    Lambda Support
    SAM
    Enhancements
    Python 3.6
    1000 Concurrency Limit
    PCI Certification
    AWS SAM
    Local (now AWS
    CLI)
    SOC Certification
    Per Function Concurrency
    Controls
    Node.js 6.10
    Tagging
    AWS X-Ray
    3 GB RAM Support
    HIPAA Eligible
    Traffic Shifting/Weighted
    Aliases
    AWS Serverless Application
    Repository Announcement
    .Net Core v2.0
    AWS CLI relaunch
    FedRAMP Certification
    AWS CLI—Lambda Local,
    Log tailing
    PowerShell Support
    15-Minute Execution Duration
    Go Support
    Node.js v8
    Amazon SQS Support
    .Net 2.1 Support
    AWS CLI Go Debugging
    Console AppView
    99.95%
    SLA
    *As of Dec 2019, does not include region launches
    2015 2016 2017 2018 2019
    VPC Improvement
    CloudWatch Logs Insights integration
    Amazon Linux 2018.03
    Node.js 10
    Ruby
    Layers
    Custom
    runtimes
    ALB
    triggers
    Kinesis HTTP/2 stream
    consumers
    Python 3.7
    Stream batch settings
    Create app in Console
    RDS Proxy
    Provisioned Concurrency
    Node.js 12, Java 11, and
    Python 3.8
    Customize retry behavior
    Des:na:ons for Async Invoka:on

    View Slide

  11. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    かつてのAnti-Pattern

    View Slide

  12. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    AWS Lambda と RDBMS
    Amazon RDS
    Amazon Aurora
    Lambda function

    View Slide

  13. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    AWS Lambda と RDBMS
    Amazon RDS
    Amazon Aurora
    Lambda function

    View Slide

  14. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Photo on Visualhunt.com

    View Slide

  15. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

    View Slide

  16. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Using Amazon RDS Proxy with AWS Lambda
    Amazon RDS
    Amazon Aurora
    Lambda function

    View Slide

  17. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Using Amazon RDS Proxy with AWS Lambda
    Amazon RDS
    Amazon Aurora
    Lambda function
    Amazon RDS Proxy

    View Slide

  18. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    RDSのコネクションプールマネージャ
    東京を含む5リージョンで利用可能
    (Public Preview)
    Lambdaからも利⽤可能
    Amazon RDS Proxy

    View Slide

  19. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    AWS Lambdaのネットワーキング
    AWS Lambda Service VPC
    AWS Lambda
    Execution Environment

    View Slide

  20. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    AWS Lambdaのネットワーキング
    AWS Lambda Service VPC
    AWS Lambda
    Execution Environment
    ユーザが所有するVPC
    Elastic network interface

    View Slide

  21. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    AWS Lambdaのネットワーキング
    AWS Lambda Service VPC ユーザが所有するVPC

    View Slide

  22. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    AWS Hyperplane
    Internal network load balancing service
    Graphic Option
    3

    View Slide

  23. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    AMAZON Elastic File System
    AWS Managed NAT
    AWS PrivateLink
    AWS Network Load Balancer

    View Slide

  24. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    AWS Lambdaのネットワーキング
    AWS Lambda Service VPC ユーザが所有するVPC
    Elastic network interface
    VPC to VPC NAT

    View Slide

  25. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    コールドスタートレイテンシの改善
    スケーリング
    ネットワークインターフェースの共有
    VPC環境の改善

    View Slide

  26. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

    View Slide

  27. Photo on Visual Hunt

    View Slide

  28. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    モダンアプリケーション
    市場投⼊を加速 イノベーションの向上 信頼性の向上 コスト削減

    View Slide

  29. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    オペレーション
    価値を⽣まない作業をオフロード
    すべてを⾃動化
    Developer-First な開発フロー
    すべてを⾃動化
    Continuous Integration / Continuous Delivery
    アーキテクチャ
    極⼩化されたスコープとマイクロサービス
    疎結合、そしてイベントドリブン
    データ
    正しいツールを利⽤
    ⽬的に適した DB の利⽤
    セキュリティ
    ⾃動化された、継続的なセキュリティ評価
    適切なアクセス権限と成果物の検証
    モダンアプリケーション

    View Slide

  30. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    幅広いアプリケーション実⾏環境
    Amazon EC2 AWS Lambda
    AWS Fargate
    Amazon ECS
    Amazon EKS

    View Slide

  31. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    モダンアプリケーション開発を⽀援するサービス
    On-Premises Cloud
    More Less
    Compute Virtual Machine
    Amazon EC2 AWS Lambda
    AWS Fargate
    Amazon ECS Amazon EKS
    Databases MySQL MySQL on EC2
    Amazon RDS MySQL Amazon RDS Aurora
    Amazon Aurora
    Serverless Amazon DynamoDB
    Storage Storage
    Amazon S3
    Messaging ESB
    Amazon MQ Amazon Kinesis Amazon SQS / Amazon SNS
    Analytics
    Hadoop Hadoop on EC2 Amazon EMR Amazon Elasticsearch Service Amazon Athena
    オペレーション負荷
    Serverless

    View Slide

  32. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    MICROSERVICE
    API
    API
    MICROSERVICE
    MICROSERVICE
    EVENT
    API
    MICROSERVICE
    EVENT
    API
    MICROSERVICE
    APPLICATION
    Mobile client
    Client
    IoT
    PERSISTENCE PERSISTENCE
    Microservices architectures

    View Slide

  33. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    APIはMicroservicesの⽞関

    View Slide

  34. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Mobile apps
    Websites
    Services
    Internet Amazon
    CloudFront
    Amazon CloudWatch
    monitoring
    API
    Gateway
    cache
    Any other
    AWS service
    All publicly
    accessible
    endpoints
    AWS
    Lambda
    functions
    Endpoints
    in your VPC
    Regional API Endpoints
    AWS Lambda
    functions
    Endpoints on
    Amazon EC2
    Your VPC
    AWS
    API Gatewayを利⽤したAPI管理

    View Slide

  35. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    イベントドリブンアーキテクチャ

    View Slide

  36. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    メッセージングを活⽤してコードからステート
    を取り除く
    Queues
    Simple
    Fully-managed
    Any volume
    Pub/sub
    Simple
    Fully-managed
    Flexible
    Amazon Simple
    Queue Service
    Amazon Simple
    Notification
    Service
    Messaging
    Synchronization
    Rapid
    Fully-managed
    Real-time
    Amazon
    CloudWatch
    Events

    View Slide

  37. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    データと処理の状態を
    トラッキング
    冗⻑なコードを削除
    ワークフローを構築してすべてを
    オーケストレーション

    View Slide

  38. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    コードを減らし、よりシンプルなインテグレー
    ション
    AWS Lambdaで
    ポーリング
    Step Functionsによる
    インテグレーション
    Start
    Submit Job
    Wait X Seconds
    Get Job Status
    Job Complete?
    Set Job Failed Set Job Succeeded
    Sent Message to SNS
    End
    AWS
    Lambda
    functions
    Synchronously Run a Batch Job
    Publish Success to SNS Publish Error to SNS
    Start
    End
    No
    Lambda
    functions

    View Slide

  39. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    クラウドネイティブなアーキテクチャは
    ⼩さいピースで構成され、疎結合

    View Slide

  40. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

    View Slide

  41. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    「何をするか」
    を書くだけでいい

    View Slide

  42. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    当時のスライド

    View Slide

  43. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    当時のスライド

    View Slide

  44. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Photo on VisualHunt

    View Slide

  45. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    1/10アイドル時間のリソースが
    解放され、利⽤費が最適化
    9:1 “開発:保守/運⽤” の作業
    ⽐率が 1:9 から⼤きく改善
    1/3 コード量の減少(従来⽐)
    = ⽣産性向上、保守改善
    5x 従来より⽣産性が向上
    アプリ展開を加速化
    お客様の効果例
    1⼈ 運⽤を 1 ⼈で楽に実施
    機能改善に注⼒可能
    2ヶ⽉ スケール、冗⻑化などの
    考慮不要で短期実装可能
    1/6 安定した定常稼働により
    運⽤の労⼒を⼤幅に短縮
    1-2⽇簡易な機能追加は短期で
    実装・デプロイ可能

    View Slide

  46. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

    View Slide

  47. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

    View Slide

  48. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Photo on Visual Hunt

    View Slide

  49. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

    View Slide

  50. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

    View Slide

  51. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

    View Slide

  52. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Photo on Visual hunt

    View Slide

  53. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

    View Slide

  54. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    AWS Helps your Serverless Journey
    Still Day 1

    View Slide

  55. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Keisuke Nishitani (@Keisuke69)
    Manager, Senior Solutions Architect
    Amazon Web Service Japan K.K
    Everything will be serverless.
    ⾳楽 x キャンプ x マンガ
    フジロッカー
    Twitter: https://twitter.com/Keisuke69
    ブログ: https://www.keisuke69.net/

    View Slide