プラットフォームエンジニアリングの現状と今後:Gartner Insights Pickup(351)
モダンなソフトウェアアーキテクチャの多くは、他のチームやクラウドプロバイダーによって構築された複雑な分散システムのため、開発と運用が交わる領域で問題を引き起こす。この問題に対する新しい解決策が、プラットフォームエンジニアリングだ。本稿では、プラットフォームの4つの特性と現状、今後の展望について紹介する。
新しい問題ではないが、モダンなソフトウェアアーキテクチャは、多くの独立したサービスで構成される複雑な分散システムとなっており、構成コンポーネントが他のチームやクラウドプロバイダーによって構築されていることも多い。Kubernetesはこうしたサービス群を管理するが、さらなる複雑化を招いてしまい、その克服が必要だ。
これは、開発と運用が交わる領域で厄介な問題を引き起こす。開発者は、専門外の複雑で難解なサービスやツールを幾つも運用しなければならないと、フラストレーションを感じる。運用担当者は、専門外の開発者が基準に満たないインフラを構築すると、フラストレーションを感じる。開発者は「運用担当者のせいで仕事が遅れる」と不満を述べ、運用担当者は「開発者がプッシュするコードがレジリエンス(強靭〈きょうじん〉性、回復力)に欠ける、コンプライアンスに違反している、安全でない」と不満を述べる。
この問題に対する新しい解決策がある。それはプラットフォームエンジニアリングだ。オペレーティングプラットフォームは、エンドユーザーと、エンドユーザーが依存する支援サービスの間に位置する。専門チームによって構築された社内向けのソフトウェアプロダクトであり、厳選された再利用可能なコンポーネント、ツール、サービス、知識を提供する。これらは、簡単に利用できるようにパッケージ化されている。下図のように、このプラットフォームは、開発者と面倒で複雑な運用間の抽象化レイヤーとなる。
個々のプラットフォームによってコンポーネントや機能は大きく異なる。結局のところ、プラットフォームは開発チームのニーズに応じてどんなものにでもなる。プラットフォームチームの仕事は、そのプロダクトを作ることにある。だが、各プラットフォームはそれぞれ固有であるかもしれないが、全てのプラットフォームが以下の特性を持っている。
Copyright © ITmedia, Inc. All Rights Reserved.