Share
Embed
社内でのサーバーレスアプリケーション開発を、プラットフォームエンジニアリングを整備して 迅速化・安定化させる取り組み
ServerlessDAYS Tokyo 2024 に登壇時の発表資料です。
https://tokyo.serverlessdays.io/speakers/detail-wakatsuki.html
CM若槻龍太
September 21, 2024
Transcript
66 slides
-
2 自己紹介 • 若槻⿓太 • 2019年11⽉クラスメソッド⼊社 • 製造ビジネステクノロジー部 所属 •
主な業務 ◦ 各種アプリケーション開発 ◦ プラットフォームエンジニアリング ◦ 投資領域(デジタルツインなど) • 2024 Japan AWS Top Engineers 選出 • 2024 AWS Community Builders 選出 https://dev.classmethod.jp/author/wakatsuki-ryuta/ ※5年間でブログ約1200本書いていたらしい -
4 アジェンダ(要約) 1. 前半:組織の歴史の話 2. 後半:ICASU アーキテクチャ (通称) の話 →どのような経緯でサーバーレス開発の
Platform Engineering が必要になり、どう推進していったの か? -
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 ※この辺は実際のチーム名/構成から単純化してます アーキ テクト -
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 ※この辺は実際のチーム名/構成から単純化してます アーキ テクト -
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 ※この辺は実際のチーム名/構成から単純化してます アーキ テクト -
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⽉にサーバーレス開発部が新設され ました。 ※当時および現部門長の大橋さん -
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 ※この辺は実際のチーム名/構成から単純化してます アーキ テクト -
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 ※この辺は実際のチーム名/構成から単純化してます アーキ テクト -
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 ※この辺は実際のチーム名/構成から単純化してます アーキ テクト -
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 が使われていた ※サービスアイコンに歴史を感じる -
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)を採⽤ →サーバーレスでもソフトウェアデザイン利⽤の実績ができる -
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チーム)が牽引していたことにこの辺で気が付く -
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 パターンを意識した堅牢な実装へ ※安定の和田さん -
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 -
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 →サーバーレス開発での選択肢と堅牢な開発⼿法が 社内に実績として出揃ってきた -
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 ※この辺は実際のチーム名/構成から単純化してます アーキ テクト -
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 ※この辺は実際のチーム名/構成から単純化してます アーキ テクト -
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 ※この辺は実際のチーム名/構成から単純化してます アーキ テクト -
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ソリューション部 必要分をつまみ食い -
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 モバイル 必要分をつまみ食い プラットフォーム軸の部署体系へ -
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 サーバーレス -
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/ 部署創設当初は サーバーレス専⾨部署時代の技術スタックを 基本的には継承していた -
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/ 部署創設当初は サーバーレス専⾨部署時代の技術スタックを 基本的には継承していた だがしかし... -
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年頃からの勢いが顕著 -
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年頃からの勢いが顕著 起こった変化として... • 新メンバーと新案件が増え、新技術の提案や技術 選定し直しの機会が増加 • プラットフォーム軸となったことで開発をチーム 内のメンバーのみで完結可能になっていた(その ように⼈員配置した) -
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以前も無くはなかったと思うが、より「技術のガラパゴス化」が進展しやすい状況となった 起こった変化として... • 新メンバーと新案件が増え、新技術の提案や技術 選定し直しの機会が増加 • プラットフォーム軸となったことで開発をチーム 内のメンバーのみで完結可能になっていた(その ように⼈員配置した) -
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 -
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 に しよう -
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 -
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 は前例を 踏襲したい -
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) の採⽤技術 技術スタックのプラクティス形成のイメージ 時 系 列 -
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) の採⽤技術 技術スタックのプラクティス形成のイメージ 時 系 列 -
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 を採用等) 横 串 は 不 在 -
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 を採用等) 多様性があって良さそうだが 直⾯する課題も出てきた... 横 串 は 不 在 -
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それぞれで 独⾃にプラクティス形成が進んだことにより 直⾯した課題 ※アンチパターン -
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それぞれで 独⾃にプラクティス形成が進んだことにより 直⾯した課題 せっかく形成されたプラクティスが 狭い範囲でしか活⽤されない ※デザインパターン ※アンチパターン -
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 で作りましょう 例えばとあるプロジェクトで... -
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 で作りましょう -
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 で作りましょう -
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 で作りましょう -
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 ※この辺は実際のチーム名/構成から単純化してます アーキ テクト -
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 ※この辺は実際のチーム名/構成から単純化してます アーキ テクト -
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 ※この辺は実際のチーム名/構成から単純化してます アーキ テクト -
47 プラクティスを Platform Engineering 化 チーム黎明期は若槻は未参加だったので、 この頃の詳しい⽅針検討の経緯や 概要説明は佐藤智樹さんの 登壇資料に詳しいので ここから積極的に引⽤していきます
プラットフォームエンジニアリングやICASU アーキテクチャについて 分かりやすくまとめられているので是⾮ 合わせて参照ください https://dev.classmethod.jp/articles/classmethod-platform-engineering -devio2024/ アーキテクトチーム(2023〜) の設⽴、⽅針検討 -
49 プラクティスを Platform Engineering 化 アーキテクトチーム(2023〜) の設⽴、⽅針検討 具体的には、サーバーレスで API バックエンドを構築する
インフラ/CICD/監視/セキュリティのサンプルコードを提供 -
50 プラクティスを Platform Engineering 化 アーキテクトチーム(2023〜) の設⽴、⽅針検討 初期のサンプルコード構築では PJ で実際にうまくいったパターンを抽出(部分的に採⽤)する
興味があるからと⾔って実績の無い技術スタックは採⽤しない -
51 プラクティスを Platform Engineering 化 アーキテクトチーム(2023〜) の設⽴、⽅針検討 アーキテクトチームによる Platform Engineering
の提供物/活動を ICASU アーキテクチャと命名 -
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パターンのプラクティスがあった -
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 を採⽤しよう -
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 を採⽤しよう -
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 を採⽤ -
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 を採⽤しよう -
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 を採⽤しよう -
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 を使おう -
61 プラクティスを Platform Engineering 化 Lambda ベースの技術スタックの抽出例 このようにして既存 PJ から抽出した技術スタックを
判断基準のドキュメント含めて実装していった -
63 プラクティスを Platform Engineering 化 ICASU アーキテクチャの運⽤ 主に PJ の⽴ち上げ時などに参照してもらい
サーバーレス開発の迅速化‧安定化を促している