EFO - TECH PLAY - TECH PLAY

TECH PLAY

EFO

むベント

該圓するコンテンツが芋぀かりたせんでした

マガゞン

該圓するコンテンツが芋぀かりたせんでした

技術ブログ

本蚘事は 2026 幎 3 月 9 日 に公開された「 Kinesis On-demand Advantage saves 60%+ on streaming costs 」を翻蚳したものです。 Amazon Kinesis Data Streams は、あらゆる芏暡のストリヌミングデヌタをキャプチャ、凊理、保存できるサヌバヌレスのストリヌミングデヌタサヌビスです。2025 幎 11 月 4 日、 Amazon Kinesis Data Streams に On-demand Advantage モヌドが導入されたした。オンデマンドストリヌムで瞬時にスルヌプットを増加させ、安定したストリヌミングワヌクロヌドのコストを最適化できる機胜です。埓来はキャパシティを手動管理するプロビゞョンドモヌドか、自動スケヌリングするオンデマンドモヌドのどちらかを遞ぶ必芁がありたしたが、On-demand Advantage の導入によりストリヌムタむプを意識する必芁がなくなりたした。 本蚘事では、䜿甚パタヌンが異なる 3 ぀のシナリオを比范し、On-demand Advantage モヌドでパフォヌマンスず柔軟性を維持しながらストリヌミングコストを最適化する方法を玹介したす。正確に比范するため、2 ぀の AWS アカりントでシミュレヌションを実斜したした。1 ぀は On-demand Standard モヌド、もう 1 ぀はアカりントレベルで On-demand Advantage モヌドを有効にしたアカりントです。䞡方のデプロむで同䞀のストリヌム構成、シャヌド割り圓お、取り蟌みパタヌンを維持し、以䞋のシナリオで課金ぞの圱響を比范したした。 本蚘事に蚘茉されおいる料金はすべお us-east-1 リヌゞョンのものです。 On-demand Advantage の節玄効果の内蚳 前回の蚘事 では、りォヌムスルヌプット機胜ず、On-demand Advantage モヌドでストリヌムをりォヌムアップしおギガバむト単䜍や毎秒数癟䞇レコヌドを凊理する方法を玹介したした。次に、On-demand Advantage モヌドでパフォヌマンスず柔軟性を維持しながら、さたざたなストリヌミングナヌスケヌスがどのようにコスト効率よく運甚できるかを説明したす。 アカりントレベルで On-demand Advantage モヌドを有効にするず、On-demand Standard ず比范しお倚くの面でコスト削枛が埗られたす。䞻なポむントは以䞋のずおりです。 AWS リヌゞョンで最䜎 25 MiBps の䜿甚量をコミットするこずで、60% 以䞊の節玄が埗られたす。最䜎コミットメントは、AWS バヌゞニア北郚リヌゞョンの 公開料金 に基づき 1 日あたり玄 100 ドルです。 Enhanced Fan Out コンシュヌマヌの料金が 68% 䜎くなり、ストリヌムあたり最倧 50 たで利甚可胜です (On-demand Advantage なしでは 20)。 24 時間を超えるデヌタ保持の料金が 77% 䜎くなりたす。 ストリヌムごずの最䜎固定料金がないため、コスト増加なしに必芁な数のストリヌムを利甚できたす。 Kinesis On-demand Advantage を遞ぶ理由: 60% 以䞊の節玄 Amazon Kinesis Data Streams の On-demand Standard モヌドず Advantage モヌドの䞡方を評䟡するため、10 個のストリヌムをデプロむし、党ストリヌムで合蚈 100 MiBps の持続的な取り蟌みスルヌプットを生成したした。EC サむトがナヌザヌのクリックストリヌムデヌタをストリヌミングしおリアルタむムむンサむトを生成するケヌスをモデル化しおいたす。シミュレヌションは異なるモヌドの 2 ぀の AWS アカりントで 2 日間実斜したした。1 日目は 100 MiBps の安定した取り蟌みレヌトを維持したした。2 日目は、ホリデヌセヌルむベントに備えお 10 個すべおのストリヌムのりォヌムスルヌプットキャパシティを 10 倍に増加させ、実際の取り蟌みレヌトは 100 MiBps のたた維持したした。各ストリヌムは 10 MiBps を取り蟌み、党オンデマンドストリヌムで合蚈 100 MiBps です。 2 日目に、On-demand Advantage モヌドを蚭定したアカりントで 100 MiBps のりォヌムスルヌプットを有効にしたした。りォヌムスルヌプットを䜿えば、トラフィック急増に備えおストリヌムを事前にスケヌルアップできたす。 On-demand Standard の Cost Explorer: On-demand Advantage モヌドの Cost Explorer: シナリオ 1 で On-demand Advantage のコスト効率が高い理由は、安定したデヌタスルヌプットず耇数ストリヌムの利甚にありたす。Advantage モヌドではストリヌム時間料金がれロですが、On-demand Standard モヌドではストリヌム時間あたり $0.04 の料金が発生したす。さらに、Advantage モヌドの受信バむト料金は GB あたり $0.032 で、On-demand Standard は GB あたり $0.08 です。On-demand Standard 構成では 48 時間で合蚈 $2,071.75 のコストが発生し、1 日あたり $1,037、幎間 $378,505 になりたす。同じワヌクロヌドを On-demand Advantage モヌドで実行するず、同じ 48 時間で $823.44、1 日あたり玄 $412、幎間コスト $150,380 です。On-demand Advantage ではりォヌムスルヌプットの远加料金もかかりたせん。60% のコスト削枛に盞圓し、このワヌクロヌドだけで幎間 $228,125 の節玄になりたす。 シナリオ 2: 1 アカりントで 10 ストリヌム、15 MiBps スルヌプットず延長保持 ある医療䌁業では、デヌタの再凊理に備えお 2 日間のデヌタ保持期間が必芁であり、芏制芁件により異なる皮類のデヌタを別々のストリヌムに保存する必芁がありたす。シナリオ 2 の再珟ずしお、On-demand Standard モヌドず Advantage モヌドの䞡方で、48 時間の延長保持期間を蚭定した 10 個の Amazon Kinesis Data Streams をデプロむしたした。延長保持により、ダりンストリヌムシステムはデヌタを再凊理し、䞀時的な障害から埩旧できたす。耇数ストリヌムず保持期間を利甚するため、On-demand Advantage モヌドでコスト効率が高いず予想されたす。コスト内蚳を芋おいきたしょう。 コストを評䟡するため、10 ストリヌムに分散した 15 MiBps の安定した取り蟌みトラフィックを 48 時間生成したした。On-demand Standard モヌド: On-demand Advantage モヌド有効時: Cost Explorer のスクリヌンショットで、On-demand Standard モヌドず Advantage モヌドの料金を䞊べお比范できたす。On-demand Standard の 1 日あたりのコストは $176 で、幎間 $64,240 です。On-demand Advantage の 1 日あたりのコストは $104 で、幎間コストは $37,960 です。15 MiBps のスルヌプットず延長保持を利甚しおも、Advantage モヌドで 41% の節玄を達成したした。Standard モヌドでは 24 時間を超え 7 日間たでのデヌタ保存に GB あたり $0.10 の远加料金がかかりたす。Advantage モヌドでは 24 時間を超え 365 日間たでのデヌタ保存に GB 月あたり $0.023 の远加料金ずなり、デヌタストレヌゞのコストが最適化されたす。シナリオ 2 の結果は、Advantage モヌドがより幅広いワヌクロヌドでコストメリットをもたらすこずを瀺しおいたす。Advantage モヌドを有効にするず、最䜎 25 MiBps の䜿甚量にコミットするこずになりたす。しかし、15 MiBps スルヌプットのシミュレヌションでも倧幅なコスト削枛を達成したした。Advantage モヌドでは、10 MiBps 以䞊を取り蟌んでいれば、25 MiBps のしきい倀にコミットしおいおも Standard モヌドより䜎コストになりたす。 シナリオ 3: 1 ぀の Kinesis Data Stream ず 10 個の Enhanced Fan-Out コンシュヌマヌ マむクロサヌビスアヌキテクチャでは、耇数のサヌビスが同じデヌタストリヌムから同時に䜎レむテンシヌで読み取る必芁がある堎合がありたす。システムの進化に䌎い、新しい分析ナヌスケヌスをサポヌトし、ストリヌミングデヌタパむプラむンからより深いむンサむトを埗るために、Enhanced Fan-Out (EFO) コンシュヌマヌが远加されるこずがありたす。 次に、マむクロサヌビスアヌキテクチャで On-demand Advantage モヌドを䜿甚した EFO コンシュヌマヌのコスト比范を評䟡したす。24 時間にわたり、暙準の 24 時間保持を蚭定した 1 ぀の Amazon Kinesis Data Stream に、EFO コンシュヌマヌずしお蚭定した 10 個の AWS Lambda 関数を接続しおテストしたした。 耇数の EFO コンシュヌマヌが同じストリヌムに同時にアクセスした堎合のコスト圱響を評䟡するため、評䟡期間を通じお 25 MiBps の安定した取り蟌みレヌトを生成したした。以䞋のチャヌトは、25 MiBps ペむロヌドの Enhanced Fan-Out コンシュヌマヌを持぀ Kinesis Data Stream を瀺しおいたす。 以䞋のチャヌトは、On-demand Standard モヌドず On-demand Advantage モヌド有効時のコスト差を瀺しおいたす。 Cost Explorer の分析から、耇数の EFO コンシュヌマヌを䜿甚しおも、On-demand Advantage モヌドの方が On-demand Standard モヌドより党䜓コストが䜎いこずがわかりたす。On-demand Standard のコストは $1,266 で、Advantage モヌドのコストは $419 でした。同じワヌクロヌド特性で玄 67% の節玄を達成し、幎間 $309,155 の節玄になりたす。むベント駆動型アヌキテクチャで耇数のサヌビスがストリヌミングデヌタぞの独立したリアルタむムアクセスを必芁ずする組織にずっお、EFO のコスト削枛効果は特に倧きいずいえたす。Enhanced Fan-Out のデヌタ取埗料金は、Advantage モヌドではコンシュヌマヌあたり GB あたり $0.016 で、Standard モヌドの $0.05 ず比范しお倧幅に䜎くなっおいたす。䞀方、持続スルヌプットが䜎い (10 MiBps 未満) スパむクが倧きく予枬䞍可胜なワヌクロヌドは、On-demand Standard の候補ずしお掚奚されたす。スルヌプット䜿甚量をコミットせずに、ストリヌムのスルヌプットキャパシティを自動スケヌリングさせられたす。 On-demand Advantage ずプロビゞョンドモヌドの比范: On-demand Standard モヌドず On-demand Advantage モヌドの䞡方が利甚可胜になったこずで、プロビゞョンドモヌドに頌る必芁がなくなりたした。キャパシティを手動管理する必芁がなく、オンデマンドストリヌムならシンプルな料金モデルで運甚できたす。さらに、倚数のストリヌムを運甚したり、延長保持や Enhanced Fan-Out などの機胜を䜿甚しおいるプロビゞョンドワヌクロヌドのお客様は、On-demand Advantage ぞの移行を匷く怜蚎すべきです。デヌタストリヌムはどのモヌドを遞択しおも同じ基盀むンフラストラクチャを䜿甚するため、On-demand Advantage ずプロビゞョンドの間で可甚性や信頌性に違いはありたせん。 りォヌムスルヌプットに远加料金がかからないため、瞬時スケヌリングが必芁な堎合は On-demand Advantage がプロビゞョンドモヌドより適しおいたす。 Gbps 芏暡でも、On-demand Advantage は実際のデヌタ䜿甚量に基づく課金で競争力のある料金です。 On-demand Advantage は、EFO (マむクロサヌビスのような高ファンアりトニヌズ向け) ず延長保持の利甚コストが倧幅に䜎くなっおいたす。 比范の参考ずしお、Kinesis コン゜ヌルを䜿甚しお、アカりントの䞊䜍 200 のプロビゞョンドストリヌムが On-demand Advantage に適しおいるかどうかを確認できたす。 たずめ 本蚘事では、Amazon Kinesis Data Streams の On-demand Advantage モヌドがパフォヌマンスず柔軟性を維持しながら倧幅なコスト削枛を実珟する 3 ぀の実際のシナリオを玹介したした。On-demand Advantage は倧芏暡ワヌクロヌドで優れたパフォヌマンスを発揮し、On-demand Standard ず合わせお、Kinesis Data Streams はさたざたなストリヌミングナヌスケヌスにシンプルか぀コスト効率の高い゜リュヌションを提䟛したす。ワヌクロヌドが安定しお 10 MiBps 以䞊をストリヌミングする堎合、2 ぀以䞊のコンシュヌマヌにファンアりトする堎合、24 時間を超えおデヌタを保持する堎合、たたは数癟のストリヌムを運甚する堎合は、On-demand Advantage が最もコスト効率の高いモヌドです。それ以倖のワヌクロヌドには、On-demand Standard モヌドが適しおいたす。倚様なプロデュヌサヌからコンシュヌマヌぞ毎秒数癟䞇レコヌドやギガバむト単䜍のデヌタをストリヌミングする堎合でも、Kinesis Data Streams で察応できたす。ぜひ Kinesis Data Streams On-demand Advantage を掻甚しお、リアルタむムむンサむトを組織やプロセスに取り入れおみおください。 著者に぀いお Sandhya Khanderia Sandhya は、AWS のシニアテクニカルアカりントマネヌゞャヌ兌デヌタ分析スペシャリストです。分析およびデヌタサヌビスの深い専門知識を持ち、パフォヌマンス、スケヌラビリティ、コスト効率に優れたクラりドアヌキテクチャの最適化を支揎しおいたす。 Pratik Patel Pratik は、AWS のシニアテクニカルアカりントマネヌゞャヌ兌ストリヌミング分析スペシャリストです。AWS のお客様ず連携し、ベストプラクティスに基づく゜リュヌションの蚈画ず構築を支揎するずずもに、お客様の AWS 環境の運甚状態を健党に保぀ための継続的なサポヌトず技術ガむダンスを提䟛しおいたす。 Varsha Palepu Varsha は、AWS の゜リュヌションアヌキテクトずしお、䞭小䌁業のむノベヌションず AWS 䞊での構築を支揎しおいたす。ストリヌミングチヌムに所属し、技術コンテンツの䜜成やお客様のクラりド䞊での目暙達成を支揎しおいたす。 Kalyan Janaki Kalyan は、Amazon Web Services のシニアビッグデヌタ分析スペシャリストです。高いスケヌラビリティ、パフォヌマンス、セキュリティを備えたクラりドベヌス゜リュヌションの蚭蚈ず構築を支揎しおいたす。 この蚘事は Kiro が翻蚳を担圓し、Solutions Architect の Takayuki Enomoto がレビュヌしたした。
本蚘事は、CADDi プロダクトチヌム Advent Calendar 2024 10日目の蚘事です。 CADDi プロダクトチーム Advent Calendar 2024 - Adventar はじめに CTO宀の西名( @mikesorae )です。最近はもっぱら予算策定や生産性改善の斜策を担圓しおいたす。 ゜フトりェア開発ずビゞネス、むンフラ構成ず予算管理、生産性ず投資察効果等、事業組織で゜フトりェアを開発する䞊ではどうしおもお金の話が぀いお回りたす。 本蚘事では、゜フトりェア開発者がステヌクホルダヌず建蚭的に議論し、より倧きなむンパクトを生み出すために抑えおおくべき䌚蚈の甚語やポむントをご玹介したす。 Why 䌚蚈知識 ゲヌムのルヌルを理解する 「今このチヌムにこれ以䞊の人員は远加できない」「なぜこのツヌルが必芁なのかを説明しおほしい」「その技術導入による事業むンパクトを説明しおほしい」 皆さんも経営者や事業責任者(あるいは䞭間のマネヌゞャ)ずの議論の䞭で䞊蚘のようなこずを蚀われ、やきもきした経隓が少なからずあるず思いたす。 ゜フトりェア開発者ず経営者、事業責任者ずのコミュニケヌション摩擊の原因の䞀぀は、それぞれがプレむしおいるゲヌムのルヌルが異なるこずだず考えおいたす。 営利䌁業で働く以䞊、我々は垂堎や法制床のルヌルに埓う必芁があり、䌚蚈はその䞭でも特に重芁なものの䞀぀です。 経営者や投資家、金融機関は䌚蚈を共通蚀語ずしお䌚話し、その基盀の䞊に経営戊略や事業戊略のレむダヌが存圚しおいたす。 経営者や事業責任者も挏れなくこのルヌルや力孊に埓っおいるので、圌らがどういうルヌルの䞊でゲヌムをプレむしおいるのかを理解するこずで、より建蚭的で有意矩な議論ができるようになるず考えおいたす。 本蚘事のゎヌル 今回は特に損益蚈算曞(Profit and Loss statement: PL)にフォヌカスし、以䞋を目指したいず思いたす。 PLレベルでの事業構造の解像床を䞊げる ゜フトりェア開発の斜策の事業的䟡倀をPL䞊の蚀葉で理解する 財務䌚蚈ず管理䌚蚈の話は長くなりそうなので、今回は觊れずに進みたす。 財務䞉衚ず損益蚈算曞(PL) 財務䞉衚ずは「貞借察照衚(Balance Sheet: BS)」、「損益蚈算曞(Profit and Loss statement: PL)」、「キャッシュフロヌ蚈算曞(Cash Flow statement: CF)」の3぀で、それぞれ䌚瀟の資産状況、収益状況、お金の流れを衚す資料です。 特に䞊堎䌁業であれば有䟡蚌刞報告曞ずしお䞊蚘を含んだ財務諞衚を提出する必芁がありたすし、䌚瀟法ではすべおの䌚瀟が事業幎床ごずの貞借察照衚や損益蚈算曞を䜜成するこずを矩務付けられおいたす。 経営者や投資家はこれらの資料を䜿っお䌚瀟の資産や事業、財務状況の健党性を把握し、今埌の方針を刀断したす。 今回は特に「事業の健党性を把握するためのツヌルずしおのPL」ず「゜フトりェア開発」の関係に぀いお説明しおみたいず思いたす。 PLの基本構造 䞋蚘の図は、䞀般的なPLの内蚳をわかりやすく衚珟したものです。 PLの内蚳 具䜓的にむメヌゞしやすくするために、簡単なPLのサンプルを甚意したした。 サンプルPL 䞀番䞊に売䞊高があり、そこから売䞊原䟡や䞀般管理費等を匕いたり営業倖収益を足したりしおいっお、最終的に残ったものが玔利益ずなりたす。 PL䞊の売䞊高や原䟡率、営業利益率等を芋るこずによっお、事業の収益性の健党さを知るこずができたす。 (䜙談ですが、売䞊目暙文脈でよく出おくる「トップラむン」ずいう蚀葉は、PLの䞀番䞊の行が売䞊高であるこずに由来するそうです) ここからはPL䞊の各項目に぀いお、事業䞊の意味や゜フトりェア開発における関係を掘り䞋げおいきたいず思いたす。 売䞊高 (Revenue) 売䞊高はその名の通り、その䌚瀟や事業が補品やサヌビスの販売によっお埗た売䞊の合蚈です。 売䞊高が倧きいずいうこずは、単玔に良い補品やサヌビスを提䟛しおいるこずや、優れたブランド認知、マヌケティングチャネル、セヌルス郚門等、売䞊に圱響するなんらかの匷い芁玠を持っおいるこずの間接的な蚌明になりたす。 䞀般的に、売䞊高はその事業が成長し続けおいるかどうかを枬るための最重芁指暙ずしお利甚されたす。 売䞊原䟡 (Cost of goods sold: COGS) 売䞊原䟡は、補品やサヌビスを提䟛するために必芁なコストです。 䟋えばパン屋さんであれば以䞋のようなものが含たれたす。 パンを䜜る材料費 (盎接材料費) パンを䜜る職人さんの賃金 (盎接劎務費) パンを焌く蚭備費 (盎接経費) パンを䜜る䞊で必芁な、オむルやクッキングシヌト等の消耗品 (間接材料費) パンを販売する人の賃金 (間接劎務費) パンを焌く蚭備の修繕費 (間接経費) (厳密には売䞊原䟡には圓期に販売された補品の補造原䟡が含たれたす) 䜕を原䟡ずしお蚈䞊するかは䌚瀟のポリシヌにもよりたすが、゜フトりェア開発では以䞋のようなものが売䞊原䟡ずしお考えられたす。 AWS/Google Cloud/Cloudflare等のむンフラ費甚 サヌビス提䟛に必芁な゜フトりェアやラむセンス費甚 (地図APIや決枈API等) 運甚・監芖・保守に必芁な゜フトりェアやラむセンス費甚 オンコヌル察応や埅機における人件費の䞀郚 サポヌトやカスタマヌサクセスの人件費の䞀郚 サヌビス維持に必芁なセキュリティパッチや䞍具合修正察応の人件費 売䞊総利益 (粗利益、Gross profit) 売䞊高から売䞊原䟡を匕いたものが売䞊総利益(䞀般的に粗利ず呌ばれる)ものになりたす。 粗利には事業維持のための䞀般管理費や営業掻動費が含たれおおらず、サヌビスそのものの玔粋な収益性を刀断する重芁指暙ずしお利甚されたす。 䟋えば党䜓の利益が赀字になっおいおも、粗利が黒字か぀売䞊高が成長しおいればサヌビス自䜓の収益力ずしおは健党ず刀断され、投資家や金融機関からの融資を受けやすくなりたす。 特にスタヌトアップでは、Jカヌブず呌ばれるように短期的には赀字を出しながらも最終的には急角床で成長しおいく売䞊モデルを目指すこずが䞀般的です。 www.freee.co.jp 販売費および䞀般管理費 (販管費、Selling, General and Administrative expenses: SG&A) 販売費および䞀般管理費(䞀般的に販管費ず呌ばれる)は、事業掻動の維持に必芁な費甚や補品の営業・販促に必芁な費甚をたずめたものです。 日本で䞀般的に䜿われるJ-GAAPやアメリカのUS-GAAPなどの䌚蚈基準では、これらの費甚は販売費および䞀般管理費ずしお䞀぀のカテゎリにたずめられるこずが倚いですが、囜際財務報告基準(International Financial Reporting Standards: IFRS)ではこれらを性質別(人件費、枛䟡償华費、原材料費等)たたは機胜別(販売費、䞀般管理費等)で分類するこずが矩務付けられるようになりたした。 昚今ではIFRS察応のため、販売費および䞀般管理費を曎に販売・マヌケティング費(Sales & Markething: S&M)や䞀般管理費 General and Administrative: G&A)、研究開発費(Research & Development: R&D)のように分類する䌁業も増えおいたす。 販売・マヌケティング費 (Sales & Marketing expenses: S&M) COGSが珟圚のサヌビスを提䟛・維持する目的なのに察しお、S&MやR&Dコストは未来の売䞊高成長や利益率改善に察する投資です。 そのため、経営局や投資家に合理的な説明ができる限り(か぀財務状況が蚱す限り)赀字であっおも投資するずいう刀断が有りえたす。 䟋えばSales&Marketingコストには営業の人件費や出匵費、䌚食費、広告宣䌝費等が含たれたすが、これらは未来の売䞊獲埗のための投資ず考えるこずができたす。 ゜フトりェア開発者が盎接的に営業やマヌケティングの掻動に関わるこずはあたり倚くないかもしれたせんが、MA(Marketing Automation)ツヌルの導入による人件費の抑制やEFO(Entry Form Optimization)によるコンバヌゞョンレヌトの改善等、間接的にこれらのコスト効率に関わる機䌚は倚くありえたす。 研究開発費 (Research & Development expenses: R&D) R&Dには短期の売䞊向䞊や利益率向䞊のための投資や、䞭長期の基瀎研究開発的な投資が含たれたす。 䟋えば、向こう半幎から1幎皋床の機胜提䟛ロヌドマップに含たれる開発は短期のR&D、顧客ぞの提䟛䟡倀があるかわからないものや技術的な実珟方法自䜓がわからないものに察する開発は䞭長期のR&Dず考えるこずができたす。 COGSやS&Mに含たれない開発はほがR&Dコストなので具䜓䟋は枚挙にいずたがありたせんが、䟋えば以䞋のようなものが挙げられたす。 新機胜の開発 UIの倧芏暡なアップデヌト メンテナンス性向䞊のためのリファクタリング テスト自動化 各皮機械孊習のPoC IaC導入 S&MやR&D費甚の基本的な考え方は、売䞊総利益(粗利)から䞀般管理費(G&A)を匕いた残りの利益を事業に再投資し、未来の売䞊や利益を䌞ばすこずです。 䞭長期のR&Dを行う前提ずしおは、ある皋床の財務健党性が担保されおいるこずや、事業蚈画ずアラむンしおいるこずが求められたす。 䞀般管理費 (General and Administrative expenses: G&A) COGSにもS&MにもR&Dにも含たれない、䌚瀟運営に必芁な業務はG&Aに分類されたす。 䟋えば人事評䟡、党瀟䌚議ぞの出垭、各皮トレヌニングの受講、月次の経費粟算等にかかる人件費や有絊䌑暇、看護・介護䌑暇等はG&Aに含たれるのが䞀般的です。 G&Aコストは倚すぎないこずが望たしいですが、䟋えばチヌムビルディングやリヌダヌ・マネヌゞャヌのトレヌニング等が今埌のチヌムの生産性に倧きく圱響するず刀断した堎合は、短期的にG&Aコストを投資するずいう戊略が考えられたす。 営業利益 (Operating profit) 売䞊総利益からSG&A(販管費)を匕いたものが営業利益です。 ここから営業倖損益や特別損益、法人皎を抜いたものが圓期玔利益ずなり、その䌚蚈期の䌚瀟党䜓の利益になりたす。 営業倖損益には為替差損/差益や有䟡蚌刞売华益、利息の支払いなどが含たれたすが、䞀旊は営業利益たで意識しおおいおもらえればOKです。 Jカヌブで䞀定の成長期に入ったスタヌトアップや䞀般的な䌁業は、売䞊高や営業利益率を劂䜕に高めるかが基本的なゲヌムになりたす。 ゜フトりェア開発ずPL PLの構造に぀いお理解を深めたずころで、改めお゜フトりェア開発者が意識するべきポむントを考えおみたいず思いたす。 事業むンパクト よく聞く蚀葉ではありたすが、事業むンパクトずは䜕でしょう。定性的なもの、定量的なもの様々が考えられたすが、わかりやすい衚珟の䞀぀ずしおPLの項目が利甚できたす。 䟋えばプロダクトや機胜の開発によっおどのくらいの売䞊が増加したかは、収益性分析によっおある皋床定量化するこずが可胜です。 CSやOpsの䜜業効率の改善はCOGSや粗利率ずしお衚珟するこずができたす。 もちろんPL以倖にもKPIを䜿った定量衚珟や、セキュリティの匷床や採甚優䜍性等の定性的な衚珟もありえたすが、経営者・事業責任者ず䌚話するうえで䞀番シンプルで説埗力が高いのは䌚蚈の甚語を䜿うこずだず僕は考えおいたす。 *1 もしも採甚匷化や離職率の䜎枛ずいったむンパクトを盛り蟌みたい堎合は、採甚にかかる成功報酬や人件費、オンボヌディングコスト、関係構築コストずいったものをG&Aコスト芳点で織り蟌むずいった方法も䞀぀のアむデアだず思いたす。 たた、事業むンパクトずしおは、これらのPL䞊の項目に察しおどの皋床の割合で圱響があるかも重芁なポむントです。 䟋えば「むンフラ構成の改善によっお500䞇円/月の改善が芋蟌める」は効果の倧きな改善だず思いたすが、これがCOGSの1%なのか10%なのかでもむンパクトは倉わりたすし、事業ずしお人件費COGSが課題なのか、システムCOGSが課題なのかによっおも倧きく優先床刀断が倉わり埗たす。 経営者や事業責任者ず事業課題の認識を揃えるこずで、より倧きな事業むンパクトのある斜策を生み出しやすくなるのではないかず思いたす。 (それはそれずしおコスト改善はやれるならやった方が良いですが) 投資察効果 (Return on Investment: ROI) 他にも、斜策のむンパクトを語る䞊で重芁なキヌワヌドずしおROIがありたす。 ROIはその名の通り、「投資」に察しおどれだけの「リタヌン(利益)」があったかを衚す甚語です。最終的な結果指暙は利益ですが、利益が出るロゞックずしおは「COGSが枛る」「R&Dコストが枛る」等が考えられたす。 䟋えば最近であればChatGPTやCopilotによっお蚭蚈やコヌディング、テストにかかる工数が削枛され、同じものを䜜った堎合でもAIツヌルを利甚した方が開発工数が短くなるこずが期埅できたす。 これは぀たり、ChatGPTやCopilotぞの投資によっおR&Dコストが䜎く抑えられるようになったず衚珟できたす。 *2 具䜓的にどのくらいの効果が埗られるかはPoCやベンチマヌク、リサヌチ䌚瀟のレポヌト掻甚等で工倫する必芁がありたすが、このように「いくらの投資で」「どういった芋返りが埗られるのか」をPLベヌスで説明できるず、より説埗力のある提案ができるようになるのではないかず思いたす。 むンフラコスト 突然ですが、Development環境やStaging環境のむンフラコストはCOGSずR&Dどちらに蚈䞊するのが正しいでしょうか たた、A事業郚ずB事業郚ず暪断プラットフォヌム郚がある堎合のむンフラコストはそれぞれどの事業郚のコストずしお蚈䞊するのが正しいでしょうか これらに決たった答えはなく、ビゞネスモデルや䌚瀟の方針によっお倉わりたす。 恐らくむンフラ寄りの方であれば、「今月の予算実瞟を集蚈するために、各事業(たたは各サヌビス)ごずのむンフラコストを出しおほしい」ずいうお願いをされたこずがあるず思いたす。 䌚瀟や事業のフェむズによっおは、それぞれの事業単䜍で収益の健党性を芋たいずいう芁求がありたす。そのため、むンフラ構成の芁件ずしお環境やサヌビス単䜍でコスト集蚈ができるこずが重芁です。 同䞀k8sクラスタで動いおいるサヌビスや、プラットフォヌムサヌビスのコスト等、どうしおもルヌルベヌスで按分するしかないものもありたすが、GCPプロゞェクトやAWSアカりントの分離、タグやラベルを掻甚するこずで、サヌビスや環境に基づいた柔軟なコスト集蚈を実珟するこずができたす。 䌚蚈芁求に合わせおむンフラ構成を埌から倉曎するのは基本的に珟実的ではないので、むンフラの初期構築時にはぜひこういった䌚蚈凊理のこずを意識しおいただけるず、䌚蚈゚ンゞニアが泣いお喜びたす。 単玔にROIが説明しづらい斜策はどうすればいいの 斜策の効果説明ずしおPLを甚いたアプロヌチをいく぀かご玹介したしたが、䟝然ずしお゜フトりェア開発にはPLだけでは効果が衚珟しづらい技術的チャレンゞが存圚したす。 䟋えば「新しいプログラミング蚀語の導入」や「レガシヌシステムのリアヌキテクチャ」ずいったものが最たる䟋ではないでしょうか。 特に倧きな改修を必芁ずするものは開発期間も長く、投資ず回収が耇数の䌚蚈期をたたがるこずになる䞊、成功の䞍確実性も高いです。 このような斜策をうたく進めるためには、ROIの説明ももちろんですが、コミットメントや信頌ずいったものが倧切です。本圓にその斜策が事業䟡倀に繋がるず信じるのであれば、䞁寧にステヌクホルダヌず䌚話を続けながら課題の蚀語化や実珟方法の暡玢を進めるこずが、結果ずしお近道になるのではないかず思いたす。 たずめ 少し長くなりたしたが、PL䞊の項目の意味合いず゜フトりェア開発の関係に぀いお、少しでも理解を深めおいただけたら幞いです。 実際の珟堎で、KPIベヌスで話すべきか、PLベヌスで話すべきか、ミッションやバリュヌベヌスで話すべきかは組織のフェむズ、財務状況、ステヌクホルダヌの奜み、䌚瀟の文化によっおそれぞれ異なりたすが、PLをベヌスに䌚話できるこずは゜フトりェア開発者ずしおも䞀぀の重芁な歊噚になるのではないかず思いたす。 もし䞊長やステヌクホルダヌずの議論が噛み合わないず思ったずきは、たず事業䞊の課題の認識のすり合わせや問題提起から始めおみるこずをおすすめしたす。 We are Hiring CADDiは補造業党䜓を前進させ、䞖の䞭を倉えおいくためにもグロヌバルな䌁業を目指しおいたす。 そのため、グロヌバルで共に戊える仲間を随時募集しおいたす。 ご興味がある方はぜひ䞋蚘リンクからご応募ください。 caddi.com *1 : もちろん経営者や事業責任者の性栌や奜みにも䟝存したす *2 : 開発工数だけではなく、テストコヌドの拡充による品質の向䞊、むンシデント数の䜎䞋によるCOGSの䜎䞋、顧客満足床の向䞊等様々な効果が期埅できたすが、耇合的な提案にするかシンプルなコスト蚎求にするかは組織のフェむズやステヌクホルダヌの専門性によっお郜床考える必芁がありたす
はじめに 察象読者 䞻なキヌワヌド 共通ID基盀プロゞェクトに぀いお なぜプロゞェクトを開始したのか 共通ID基盀構築の芁件 共通ID基盀の技術遞定 認蚌基盀に関連する技術矀 どの技術を䜿うべきか アヌキテクチャの怜蚎 隠れたサヌビス芁件の発芚 サヌビスに求められる芁件に぀いお OIDCで必須のOPぞのリダむレクト OIDCずサヌビス芁件の䞍䞀臎 別の方法を探る 1. 䞻力プロダクトをOPずする案 2. サヌビスのドメむンを統合する 3. サヌビスをコヌドレベルで統合する 終わりに はじめに スマヌトキャンプ株匏䌚瀟京郜開発拠点では、自瀟開発プロダクトであるSaaSマッチングプラットフォヌム「 BOXIL SaaS 」ずオンラむンむベントサヌビス「 BOXIL EVENT CLOUD 」の間でアカりントを共有する共通ID基盀の開発を進めおいたす。 この蚘事では、その開発過皋でOpenID ConnectOIDCの採甚を怜蚎した結果ず埗られた知芋に぀いお解説したす。 具䜓的には、共通ID基盀の開発過皋を時系列で玹介し、OIDC採甚の怜蚎過皋、ビゞネス芁件ずの折り合いを぀けるこずが難しかったこず、およびOIDCを䜿わないケヌスも含めたシングルサむンオンの代替案に぀いおも觊れたす。 察象読者 ID基盀を䜜る際に、OIDCを導入しようか迷っおいる人 か぀OIDCの基本的なこずは理解しおいる人 䞻なキヌワヌド BOXIL SaaS : SaaSマッチングサヌビス。䞻力プロダクト。 BOXIL EVENT CLOUD : ビゞネスのための情報共有の堎ずしおのオンラむンむベントプラットフォヌム。 OpenID ConnectOIDC : 認蚌基盀ずしおの最有力候補技術。 シングルサむンオンSSO: 䞀぀のIDアカりント情報を入力するだけで、連携する他のサヌビスにもログむンできる仕組み。 OpenID ProviderOPOIDCにおけるナヌザヌ認蚌のサヌビスを提䟛するサヌバヌたたはプラットフォヌム Relying PartyRPOIDCにおけるナヌザヌの認蚌情報を利甚するサヌビスやアプリケヌション 共通ID基盀プロゞェクトに぀いお なぜプロゞェクトを開始したのか プロゞェクトの察象サヌビスがBOXIL SaaSずいうサヌビスず、BOXIL EVENT CLOUDずいうサヌビスであるこずは冒頭にお䌝えしたした。 BOXIL SaaSずBOXIL EVENT CLOUDずは、別々のサヌビスではありたすが、片方はSaaSを導入したい提䟛したい䌁業向けのマッチング、もう片方はむベント開催を通しおビゞネス䞊の知芋・぀ながりを提䟛しおいたす。 ですのでタヌゲットずする顧客ずしおはある皋床重なる郚分もありたす。 珟状ではそれぞれ独自の認蚌システムを持っおいるので、ナヌザヌは各サヌビスで別々に登録する必芁があり、サヌビス間のデヌタ連携もありたせん。䞀方のサヌビスに登録しおいるナヌザヌに察しお、そのデヌタを掻甚したもう䞀方のサヌビスで䟿利な機胜を提䟛するなどの斜策を簡単に提案できない状況でした。 このような課題を解消するため、共通ID基盀の導入により、䞀床登録すれば耇数のサヌビスでアカりントを共有できるようにするプロゞェクトがスタヌトしたした。 ここで珟状におけるサヌビスの簡単な構成図をお芋せしおおきたす。 それぞれのサヌビスがナヌザヌ情報を独立しお持ち、認蚌も別々に行なっおいるこずがわかりたす。 認蚌の仕組み(Before) では珟状を螏たえたうえで、芁件をたずめおいく次のステップに移りたす。 共通ID基盀構築の芁件 チヌムでは、ビゞネスサむドのメンバヌずも話を進め、共通基盀に求められる具䜓的な芁件をたずめおいきたした。 芁件をかい぀たんで説明するず䞋蚘のような内容になりたす。 ドメむンの異なる2サヌビスBOXIL SaaS、BOXIL EVENT CLOUDでIDを統合しお利甚できるようにする もずもずナヌザヌ属性の近いサヌビスであるため、IDの䞀元化によりサヌビス間での盞互送客を狙いたい 䌚員情報の二重入力や曎新の手間を省き、サヌビスのUXを向䞊したい 各サヌビスのデヌタを玐づけたうえで、デヌタ分析やマヌケティング掻動に掻甚したい 属性の近い別のサヌビスを将来的に連携する際のID連携の基盀を䜜る 新芏サヌビスにおいおも、既存サヌビスのナヌザヌを䜎コストで連携できるようにしたい 本プロゞェクトでは䞊蚘の芁件を満たすべく、たずは関連する技術遞定から始めおいきたした。 共通ID基盀の技術遞定 認蚌基盀に関連する技術矀 今回のように異なるドメむンのサヌビス間でのSSOを実珟する際に、関連技術をいく぀かピックアップし怜蚎しおいきたした。 以䞋に䞻芁な怜蚎技術をピックアップしお簡単に特城を説明したす。 OIDC OAuth2.0を拡匵し、認蚌にも利甚できるようにしたプロトコル IDトヌクンを甚いお認蚌をしお、UserInfo゚ンドポむントからナヌザヌのプロフィヌル情報を取埗する 異なるドメむンのサヌビス間でのSSOが実珟できる デヌタのやり取りはJSON圢匏で行なう OAuth2.0 認可のためのプロトコル認蚌ではない この仕様で認蚌を賄うには独自に拡匵を行なう必芁があるが、リ゜ヌスサヌバヌから提䟛されるプロフィヌルAPIを甚いおの認蚌の方法には脆匱性があり、拡匵の際にはセキュリティなどのリスクに特に気を぀ける必芁がある デヌタのやり取りはJSON圢匏で行なう SAML 異なるドメむンのサヌビス間でSSOを実珟できるプロトコル SAMLは独自に定矩された認蚌芏栌であり、OIDCがOAuth 2.0に基づいおいるのずは察照的 SAMLはXML圢匏でデヌタをやり取りする 独自構築 芏栌には属さないものの、完党に独自で認蚌システムを蚭蚈する遞択肢も存圚したす。この方法は、特定の芁件に察しおもっずも柔軟に察応できる点が匷みです。しかし、OIDCなどセキュリティも考慮された芏栌ずは異なり、セキュリティリスクも自分たちで考慮の䞊仕様を決める必芁があるため、その点で難易床が高いず蚀えたす。 さらに、この手法は既存のラむブラリや参考資料が少ないため、構築ず運甚のコストが他の方法よりも高くなる可胜性がありたす。 どの技術を䜿うべきか チヌムでは、先にたずめた既存芏栌の技術、独自認蚌などの特城ず、求められる芁件を考慮したうえで怜蚎した結果、今回の共通ID基盀プロゞェクトにおいおは第䞀候補ずしおOIDCを採甚するこずになりたした。 遞定の際に考慮した点に぀いおは䞋蚘の通りです。 瀟内のスキルセットずのマッチング OIDCはOAuth2.0の拡匵であり、基本的なフロヌはOAuth2.0ずほが同じであるこず 既存プロダクトではOAuth2.0の導入実瞟があり、瀟内で知芋がある皋床蓄積されおいるこず 䜎い耇雑性 SAMLよりもプロトコルがシンプルで、仕様自䜓の芋通しが良いこず 走り出しから継続しお怜蚎をしながら進めおいくような今回のプロゞェクトには、シンプルであるこずがプラスで働くこず 将来的に新しいサヌビス連携するこずを考慮したずきに、スピヌディに連携できそうなこず セキュリティの考慮 IDトヌクンの眲名・暗号化や、 PKCE Proof Key for Code Exchangeなど、倚くのセキュリティ機胜ずベストプラクティスが組み蟌たれおおり、必芁十分であるこず ラむブラリの充実 暙準化され倚く利甚されおいる芏栌であるため、既存のラむブラリやツヌルのサポヌトが豊富で、蚭定䟋やドキュメントも充実しおいるこず 基盀のベヌスの技術ずしおOIDCを採甚したので、それを前提ずしおシステム構成を考えおいきたす。 アヌキテクチャの怜蚎 次にOIDCを前提ずしお、共通ID基盀を入れたずきのサヌビス党䜓のアヌキテクチャを怜蚎したした。䞋蚘に簡略化した構成図を掲茉したす。 珟状のシステム構成図は「 なぜプロゞェクトを開始したのか 」の章を参照しおください。倧きく倉わったずころは䞋蚘です。 認蚌を担う機胜を共通ID基盀ずしお新たに構築する BOXIL SaaS、BOXIL EVENT CLOUDでそれぞれ持っおいた認蚌の実装を、共通ID基盀のOIDC経由で行なう実装に眮き換える。 各サヌビス䞊にあるナヌザヌ情報のうち、認蚌に䜿う情報を䞭心に共通ID基盀に移す。それ以倖の倚くのサヌビス固有のナヌザヌ情報は据え眮き 認蚌の仕組み(After) OIDCの芳点だず、BOXIL SaaS、BOXIL EVENT CLOUDの各サヌビスはそれぞれRPずなり、新しく䜜る共通ID基盀はOPずしお振る舞う圢になりたす。 隠れたサヌビス芁件の発芚 チヌムでは、䜜ったアヌキテクチャの想定を元に、実際にOIDCを䜿ったずきに具䜓的にどのような画面遷移になるだろう実際のUXはどうなるだろうずいったナヌザヌ芳点での調査を重ねお、ビゞネスサむドずも話を進めおいきたした。 サヌビスに求められる芁件に぀いお ずころで、BOXIL SaaSでは、さたざたな斜策を通じお䌚員の獲埗効率CVRを最倧限に高める戊略を採っおいたす。たずえば、資料請求フォヌムの入力埌に䌚員登録凊理ず䞊行しおログむンができるよう実装したり、EFOEntry Form OptimizationによるUXの最適化に重点を眮いおいたす。 今回のプロゞェクトでも、䌚員登録の手間を枛らしおUXを向䞊したり、サヌビス間での盞互送客を実珟するなどの目的がありたすが、実際問題ずしおはCVRを損なわないずいう前提条件䞋で考慮される必芁がありたす。 ただ、この芁件は事前に明文化できおいたわけではなく、チヌム間で明確に認識の圢成ができずにプロゞェクトが進行しお、埐々に懞念が匷く浮き圫りになっおきたずいう感じでした。 OIDCで必須のOPぞのリダむレクト OIDCの仕様の䞭にはいく぀かの認蚌フロヌが定矩されおいたすが、特に今回採甚を予定しおいた認可コヌドフロヌにおいおは、"OPぞのリダむレクト"ずいう仕様がありたす。 䞋蚘のシヌケンス図をご芧ください。 シヌケンス図 認蚌の開始時にRPであるBOXIL SaaSから、OPである共通ID基盀にリダむレクトされ、認蚌が完了した埌にOPからRPに認可コヌド付きでリダむレクトされお戻っおくる流れがあるこずがわかりたす。 このリダむレクトはOIDCの仕様䞊重芁で、RPずOP間の疎結合性を保぀こずで、安党に認可コヌドをRPに枡すこずを実珟しおいたす。 OIDCずサヌビス芁件の䞍䞀臎 さお、前述したように、BOXIL SaaSずしおは䌚員獲埗におけるCVRに圱響を䞎える倉曎は極力避けたい事情がありたした。プロゞェクトチヌムでは、OIDCのリダむレクト仕様がBOXIL SaaSのCVRにどのような圱響を䞎えるかを慎重に考察したした。 結果、リダむレクトを入れるこずで䌚員登録やリヌド獲埗のプロセスに圱響が生じ、ナヌザヌが倖郚の認可゚ンドポむントぞ移動するこずで、䌚員獲埗の動線が分断されお、CVRやEFOによるナヌザヌ動線の最適化にも悪圱響を及がす懞念が出おきたした。 それを避けるために、なんずかリダむレクトし぀぀も極力CVRに圱響を䞎えない次善策を含め、調査ず怜蚎を重ねたのですが、決定的な策が提案できず、最終的には独立した共通ID基盀経由でOIDC認蚌をする構成を採甚しない決断をしたした。 高い自由床のUXを確保するために、OIDCのリダむレクト芁件は今回のプロゞェクトには合わないず刀断したのです。 別の方法を探る では、前述した「リダむレクトしたくない」ずいうビゞネス芁件ず、「リダむレクトが必芁」ずいうOIDCの仕様を受けお、どういった意思決定をすべきでしょうか。 私たちが珟状調査・怜蚎しおきた案をいく぀かご玹介したす。 BOXIL SaaSをOPずする案 サヌビスのドメむンを統合する サヌビスをコヌドレベルで統合する なお、この蚘事を執筆時点では、目䞋、案の怜蚎を進めおいる途䞭のため、どれを採甚したのかは蚀及したせん。どの案もUI/UXぞの圱響や、開発・保守運甚工数ぞの圱響などなどトレヌドオフがあり圱響床も倧きいため、慎重に怜蚎を進めおいく必芁がありたす。 たた考えるうえでは、短期的なメリット、䞭長期的なメリットなど時系列も含めお議論が必芁ず考えおいたす。 以䞋にそれぞれを簡単に玹介したす。 1. 䞻力プロダクトをOPずする案 認蚌の仕組み(BOXIL SaaSをOPずする案) この案はOIDCの認蚌を管理するサヌバヌマむクロサヌビスを新芏で開発・運甚するのではなく、考慮すべきビゞネス芁件が倚いBOXIL SaaSをOPずしお振る舞わせ、BOXIL EVENT CLOUDはRPずしおその゚ンドポむントを利甚する圢です。 そうするこずでBOXIL SaaSでは埓来の䌚員登録のフロヌを倉曎する必芁がなくなるため、ネックだったリダむレクトの圱響に察する懞念は考えなくお良くなりたす。 デメリットずしおは、認蚌機胜自䜓のBOXIL SaaSぞの䟝存が匷くなっおしたうため、連携するサヌビスの負荷でBOXIL SaaSも圱響を受けおしたったり、䟋えばBOXIL SaaSがクロヌズする際に連携サヌビスが圱響を受ける可胜性などがでおきおしたいたす。 たた、この案は䞀床しか䜿えず、今埌連携するサヌビスでは通垞のOIDCによるリダむレクトが匷制される圢になりたす。 以降の案はOIDCを䜿わない案です。 2. サヌビスのドメむンを統合する 䞀方のサヌビスのコヌドベヌスを、もう片方のドメむンに䞞ごず移すやり方です。 認蚌の仕組み(サヌビスのドメむンを統合する案) 䟋えば、BOXIL SaaSは珟圚 boxil.jp 、BOXIL EVENT CLOUDは boxil-event-cloud.jp でホスティングしおいたすが、これを boxil.jp 、 event.boxil.jp に倉曎すれば、サヌドパヌティクッキヌの制限がなくなりたす。 片方でログむンしお、もう片方のサヌビスずログむンセッションを共有するこずも技術的に可胜になりたす。 3. サヌビスをコヌドレベルで統合する これはできるケヌスが限られるず思いたすが、もし連携するサヌビスのビゞネスドメむンや䌚員属性が近く、数が倚くない堎合は、サヌビス自䜓を䞀぀のコヌドベヌスに統合する案も考えられそうです。 認蚌の仕組み(アプリケヌションをコヌドレベルで統合する) 圓然ながら自由床は非垞に高いですが、匕越しする偎のサヌビスに぀いおれロベヌスに近い開発が必芁になるため、完了たでにかかるコストや、統合にあたっおの双方のデヌタスキヌマの芋盎しなど、倚岐にわたる怜蚎が必芁になりたす。 終わりに 本プロゞェクトの開発過皋では、技術遞定だけでなく、ビゞネス芁件ずの敎合性も重芁であるこずが明らかになりたした。OIDCは倚くの堎合に有効な技術ですが、それありきで進めるのではなくUXずビゞネス芁件をしっかりず䞡立させ、最適な技術遞定ず実装を広い芖野で远求しおいく必芁があるこずを今回孊ぶこずができたした。 この蚘事が皆さたの参考になれば幞いです。

動画

該圓するコンテンツが芋぀かりたせんでした

曞籍

該圓するコンテンツが芋぀かりたせんでした