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

サーバーレスとコンテナを活用したアプリケーションの開発の今 〜クラスメソッドMADの顧客は何を採用しているのか?〜

サーバーレスとコンテナを活用したアプリケーションの開発の今 〜クラスメソッドMADの顧客は何を採用しているのか?〜

昨今、サーバーレス、コンテナなどの技術を活用したアプリ開発が広がりを見せています。クラスメソッドのMADチームはこの領域を専門に扱うチームとして2020年7月に発足しました。
これらの技術を採用することで、ビジネスを加速させるアジリティと安定性を手に入れることができると我々は実感していますが、実際に進めようとすると実装〜テスト〜デプロイ〜運用の全フェーズに渡って考慮点があり、悩みは増すばかりです。
言語、フレームワーク、テスト方針、デプロイ方針、CI/CD、IaC、etc...
本セミナーでは、実際にクラスメソッドが支援を行った顧客事例をご紹介しながら、MAD(Modern Application Development)の領域で、今顧客が採用している技術やフレームワークについて、ご紹介します。みなさんの、MAD領域開発におけるヒントとしてもらえれば幸いです。

C47bda32c8455a59471cd7e19c32c074?s=128

濱田孝治

March 22, 2021
Tweet

Transcript

  1. サーバーレスとコンテナを活⽤した アプリケーション開発の今 クラスメソッドMADの顧客は何を採⽤しているのか︖ 濱⽥孝治(ハマコー) 1

  2. 2 ⾃⼰紹介 濱⽥孝治(ハマコー) • CX事業本部 MADチーム マネージャー • Japan APN

    Ambassador 2020 • JAWS-UG コンテナ⽀部運営 • 好きなサービス︓ECS, EKS, CloudFormation • 好きな⾔葉「わっしょい」 • @hamako9999
  3. 3 お品書き • クラスメソッドMADチームとは • 実際の案件例 • 顧客やエンジニアが狂気した最近のAWSアップデート • データで⾒るMADチームの案件概要

  4. 4 今⽇の趣旨

  5. 5 MAD領域(サーバーレス・コンテナ) において、今顧客はどんな構成で どんなテクノロジーを採⽤しているのか 肌感をもってお届けする

  6. 6 クラスメソッド MADチームとは

  7. 7

  8. 8 MAD(Modern Application Development)

  9. 9 クラスメソッドMAD なんでやっているのか︖

  10. 10 MAD(Modern Application Development)

  11. 11 MAD(Modern Application Development) ・迅速な開発 ・素早いフィードバック ・コントローラブル

  12. 12 実際やろうとすると悩みは深い

  13. 13 MAD(Modern Application Development)

  14. 14 MAD(Modern Application Development) サーバーレス コンテナ専⾨の 開発集団

  15. 15 実際の案件例

  16. 16

  17. 17

  18. 18

  19. 19

  20. 20

  21. 21

  22. 22 顧客やエンジニアが狂気した 最近のAWSアップデート

  23. 23 ECR Public

  24. 24 ECR Public リリース内容 • 今までAWSの認証情報が必須だったECRに、パブリック で誰でもアクセス可能に︕︕ • 単純に⾔うとECRがDockerHubの代替になりうる •

    「ECR Public Gallery」も公開済み 現場の声 • DockerHubからのプルでダウンロード制限に引っかかっ ていたものを、ECR Publicに切り替えるだけで特にリスク なく対応可能。公式提供されているものは積極的に乗り換 えていきたい。デメリット特になし
  25. 25 Managed Service for Grafana / Prometheus

  26. 26 Managed Service for Grafana / Prometheus リリース内容 • Prometheus

    • CNCF Graduated なインフラ監視ツールPrometheusのマネー ジド化 • マルチAZのHA構成 • Grafana • CNCF なログデータ可視化ツールのマネージド化 • データソース︓CloudWatch, Elasticsearch, X-Ray, IoT SiteWise, Timestream, CloudTrail, Organizations
  27. 27 タイトルだけを⼤きく⾒せます

  28. 28 タイトルだけを⼤きく⾒せます

  29. 29 Managed Service for Grafana / Prometheus 現場の声 • 「監視インフラは作るものではなく、使うものという最近

    の潮流にドハマリ」 • 「オープンソースのマネージド化はAWSのお得意技。こ れが最⾼と⾔わずになにが最⾼か」 • 「インフラ管理せずに使えるとしたら、今までの痛みが解 消される」 注意点 • PrometheusはPublic Beta。GrafanaはPrivate Beta。本 番投⼊には今しばらく時間がかかる
  30. 30 Lambda 1ms Billing

  31. 31 Lambda 1ms Billing リリース内容 • 100ms単位の課⾦が1ms単位に • 特に実⾏時間が短く数が多いワークロードで圧倒的に安価 になる

    • Lambdaの実⾏時間が28msの場合、70%のコスト抑制に なる試算が紹介されている 現場の声 • 「安くなることは正義」 • 「Lambdaのチューニングへのモチベーションがあがる」
  32. 32 Glue関連 ・DynamoDBのS3エクスポート ・課⾦単位が10分から1分に

  33. 33 DynamoDBのS3エクスポート リリース内容 • DynamoDBの機能だけでS3へエクスポート可能 • S3格納後は、AthenaやSageMaker、Lake Formationな どをつかって、よしなに処理可能 現場の声

    • 「これまではGlueとかを駆使しないとできなかったんです が、このアップデートでDynamoDBの機能だけでできる ようになったので便利です」
  34. 34 課⾦単位が10分から1分に リリース内容 • Glue バージョン2.0から、ジョブの起動時間が10倍速く、 請求単位が1分に 現場の声 • 「10分以内の処理が⼤半だったので、だいぶ︕やすくな

    りました」
  35. 35 AWS AppSync GraphiQL Explorer対応

  36. 36 AppSyncのGraphiQL Exproler対応 リリース内容 • AppSyncが、オープンソースツールのGraphiQLを採⽤ • ブラウザ内で、簡単に操作ができる • GraphQLクエリのテスト実⾏が簡単になりました

    現場の声 • 「GraphQL の動作確認やデバッグがやりやすくなり、 AWSコンソール上で完結できることも増えた」 • 「まだ、OIDCトークンをセットするのが⾯倒。それ⽤に 取得が必要」
  37. 37 ALB HTTP2/gRPC対応

  38. 38 ALBのHTTP2/gRPC対応 リリース内容 • 今まで、ALBはエンドツーエンドでのHTTP2に対応してい なかった(バック側はHTTP1) • このリリースでエンドツーエンドでHTTP2に対応して、 gRPCが使えるようになりました︕ 現場の声

    • 「案件利⽤中。マイクロサービスで接続する際にサービス ディスカバリをALBに任せられる。 サービスメッシュと ⽐べてよりマネージドなので運⽤が楽」
  39. 39 データで⾒るMADチームの案件概要

  40. 40 集計対象 MADチーム創設 2020年07⽉ メンバー数 12⼈ 案件数 10件

  41. 41 規模感 (1案件あたり) 1⼈ 50% 2-4⼈ 50% 開発者(クラスメソッド) 1⼈ 2-4⼈

    3ヶ⽉以内 31% 半年以内 38% 1年以内 8% 1年以上 23% 期間 3ヶ⽉以内 半年以内 1年以内 それ以上
  42. 42 ⽀援内容 AWS技術コンサル 22% AWS構築⽀援 39% フロント開発 13% バックエンド開発 26%

    ⽀援内容 AWS技術コンサル AWS構築⽀援 フロント開発 バックエンド開発
  43. 43 開発 React 75% Angular 25% フロントエンド開発 React Angular Lambda

    63% ECS 25% EKS 6% AppSync 6% バックエンド開発 Lambda ECS EKS AppSync
  44. 44 Infrastructure as Code CloudFormation 21% Serverless Framework 16% CDK

    (Typescript) 31% Terraform 32% IaC CloudFormation Serverless Framework CDK Terraform
  45. 45 開発⾔語 Typescript 54% Python 33% Golang 13% 開発⾔語 Typescript

    Python Golang
  46. 46 CI/CD Github Actions 20% GitLab Runner 13% CircleCI 27%

    AWS Code Series 33% Terraform Cloud 7% CI/CD Github Actions GitLab Runner CircleCI AWS Code Series Terraform Cloud
  47. 47 SaaS CircleCI 40% Auth0 40% Mackerel 10% Twillio 10%

    SaaS CircleCI Auth0 Mackerel Twillio
  48. 48 MADチーム案件の特徴 • インフラとアプリの境⽬とかない • IaC化やCI/CDは必須 • 便利なSaaSはどんどん利⽤する • 案件規模はめっちゃでかいという程でもない

  49. 49 最後に

  50. 50 ⼀⾔ めっちゃ ごっつ はいありんぐ