
私たちは開発者を「新たなキングメーカー」と称えることに慣れすぎていて、開発者には無制限の自由が与えられるべきだという誤った考えに陥りがちです。しかし、PulumiのCEOであるジョー・ダフィー氏とRedMonkの共同創業者であるジェームズ・ガバナー氏が最近議論したように、最も成功する企業は、開発者がセキュリティなどの問題に巻き込まれることなく創造性を発揮できるよう、ガードレールを整備するでしょう。
開発者中心のインフラストラクチャ
Pulumiは、ますます普及しているInfrastructure as Codeアプローチを用いてクラウドインフラストラクチャの構築、展開、管理を簡素化し、開発者を支援することに尽力しています。実際、同社のキャッチフレーズは「開発者第一のInfrastructure as Code」であり、開発者が好みのクラウドやプログラミング言語などを使用できることを強調しています。
参照:モバイルデバイスのセキュリティポリシー(TechRepublic Premium)
開発者が新たな主導権を握るのであれば、Pulumi は全力で取り組みます。同社は開発者ファーストのインフラストラクチャの特徴を次のように要約しています。
- 統合エンジニアリング:アプリケーションとインフラストラクチャ向けのソフトウェア エンジニアリング ツールとプラクティス。
- API: API を使用してすべてをプログラム可能かつ構成可能にします。
- すべてをコードとして:インフラストラクチャをコードとして、ポリシーをコードとしてなどの「コードとして」の手法を使用します。
- 多言語:手元の仕事に最適な言語エコシステムを採用します。
- モジュール性:コピー アンド ペーストではなく、実際の共有と再利用によって複雑さに対処します。
- 継続的デリバリー:自動化された技術を使用して、アプリケーションとインフラストラクチャを配信および拡張します。
- 継続的な検証:ガードレールを常に検証し、適用します。
- 環境の同一性:開発環境、テスト環境、本番環境間で可能な限り共有します。
- 安全に構成:環境を疎結合し、安全に構成します。
- 分散アーキテクチャ:「リフト アンド シフト」を超えて、真にクラウド ネイティブなアプリケーションとインフラストラクチャを構築します。
- 観測可能:アプリケーションとインフラストラクチャを計測して、高カーディナリティのイベントを早期かつ頻繁にログに記録します。
しかし、「開発者ファースト」は「開発者オンリー」とは異なります。ダフィー氏がRedMonkのインタビューで強調したように、「『開発者ファースト』とは、インフラチームやDevOpsチームが存在しないという意味ではありません。もちろん存在します。例えば、費用対効果が高く安全なKubernetesクラスターを運用するには、これらのチームには深い専門知識が必要です。」DevOpsとは、開発者がすべての運用機能を担うことを意味すると考えがちですが、ダフィー氏は「ほとんどの開発者は、Kubernetesクラスターのセキュリティといったことに深く関わろうとはしません」と指摘しています。それは彼らの主な関心事でもスキルセットでもありません。
したがって、インフラチームをはじめとする関係者の目標は、「開発者に権限を与えること」です。なぜなら、それこそが(ビジネスに必要な)イノベーションのレベルを実現する鍵となるからです。しかし、そうすることで「王国の鍵を手放すわけにはいかない」し、「セキュリティが確保され、ガードレールが整備されていることを確認する必要がある」のです。こうしたガードレールには、コンプライアンス、セキュリティ、コストに関するポリシーなどが含まれる場合があります。これらのポリシーは、開発者が誤ってリソースを起動し、会社のクラウド料金を一夜にして膨らませてしまうことを防ぐものです。これらのガードレールは、「たとえ何かが本番環境に導入されたとしても、私たちは常に安全であることを検証しています」。
これは開発者の自由を縛り付けるもののように聞こえるかもしれないが、実際には正反対だと知事は答えた。「ガードレールは開発者の自由度を高めるものであるべきです。なぜなら、ガードレールは開発者の心配を取り除いてくれるからです。安全は自由と直結しているのです。」
つまり、これは最小権限の原則を採用し、Kubernetes、Amazon S3、その他の一般的なツールのデフォルト設定を超えるには明示的なオプトインが必要となることを意味するかもしれません。「ルートアクセスは諸悪の根源だ」と知事は皮肉を込めて言いました。
あなたを助けるために私を助けてください
インタビューでは触れられていませんが、これはセルフサービス開発プラットフォームの普及も意味しています。例えばNetflixは、開発者にとって「舗装された道」となる集中管理型のツールを構築しています。「チームは代替ソリューションを実装する自由がありますが、同時にそれらのソリューションを維持する責任も負うことになります。」ダフィー氏が構想したガードレールが付いている舗装された道に留まる方が、ほとんどの場合、容易です。
Weaveworks CEOのアレクシス・リチャードソン氏とのインタビューで、リチャードソン氏は、こうした制約のある環境が企業と開発者の両方にどのようなメリットをもたらすかについて語りました。企業が「高速でありながら安全」を求めるのは当然のことだとリチャードソン氏は述べ、それは「コンプライアンスとセキュリティが確保されていること、コンテナがスキャンされていること、GitOpsパイプラインでサプライチェーンが検証されていることなど」を保証することを意味します。そうすることで、「アプリ開発者は生産性を飛躍的に向上させ、アイデアから最高の成果に至るまでの時間を最小限に抑えることができる」のです。言い換えれば、開発者に「アイデアからアプリを生み出すための労力を最小限に抑えられる、標準化された事前承認済みの環境」を提供することで、「開発者は設計ではなくイノベーションに集中できる」のです。
開発者が勝ちます。企業が勝ちます。顧客が勝ちます。
つまり、開発者は依然として新たなキングメーカーであり、企業はインフラなどにおいて開発者ファーストのアプローチを取るべきです。しかし、これはセキュリティ、運用、その他のチームの重要性を軽視するものではありません。むしろ、これらは共生関係であり、インテリジェントなガードレールを通して、それぞれの生産性を向上させるべきなのです。
開示: 私は MongoDB で働いていますが、ここで述べられている意見は私自身のものです。