Slide 1

Slide 1 text

社内でのサーバーレスアプリケーション開発を、 プラットフォームエンジニアリングを整備して 迅速化‧安定化させる取り組み 若槻⿓太 クラスメソッド株式会社 1

Slide 2

Slide 2 text

2 自己紹介 ● 若槻⿓太 ● 2019年11⽉クラスメソッド⼊社 ● 製造ビジネステクノロジー部 所属 ● 主な業務 ○ 各種アプリケーション開発 ○ プラットフォームエンジニアリング ○ 投資領域(デジタルツインなど) ● 2024 Japan AWS Top Engineers 選出 ● 2024 AWS Community Builders 選出 https://dev.classmethod.jp/author/wakatsuki-ryuta/ ※5年間でブログ約1200本書いていたらしい

Slide 3

Slide 3 text

3 アジェンダ 1. クラスメソッド社のサーバーレス開発の系譜 2. プラクティスを Platform Engineering 化

Slide 4

Slide 4 text

4 アジェンダ(要約) 1. 前半:組織の歴史の話 2. 後半:ICASU アーキテクチャ (通称) の話 →どのような経緯でサーバーレス開発の Platform Engineering が必要になり、どう推進していったの か?

Slide 5

Slide 5 text

5 クラスメソッド社のサーバーレス開発の系譜 (受託)開発を⾏う部署の変遷を技術軸で⾒てみる 6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採⽤する主要な AWS サービスの ⼀般提供開始 Lambda 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps ⽀援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名/構成から単純化してます アーキ テクト

Slide 6

Slide 6 text

6 クラスメソッド社のサーバーレス開発の系譜 (受託)開発を⾏う部署の変遷を技術軸で⾒てみる 2017年にモバイルアプリサービス部から派⽣して “サーバーレス開発部”が設⽴される 6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採⽤する主要な AWS サービスの ⼀般提供開始 Lambda 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps ⽀援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名/構成から単純化してます アーキ テクト

Slide 7

Slide 7 text

7 クラスメソッド社のサーバーレス開発の系譜 (受託)開発を⾏う部署の変遷を技術軸で⾒てみる 2017年にモバイルアプリサービス部から派⽣して “サーバーレス開発部”が設⽴される →弊社で「サーバーレス」技術の本格採⽤が始まる (受託)開発を⾏う部署の変遷を技術軸で⾒てみる 6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採⽤する主要な AWS サービスの ⼀般提供開始 Lambda 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps ⽀援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名/構成から単純化してます アーキ テクト

Slide 8

Slide 8 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 8 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2017年にモバイルアプリサービス部から派生して 
 “サーバーレス開発部”が設立される 
 →クラスメソッドで「サーバーレス」技術の本格採用が始まる 
 サーバーレス開発部(2017〜2019) の設⽴経緯 https://dev.classmethod.jp/articles/serverless-dev-dep/ 2014年11⽉にAWS Lambdaが発表されてから、私の所属しているモバイルアプ リサービス部でも、Lambdaを⼀部利⽤することも増えてきていましたが、当時 は、全てをサーバーレスで開発するという状況ではありませんでした。特にモバ イルのAPIについては、EC2上にAPIサーバーを⽴ててアクセス制御するという のがやはり効率的でした。クラスメソッドでは事業会社様のサービスを開発し ていることも多く、サーバーレスの制約だから実現できませんという⾔い訳で きません。その為、開発する中で最適なサービスを選んで開発をしています。 しかし、2017年頃からAWS構築、モバイル、データ分析基盤というクラスメ ソッドが現在メインの事業としている以外の問合せも増えてきていました。その ⼀つがサーバーレスでの開発になります。技術者界隈で盛り上がっていた、サー バーレス開発がいよいよ事業会社様にも徐々に浸透してきており、2017年夏頃 がらサーバーレス系の問合せが増えてきました。クラスメソッドの経営理念は 「オープンな発想と⾼い技術⼒により すべての⼈々の創造活動に貢献し続け る」です。AWS構築、モバイル、データ分析基盤というビジネスが⽴ち上がっ たのも、世の中の状況とお客様のニーズに合わせ事業変⾰が起きたためです。 サーバーレス開発といっても今までやっている技術の延⻑線上の1つですし、で きるメンバーも沢⼭いてお客様のニーズがあるのであれば、特化した部署を⽴ち 上げても良いのではということで2017年10⽉にサーバーレス開発部が新設され ました。 ※当時および現部門長の大橋さん

Slide 9

Slide 9 text

9 クラスメソッド社のサーバーレス開発の系譜 (受託)開発を⾏う部署の変遷を技術軸で⾒てみる ⼤橋さんのブログを要約すると... (受託)開発を⾏う部署の変遷を技術軸で⾒てみる 6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採⽤する主要な AWS サービスの ⼀般提供開始 Lambda 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps ⽀援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名/構成から単純化してます アーキ テクト

Slide 10

Slide 10 text

10 クラスメソッド社のサーバーレス開発の系譜 (受託)開発を⾏う部署の変遷を技術軸で⾒てみる 2014年頃からサーバーレスサービスが AWS に登場し始めたが 当初は社内でも部分的採⽤に留まる (受託)開発を⾏う部署の変遷を技術軸で⾒てみる 6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採⽤する主要な AWS サービスの ⼀般提供開始 Lambda 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps ⽀援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名/構成から単純化してます アーキ テクト

Slide 11

Slide 11 text

11 クラスメソッド社のサーバーレス開発の系譜 (受託)開発を⾏う部署の変遷を技術軸で⾒てみる 2014年頃からサーバーレスサービスが AWS に登場し始めたが 当初は社内でも部分的採⽤に留まる →2017年頃から事業会社にも浸透、問合せも増え、専⾨部署を⽴ち上げ (受託)開発を⾏う部署の変遷を技術軸で⾒てみる 6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採⽤する主要な AWS サービスの ⼀般提供開始 Lambda 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps ⽀援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名/構成から単純化してます アーキ テクト

Slide 12

Slide 12 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 12 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2017年にモバイルアプリサービス部から派生して 
 “サーバーレス開発部”が設立される 
 →クラスメソッドで「サーバーレス」技術の本格採用が始まる 
 サーバーレス開発部(2017〜2019) の採⽤技術 https://dev.classmethod.jp/articles/classmethod_serverless_introduction/ 2018年当時採⽤されていた技術スタック 図中の API Gateway、Lambda、DynamoDB、IoT Coreに加 えて、⾔語は Python、テストは Pytest、 IaC は AWS SAM や CloudFormation が使われていた ※サービスアイコンに歴史を感じる


Slide 13

Slide 13 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 13 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2017年にモバイルアプリサービス部から派生して 
 “サーバーレス開発部”が設立される 
 →クラスメソッドで「サーバーレス」技術の本格採用が始まる 
 サーバーレス開発部(2017〜2019) の採⽤技術 https://dev.classmethod.jp/articles/serverlessconf_tokyo2018_coding_testing _logging_pattern_serverless/ また Lambda 関数(Python)の ソフトウェアデザインパターンとして レイヤードアーキテクチャ(広義のDDD)を採⽤ →サーバーレスでもソフトウェアデザイン利⽤の実績ができる

Slide 14

Slide 14 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 14 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2017年にモバイルアプリサービス部から派生して 
 “サーバーレス開発部”が設立される 
 →クラスメソッドで「サーバーレス」技術の本格採用が始まる 
 サーバーレス開発部(2017〜2019) の採⽤技術 https://dev.classmethod.jp/articles/serverless-unit-test-with-jest/ 2019年になると、Lambda の実装に 選択肢として TypeScript を増やし、また関数コードの テストには Jest が採⽤された →⾔語の選択肢が増えて、JS/TS使いにも⼊⾨しやすく ※当時の社内のサーバーレストレンドを和田さん(現Zennチーム)が牽引していたことにこの辺で気が付く 


Slide 15

Slide 15 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 15 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2017年にモバイルアプリサービス部から派生して 
 “サーバーレス開発部”が設立される 
 →クラスメソッドで「サーバーレス」技術の本格採用が始まる 
 サーバーレス開発部(2017〜2019) の採⽤技術 https://dev.classmethod.jp/articles/serverless-testing-using-typescript-and-jest さらに Lambda 関数(TypeScript)は Humble Object パターンを意識した堅牢な実装へ ※安定の和田さん 


Slide 16

Slide 16 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 16 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2017年にモバイルアプリサービス部から派生して 
 “サーバーレス開発部”が設立される 
 →クラスメソッドで「サーバーレス」技術の本格採用が始まる 
 サーバーレス開発部(2017〜2019) の採⽤技術 ここまでをまとめると... ● AWS サーバーレスサービス ○ DynamoDB、Lambda、API Gateway その他多数 ● Lambda ランタイム実装 ○ Python、Node.js(TypeScript)等 ○ テスティングフレームワーク(Pytest、unittest、Jest 等) ○ ソフトウェアデザインパターン(DDD、Humble Object) ● IaC フレームワーク ○ CloudFormation、AWS SAM、Serverless Framework

Slide 17

Slide 17 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 17 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2017年にモバイルアプリサービス部から派生して 
 “サーバーレス開発部”が設立される 
 →クラスメソッドで「サーバーレス」技術の本格採用が始まる 
 サーバーレス開発部(2017〜2019) の採⽤技術 ここまでをまとめると... ● AWS サーバーレスサービス ○ DynamoDB、Lambda、API Gateway その他多数 ● Lambda ランタイム実装 ○ Python、Node.js(TypeScript)等 ○ テスティングフレームワーク(Pytest、unittest、Jest 等) ○ ソフトウェアデザインパターン(DDD、Humble Object) ● IaC フレームワーク ○ CloudFormation、AWS SAM、Serverless Framework →サーバーレス開発での選択肢と堅牢な開発⼿法が 社内に実績として出揃ってきた

Slide 18

Slide 18 text

18 クラスメソッド社のサーバーレス開発の系譜 (受託)開発を⾏う部署の変遷を技術軸で⾒てみる そのような中で... 6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採⽤する主要な AWS サービスの ⼀般提供開始 Lambda 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps ⽀援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名/構成から単純化してます アーキ テクト

Slide 19

Slide 19 text

19 クラスメソッド社のサーバーレス開発の系譜 (受託)開発を⾏う部署の変遷を技術軸で⾒てみる 2019年7⽉に各開発部署が統合されて、技術を総合的に活⽤して 顧客体験の実現を⽀援する部署として”CX事業本部”ができた ※若槻が入社したのは2019年11月なので創設直後だった。採用応募時はサーバーレス開発部を志望したが入社したら無くなっていた。 
 6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採⽤する主要な AWS サービスの ⼀般提供開始 Lambda 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps ⽀援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名/構成から単純化してます アーキ テクト

Slide 20

Slide 20 text

20 クラスメソッド社のサーバーレス開発の系譜 (受託)開発を⾏う部署の変遷を技術軸で⾒てみる 2019年7⽉に各開発部署が統合されて、技術を総合的に活⽤して 顧客体験の実現を⽀援する部署として”CX事業本部”ができた →部署体系が技術軸からプラットフォーム軸へ ※プラットフォームも技術の一種だがここでは便宜的にこの分類とする 
 6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採⽤する主要な AWS サービスの ⼀般提供開始 Lambda 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps ⽀援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名/構成から単純化してます アーキ テクト

Slide 21

Slide 21 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 21 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2019年に各開発部署が統合されて、技術を総合的に活用して 
 顧客体験の実現を支援する部署として”CX事業本部”ができた 
 →サーバーレス技術の採用が「オプション」から「デフォルト」へ 
 CX事業本部(2019〜2024) の採⽤技術 CX事業本部以前 技術軸の部署体系だった時代は サーバーレス技術の採⽤は あくまでオプションだった モバイルアプリサービス部 DevOps⽀援室 サーバーレス開発部 AIソリューション部 必要分をつまみ食い 


Slide 22

Slide 22 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 22 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2019年に各開発部署が統合されて、技術を総合的に活用して 
 顧客体験の実現を支援する部署として”CX事業本部”ができた 
 →サーバーレス技術の採用が「オプション」から「デフォルト」へ 
 CX事業本部(2019〜2024) の採⽤技術 CX事業本部以前 技術軸の部署体系だった時代は サーバーレス技術の採⽤は あくまでオプションだった CX事業本部 モバイルアプリサービス部 DevOps⽀援室 サーバーレス開発部 AIソリューション部 CX事業本部以降 IoT    MAD    LINE    モバイル    必要分をつまみ食い 
 プラットフォーム軸の部署体系へ

Slide 23

Slide 23 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 23 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2019年に各開発部署が統合されて、技術を総合的に活用して 
 顧客体験の実現を支援する部署として”CX事業本部”ができた 
 →サーバーレス技術の採用が「オプション」から「デフォルト」へ 
 CX事業本部以前 CX事業本部(2019〜2024) の採⽤技術 技術軸の部署体系だった時代は サーバーレス技術の採⽤は あくまでオプションだった CX事業本部 モバイルアプリサービス部 DevOps⽀援室 サーバーレス開発部 AIソリューション部 CX事業本部以降 IoT    MAD    LINE    モバイル    プラットフォーム軸の部署体系へ サーバーレス専⾨部署時代の実績もあり サーバーレス技術が部内の各チームで デフォルトで採⽤されるように ※ MAD(Modern Application Development) はコンテナ採用もあり 
 
 必要分をつまみ食い 
 with サーバーレス with サーバーレス with サーバーレス with サーバーレス

Slide 24

Slide 24 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 24 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2019年に各開発部署が統合されて、技術を総合的に活用して 
 顧客体験の実現を支援する部署として”CX事業本部”ができた 
 →部署体系が技術軸からプラットフォーム軸へ 
 ※プラットフォームも技術の一種だがここでは便宜的にこの分類とする 
 CX事業本部(2019〜2024) の採⽤技術 https://dev.classmethod.jp/articles/introduction-cx-business-unit/ 部署創設当初は サーバーレス専⾨部署時代の技術スタックを 基本的には継承していた

Slide 25

Slide 25 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 25 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2019年に各開発部署が統合されて、技術を総合的に活用して 
 顧客体験の実現を支援する部署として”CX事業本部”ができた 
 →部署体系が技術軸からプラットフォーム軸へ 
 ※プラットフォームも技術の一種だがここでは便宜的にこの分類とする 
 CX事業本部(2019〜2024) の採⽤技術 https://dev.classmethod.jp/articles/introduction-cx-business-unit/ 部署創設当初は サーバーレス専⾨部署時代の技術スタックを 基本的には継承していた だがしかし...

Slide 26

Slide 26 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 26 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2019年に各開発部署が統合されて、技術を総合的に活用して 
 顧客体験の実現を支援する部署として”CX事業本部”ができた 
 →部署体系が技術軸からプラットフォーム軸へ 
 ※プラットフォームも技術の一種だがここでは便宜的にこの分類とする 
 CX事業本部(2019〜2024) の採⽤技術 https://careers.classmethod.jp/feature/number/ 会社規模の加速度的な成⻑ ※ 特にCX事業本部が創設された2019年頃からの勢いが顕著 


Slide 27

Slide 27 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 27 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2019年に各開発部署が統合されて、技術を総合的に活用して 
 顧客体験の実現を支援する部署として”CX事業本部”ができた 
 →部署体系が技術軸からプラットフォーム軸へ 
 ※プラットフォームも技術の一種だがここでは便宜的にこの分類とする 
 CX事業本部(2019〜2024) の採⽤技術 https://careers.classmethod.jp/feature/number/ 会社規模の加速度的な成⻑ ※ 特にCX事業本部が創設された2019年頃からの勢いが顕著 
 起こった変化として... ● 新メンバーと新案件が増え、新技術の提案や技術 選定し直しの機会が増加 ● プラットフォーム軸となったことで開発をチーム 内のメンバーのみで完結可能になっていた(その ように⼈員配置した)

Slide 28

Slide 28 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 28 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2019年に各開発部署が統合されて、技術を総合的に活用して 
 顧客体験の実現を支援する部署として”CX事業本部”ができた 
 →部署体系が技術軸からプラットフォーム軸へ 
 ※プラットフォームも技術の一種だがここでは便宜的にこの分類とする 
 CX事業本部(2019〜2024) の採⽤技術 https://careers.classmethod.jp/feature/number/ 会社規模の加速度的な成⻑ ※ 特にCX事業本部が創設された2019年頃からの勢いが顕著 
 サーバーレスを基本とする点は抑えつつ、 専⾨部署の横串が外れたため、 各チームやPJで独⾃のプラクティスの形成 ※CX以前も無くはなかったと思うが、より「技術のガラパゴス化」が進展しやすい状況となった 
 起こった変化として... ● 新メンバーと新案件が増え、新技術の提案や技術 選定し直しの機会が増加 ● プラットフォーム軸となったことで開発をチーム 内のメンバーのみで完結可能になっていた(その ように⼈員配置した)

Slide 29

Slide 29 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 29 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2019年に各開発部署が統合されて、技術を総合的に活用して 
 顧客体験の実現を支援する部署として”CX事業本部”ができた 
 →部署体系が技術軸からプラットフォーム軸へ 
 ※プラットフォームも技術の一種だがここでは便宜的にこの分類とする 
 CX事業本部(2019〜2024) の採用技術 各チームや案件内で独自の進化 各チームや案件内で独自の進化を遂げるイメージ CX事業本部(2019〜2024) の採⽤技術 技術スタックのプラクティス形成のイメージ 時 系 列 プロジェクトA

Slide 30

Slide 30 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 30 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2019年に各開発部署が統合されて、技術を総合的に活用して 
 顧客体験の実現を支援する部署として”CX事業本部”ができた 
 →部署体系が技術軸からプラットフォーム軸へ 
 ※プラットフォームも技術の一種だがここでは便宜的にこの分類とする 
 CX事業本部(2019〜2024) の採用技術 各チームや案件内で独自の進化 各チームや案件内で独自の進化を遂げるイメージ CX事業本部(2019〜2024) の採⽤技術 技術スタックのプラクティス形成のイメージ 時 系 列 プロジェクトA IaC は AWS SAM で 言語は Python に しよう

Slide 31

Slide 31 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 31 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2019年に各開発部署が統合されて、技術を総合的に活用して 
 顧客体験の実現を支援する部署として”CX事業本部”ができた 
 →部署体系が技術軸からプラットフォーム軸へ 
 ※プラットフォームも技術の一種だがここでは便宜的にこの分類とする 
 CX事業本部(2019〜2024) の採用技術 各チームや案件内で独自の進化 各チームや案件内で独自の進化を遂げるイメージ CX事業本部(2019〜2024) の採⽤技術 技術スタックのプラクティス形成のイメージ 時 系 列 プロジェクトA IaC は AWS SAM で 言語は Python に しよう プロジェクトB

Slide 32

Slide 32 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 32 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2019年に各開発部署が統合されて、技術を総合的に活用して 
 顧客体験の実現を支援する部署として”CX事業本部”ができた 
 →部署体系が技術軸からプラットフォーム軸へ 
 ※プラットフォームも技術の一種だがここでは便宜的にこの分類とする 
 CX事業本部(2019〜2024) の採用技術 各チームや案件内で独自の進化 各チームや案件内で独自の進化を遂げるイメージ CX事業本部(2019〜2024) の採⽤技術 技術スタックのプラクティス形成のイメージ 時 系 列 プロジェクトA IaC は AWS SAM で 言語は Python に しよう プロジェクトB TS ならテスト は Jest が 良いよ TypeScript が 熱いらしい IaC は前例を 踏襲したい

Slide 33

Slide 33 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 33 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2019年に各開発部署が統合されて、技術を総合的に活用して 
 顧客体験の実現を支援する部署として”CX事業本部”ができた 
 →部署体系が技術軸からプラットフォーム軸へ 
 ※プラットフォームも技術の一種だがここでは便宜的にこの分類とする 
 CX事業本部(2019〜2024) の採用技術 各チームや案件内で独自の進化 各チームや案件内で独自の進化を遂げるイメージ プロジェクトA プロジェクトC IaC は AWS SAM で 言語は Python に しよう プロジェクトB TS ならテスト は Jest が 良いよ TypeScript が 熱いらしい IaC は前例を 踏襲したい CX事業本部(2019〜2024) の採⽤技術 技術スタックのプラクティス形成のイメージ 時 系 列

Slide 34

Slide 34 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 34 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2019年に各開発部署が統合されて、技術を総合的に活用して 
 顧客体験の実現を支援する部署として”CX事業本部”ができた 
 →部署体系が技術軸からプラットフォーム軸へ 
 ※プラットフォームも技術の一種だがここでは便宜的にこの分類とする 
 CX事業本部(2019〜2024) の採用技術 各チームや案件内で独自の進化 各チームや案件内で独自の進化を遂げるイメージ プロジェクトA プロジェクトC IaC は AWS SAM で 言語は Python に しよう プロジェクトB TS ならテスト は Jest が 良いよ TypeScript が 熱いらしい IaC は前例を 踏襲したい v2 が出たから CDK にしよう 別 PJ で Lambda-lith 良かったです CX事業本部(2019〜2024) の採⽤技術 技術スタックのプラクティス形成のイメージ 時 系 列

Slide 35

Slide 35 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 35 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2019年に各開発部署が統合されて、技術を総合的に活用して 
 顧客体験の実現を支援する部署として”CX事業本部”ができた 
 →部署体系が技術軸からプラットフォーム軸へ 
 ※プラットフォームも技術の一種だがここでは便宜的にこの分類とする 
 CX事業本部(2019〜2024) の採用技術 各チームや案件内で独自の進化 各チームや案件内で独自の進化を遂げるイメージ プロジェクトA プロジェクトC IaC は AWS SAM で 言語は Python に しよう プロジェクトB TS ならテスト は Jest が 良いよ TypeScript が 熱いらしい IaC は前例を 踏襲したい v2 が出たから CDK にしよう 別 PJ で Lambda-lith 良かったです CX事業本部(2019〜2024) の採⽤技術 技術スタックのプラクティス形成のイメージ CX事業本部 IoT MAD LINE モバイル 時 系 列 このプラクティス形成が 各チームやPJで独⾃に進んだ ※長期案件だと、初期の技術が生きながらえたていたり、行き来が少ない案件では より独自の発達をしたりする(部内で唯一 Scala や Rust を採用等) 横 串 は 不 在

Slide 36

Slide 36 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 36 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2019年に各開発部署が統合されて、技術を総合的に活用して 
 顧客体験の実現を支援する部署として”CX事業本部”ができた 
 →部署体系が技術軸からプラットフォーム軸へ 
 ※プラットフォームも技術の一種だがここでは便宜的にこの分類とする 
 CX事業本部(2019〜2024) の採用技術 各チームや案件内で独自の進化 各チームや案件内で独自の進化を遂げるイメージ プロジェクトA プロジェクトC IaC は AWS SAM で 言語は Python に しよう プロジェクトB TS ならテスト は Jest が 良いよ TypeScript が 熱いらしい IaC は前例を 踏襲したい v2 が出たから CDK にしよう 別 PJ で Lambda-lith 良かったです CX事業本部(2019〜2024) の採⽤技術 技術スタックのプラクティス形成のイメージ CX事業本部 IoT MAD LINE モバイル 時 系 列 このプラクティス形成が 各チームやPJで独⾃に進んだ ※長期案件だと、初期の技術が生きながらえたていたり、行き来が少ない案件では より独自の発達をしたりする(部内で唯一 Scala や Rust を採用等) 多様性があって良さそうだが 直⾯する課題も出てきた... 横 串 は 不 在

Slide 37

Slide 37 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 37 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます そのような中で... 
 CX事業本部(2019〜2024) の採⽤技術 https://dev.classmethod.jp/articles/classmethod-platform-engineering-devio2024 ※社内ブログもあり ※勉強会、Slack など ※デザインパターン 各チームやPJそれぞれで 独⾃にプラクティス形成が進んだことにより 直⾯した課題 ※アンチパターン

Slide 38

Slide 38 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 38 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます そのような中で... 
 CX事業本部(2019〜2024) の採⽤技術 https://dev.classmethod.jp/articles/classmethod-platform-engineering-devio2024 ※社内ブログもあり ※勉強会、Slack など 各チームやPJそれぞれで 独⾃にプラクティス形成が進んだことにより 直⾯した課題 せっかく形成されたプラクティスが 狭い範囲でしか活⽤されない ※デザインパターン ※アンチパターン

Slide 39

Slide 39 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 39 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2019年に各開発部署が統合されて、技術を総合的に活用して 
 顧客体験の実現を支援する部署として”CX事業本部”ができた 
 →部署体系が技術軸からプラットフォーム軸へ 
 ※プラットフォームも技術の一種だがここでは便宜的にこの分類とする 
 CX事業本部(2019〜2024) の採用技術 各チームや案件内で独自の進化 各チームや案件内で独自の進化を遂げるイメージ CX事業本部(2019〜2024) の採⽤技術 プロジェクトC’ CDK はクロススタック 参照回避のためシング ルスタック構成で API バックエンドは Single responsibility Lambda で作りましょう 例えばとあるプロジェクトで...

Slide 40

Slide 40 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 40 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2019年に各開発部署が統合されて、技術を総合的に活用して 
 顧客体験の実現を支援する部署として”CX事業本部”ができた 
 →部署体系が技術軸からプラットフォーム軸へ 
 ※プラットフォームも技術の一種だがここでは便宜的にこの分類とする 
 CX事業本部(2019〜2024) の採用技術 各チームや案件内で独自の進化 各チームや案件内で独自の進化を遂げるイメージ CX事業本部(2019〜2024) の採⽤技術 プロジェクトC’ 例えばとあるプロジェクトで... 初期は問題ないが API が成⻑すると... CDK はクロススタック 参照回避のためシング ルスタック構成で API バックエンドは Single responsibility Lambda で作りましょう

Slide 41

Slide 41 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 41 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2019年に各開発部署が統合されて、技術を総合的に活用して 
 顧客体験の実現を支援する部署として”CX事業本部”ができた 
 →部署体系が技術軸からプラットフォーム軸へ 
 ※プラットフォームも技術の一種だがここでは便宜的にこの分類とする 
 CX事業本部(2019〜2024) の採用技術 各チームや案件内で独自の進化 各チームや案件内で独自の進化を遂げるイメージ CX事業本部(2019〜2024) の採⽤技術 プロジェクトC’ 例えばとあるプロジェクトで... https://dev.classmethod.jp/articles/cdk-over-21-lambda-create-error 初期は問題ないが API が成⻑すると... Cfn のクオータ制限に抵触 CDK(Cfn)のマルチスタック化または Lambda-lith にすべし という社内での既知のプラクティスが共有されていない CDK はクロススタック 参照回避のためシング ルスタック構成で API バックエンドは Single responsibility Lambda で作りましょう

Slide 42

Slide 42 text

6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採用する主要な AWS サービスの 一般提供開始 Lambda 42 クラスメソッド社のサーバーレス開発の系譜 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps 支援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 (受託)開発を行う部署の変遷を技術軸で見てみる サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名 /構成から単純化してます 2019年に各開発部署が統合されて、技術を総合的に活用して 
 顧客体験の実現を支援する部署として”CX事業本部”ができた 
 →部署体系が技術軸からプラットフォーム軸へ 
 ※プラットフォームも技術の一種だがここでは便宜的にこの分類とする 
 CX事業本部(2019〜2024) の採用技術 各チームや案件内で独自の進化 各チームや案件内で独自の進化を遂げるイメージ CX事業本部(2019〜2024) の採⽤技術 プロジェクトC’ 例えばとあるプロジェクトで... https://dev.classmethod.jp/articles/cdk-over-21-lambda-create-error 初期は問題ないが API が成⻑すると... Cfn のクオータ制限に抵触 CDK(Cfn)のマルチスタック化または Lambda-lith にすべし という社内での既知のプラクティスが共有されていない →これは⾮常にもったいない状況 CDK はクロススタック 参照回避のためシング ルスタック構成で API バックエンドは Single responsibility Lambda で作りましょう

Slide 43

Slide 43 text

43 クラスメソッド社のサーバーレス開発の系譜 (受託)開発を⾏う部署の変遷を技術軸で⾒てみる そのような現状を受けて... 6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採⽤する主要な AWS サービスの ⼀般提供開始 Lambda 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps ⽀援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名/構成から単純化してます アーキ テクト

Slide 44

Slide 44 text

44 クラスメソッド社のサーバーレス開発の系譜 (受託)開発を⾏う部署の変遷を技術軸で⾒てみる 2023年から部内の編成が変わった折に、技術軸のチームに加えて “アーキテクトチーム”が設⽴された 6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採⽤する主要な AWS サービスの ⼀般提供開始 Lambda 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps ⽀援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名/構成から単純化してます アーキ テクト

Slide 45

Slide 45 text

45 クラスメソッド社のサーバーレス開発の系譜 (受託)開発を⾏う部署の変遷を技術軸で⾒てみる 2023年から部内の編成が変わった折に、技術軸のチームに加えて “アーキテクトチーム”が設⽴された → 以前のような横断的な役割(横串)を担う専⾨チームだが、 違いとしては開発よりも主にプラットフォームエンジニアリングを担う 6期 7期 8期 9期 10期 11期 12期 13期 14期 15期 16期 17期 18期 19期 20期 21期 2009年
 2010年
 2011年
 2012年
 2013年
 2014年
 2015年
 2016年
 2017年
 2018年
 2019年
 2020年
 2021年
 2022年
 2023年
 2024年
 サーバーレス開発で よく採⽤する主要な AWS サービスの ⼀般提供開始 Lambda 開発部 iPhoneアプリ サービス事業部 モバイル イニシアチブ グループ ソリューション グループ モバイルアプリサービス部 CX事業本部 サーバーレス 開発部 DevOps ⽀援室 AIソリューション部 (Alexa事業部) IoT 製造 ビジネス テクノロ ジー部 リテール アプリ 共創部 MAD LINE モバイル Delivery部 技術軸の部署 サーバー サイド フロント エンド アーキテクト API Gateway / IoT Core CDK v1 DynamoDB CloudFormation AWS SAM ※この辺は実際のチーム名/構成から単純化してます アーキ テクト

Slide 46

Slide 46 text

46 プラクティスを Platform Engineering 化 最初期に現状の整理が⾏われた やはり社内でのプラクティス共有に問題がありそう ※「基盤チーム(仮)」にベータ感を感じる。若槻はこの時点では別のチーム所属で、後発メンバーとして数ヶ月後に参加する。 
 アーキテクトチーム(2023〜) の設⽴、⽅針検討

Slide 47

Slide 47 text

47 プラクティスを Platform Engineering 化 チーム黎明期は若槻は未参加だったので、 この頃の詳しい⽅針検討の経緯や 概要説明は佐藤智樹さんの 登壇資料に詳しいので ここから積極的に引⽤していきます プラットフォームエンジニアリングやICASU アーキテクチャについて 分かりやすくまとめられているので是⾮ 合わせて参照ください https://dev.classmethod.jp/articles/classmethod-platform-engineering -devio2024/ アーキテクトチーム(2023〜) の設⽴、⽅針検討

Slide 48

Slide 48 text

48 プラクティスを Platform Engineering 化 アーキテクトチーム(2023〜) の設⽴、⽅針検討 プラクティスとなる知⾒をサンプルコードと合わせて共有するという 開発負荷および利⽤者負荷のいずれも⾼くないレベルの プラットフォームエンジニアリングを実施することに

Slide 49

Slide 49 text

49 プラクティスを Platform Engineering 化 アーキテクトチーム(2023〜) の設⽴、⽅針検討 具体的には、サーバーレスで API バックエンドを構築する インフラ/CICD/監視/セキュリティのサンプルコードを提供

Slide 50

Slide 50 text

50 プラクティスを Platform Engineering 化 アーキテクトチーム(2023〜) の設⽴、⽅針検討 初期のサンプルコード構築では PJ で実際にうまくいったパターンを抽出(部分的に採⽤)する 興味があるからと⾔って実績の無い技術スタックは採⽤しない

Slide 51

Slide 51 text

51 プラクティスを Platform Engineering 化 アーキテクトチーム(2023〜) の設⽴、⽅針検討 アーキテクトチームによる Platform Engineering の提供物/活動を ICASU アーキテクチャと命名

Slide 52

Slide 52 text

52 プラクティスを Platform Engineering 化 ICASU アーキテクチャは2パターンを提供 Lambda ベース ECS ベース

Slide 53

Slide 53 text

53 プラクティスを Platform Engineering 化 ICASU アーキテクチャは2パターンを提供 Lambda ベース ECS ベース

Slide 54

Slide 54 text

54 プラクティスを Platform Engineering 化 Lambda ベースの技術スタックの抽出例 言語 ソフトウェア デザインパターン テスティング フレームワーク IaC CI/CD Lambda 設計 A TypeScript クリーン アーキテクチャ Vitest AWS CDK GitHub Actions Lambda-lith B TypeScript Humble Object Jest AWS CDK GitHub Actions Single responsibility Lambda C Python Humble Object Pytest AWS SAM CircleCI Single responsibility Lambda 部内でこのような3パターンのプラクティスがあった

Slide 55

Slide 55 text

55 プラクティスを Platform Engineering 化 Lambda ベースの技術スタックの抽出例 言語 ソフトウェア デザインパターン テスティング フレームワーク IaC CI/CD Lambda 設計 A TypeScript クリーン アーキテクチャ Vitest AWS CDK GitHub Actions Lambda-lith B TypeScript Humble Object Jest AWS CDK GitHub Actions Single responsibility Lambda C Python Humble Object Pytest AWS SAM CircleCI Single responsibility Lambda ⾔語は部内でもユーザーが多い(利⽤者負荷が低い) TypeScript を採⽤しよう

Slide 56

Slide 56 text

56 プラクティスを Platform Engineering 化 Lambda ベースの技術スタックの抽出例 言語 ソフトウェア デザインパターン テスティング フレームワーク IaC CI/CD Lambda 設計 A TypeScript クリーン アーキテクチャ Vitest AWS CDK GitHub Actions Lambda-lith B TypeScript Humble Object Jest AWS CDK GitHub Actions Single responsibility Lambda C Python Humble Object Pytest AWS SAM CircleCI Single responsibility Lambda ソフトウェアデザインパターンは 開発負荷および利⽤者負荷のいずれも⽐較的⾼くはない Humble Object を採⽤しよう

Slide 57

Slide 57 text

57 プラクティスを Platform Engineering 化 Lambda ベースの技術スタックの抽出例 言語 ソフトウェア デザインパターン テスティング フレームワーク IaC CI/CD Lambda 設計 A TypeScript クリーン アーキテクチャ Vitest AWS CDK GitHub Actions Lambda-lith B TypeScript Humble Object Jest AWS CDK GitHub Actions Single responsibility Lambda C Python Humble Object Pytest AWS SAM CircleCI Single responsibility Lambda ほとんどの場合に Jest より⾼速に動作し、 Jest と互換性もある(従来からの Jest 利⽤者にとっての 負荷も⾼くない)Vitest を採⽤

Slide 58

Slide 58 text

58 プラクティスを Platform Engineering 化 Lambda ベースの技術スタックの抽出例 言語 ソフトウェア デザインパターン テスティング フレームワーク IaC CI/CD Lambda 設計 A TypeScript クリーン アーキテクチャ Vitest AWS CDK GitHub Actions Lambda-lith B TypeScript Humble Object Jest AWS CDK GitHub Actions Single responsibility Lambda C Python Humble Object Pytest AWS SAM CircleCI Single responsibility Lambda IaC は部内でもユーザーが多い(利⽤者負荷が低い) AWS CDK を採⽤しよう

Slide 59

Slide 59 text

59 プラクティスを Platform Engineering 化 Lambda ベースの技術スタックの抽出例 言語 ソフトウェア デザインパターン テスティング フレームワーク IaC CI/CD Lambda 設計 A TypeScript クリーン アーキテクチャ Vitest AWS CDK GitHub Actions Lambda-lith B TypeScript Humble Object Jest AWS CDK GitHub Actions Single responsibility Lambda C Python Humble Object Pytest AWS SAM CircleCI Single responsibility Lambda 部内の開発 PJ でほぼ確実に使われる GitHub で利⽤可能な GitHub Actions を採⽤しよう

Slide 60

Slide 60 text

60 プラクティスを Platform Engineering 化 Lambda ベースの技術スタックの抽出例 言語 ソフトウェア デザインパターン テスティング フレームワーク IaC CI/CD Lambda 設計 A TypeScript クリーン アーキテクチャ Vitest AWS CDK GitHub Actions Lambda-lith B TypeScript Humble Object Jest AWS CDK GitHub Actions Single responsibility Lambda C Python Humble Object Pytest AWS SAM CircleCI Single responsibility Lambda Lambda 設計は、API バックエンドとして使う場合に Cfn のクオータの問題を回避できる Lambda-lith を使おう

Slide 61

Slide 61 text

61 プラクティスを Platform Engineering 化 Lambda ベースの技術スタックの抽出例 このようにして既存 PJ から抽出した技術スタックを 判断基準のドキュメント含めて実装していった

Slide 62

Slide 62 text

62 プラクティスを Platform Engineering 化 ICASU アーキテクチャの運⽤ アーキテクトチーム以外からもコントリビュートを受け付けて 能動的な実績のシェアもしてもらっている

Slide 63

Slide 63 text

63 プラクティスを Platform Engineering 化 ICASU アーキテクチャの運⽤ 主に PJ の⽴ち上げ時などに参照してもらい サーバーレス開発の迅速化‧安定化を促している

Slide 64

Slide 64 text

64 プラクティスを Platform Engineering 化 ICASU アーキテクチャは試験的な社外公開版もあり https://github.com/classmethod/icasu-cdk-serverless-api-sample/ 不定期にアップデート中

Slide 65

Slide 65 text

65 プラクティスを Platform Engineering 化 ICASU アーキテクチャの効果測定 効果測定も実施中(試⾏錯誤中) またアップデートがあれば共有させていただきます

Slide 66

Slide 66 text

66