※この記事は、Terra Classicの著名な開発者であるTobias Andersen氏(@ZaradarBH)が2023年1月1日に公開した『Terra-Classic-Platform-As-A-Product (Part 1-of-?)』の内容を日本語訳した記事となります。
この記事の要点
- L1・L2開発者の責任・役割を分割することで共通の問題に取り組むことができる
- 「L1開発への投資・出来る限りの簡素化・新しい構築者の惹き付け」が重要
- 誰でも簡単にオンチェーンに接続して、あらゆるタイプのDAppを構築できるようしていく
Terra Classicが安定するために必要な考え方
2023年の日の出を眺めながら、Terra Classic L1タスクフォースや、コミュニティ全般の将来、そして「クラウドを分割する」という私の個人的な夢について考えてみました。
この機会に「近い将来に進むべき道として、なぜその方向に進むのが正しいと思うのか」や「Terra Classicが"思春期"を脱してより成熟し安定したものになるためにどう努力すればいいのか」について、私の考えを皆さんと共有したいと思います。
私は過去何年もの間「プラットフォーム・エンジニアリング」と呼ばれる仕事に携わってきました。これは、組織のITプラットフォームを構成する複雑なサブシステムに「ファサード(*1)」と呼ばれるインターフェースを実装するプロセスであり、通常は「プラットフォームチーム(L1 開発者)」が管理します。
そして、デジタル時代における効率的な運用のために組織が依存している多くのITアプリケーションは、通常「機能チーム(L2 開発者)」によって個別に管理されています。
これは「Platform-As-A-Product」とも呼ばれる概念です。
このように責任を分割することで組織は「ソフトウェア集団」から「ソフトウェア工場」へと進化することができるようになり、中央集権的であるかどうかにかかわらず、一人一人の存在を大事にして個人としての立場を強調しようとする「実存主義」の問題に取り組むことができるようになります。
これは数年前にご一緒させて頂いたSpotifyのBackstageエコシステムを担当する優秀な方々によってまとめられたもので、私の考えの中では最高のフレームワークになっています。
ソフトウェア・エコシステム断片化の解決方法
過去の経験に基づいて考えると『ソフトウェア・エコシステムの断片化』という問題の答えは「ゴールデンパスの確立(プロセス)」と「内部開発者プラットフォームの構築(ファサード)」という2つの重要な要件に集約されます。
これらの要件を、高いスキルを持つ「ジェネラリスト」によって管理された戦略と組み合わせると、アプリケーション(L2)が構築されているコアITプラットフォーム(L1)の責任を扱う際に「機能チーム」が強いられる認知負荷を大幅に削減することができます。
これらの責任は、組織内でビジネス価値を提供するために「機能チーム」が習得する必要のある以下の5つの主要な「プラットフォーム依存関係」に分けることができます。
- アプリケーションの構成管理(キー、構成ファイル、シークレットなど)
- インフラストラクチャーのオーケストレーション(クラスタ、DNS、データ保管庫、ストレージ、その他)
- 環境管理(テストネット / メインネット)
- デプロイメント管理(Terrad、Terra Station、Terraオペレータ、その他)
- ロールベースアクセス制御(認証"authn" / 認可"authz")
しかし、「マルチテナント・クラウド・ネイティブ・リソース」を使いこなすのは簡単なことではなく、ブロックチェーンはさらにその上を行きます。多くの場合、ITプラットフォームそのものだけでなく、多くの不慣れな技術についても365度全てを理解する必要があります。
また、開発者は自分の「主要なコーディングコンテキスト」と組織の「プラットフォームアーキテクチャ」の間を行き来しなければならず、生産性の面でも、開発者の精神衛生上でも大きな犠牲を強いられることになるのです。
この問題は、放置しておくとすぐにIT組織の主要な「生産性阻害要因」となり、ストレスの少ない職場環境を求めて他を転々とする「開発者流出の問題」につながることも少なくありません。
私たちが置かれている状況、すなわちTerra Classicネットワークにこのすべてを当てはめると、私たちが「ネットワーク効果」を拡大するためには以下の3つが非常に重要になってきます。
- プラットフォームへの投資を開始(L1タスクフォースの結成によってこの投資は進んでいます)
- L1プラットフォーム向けにL2アプリを構築する複雑さを最小限に抑える
- 新しい構築者を引きつける「健全なプラットフォームの抽象化」の確立に向けて努力する
そのため私は今後数ヶ月間、L1チームの才能ある人々と共に「プラットフォーム体験」を合理化するだけでなく、L2での作業の複雑さをある程度「抽象化」して、誰でも簡単にオンチェーンに接続して、彼らが夢見るあらゆるタイプの「DApp(分散型アプリケーション)」を構築できるようにすることを意図しているのです。
続く…
『Terra-Classic-Platform-As-A-Product (Part 1-of-?)』の原文はこちら