「Platform Engineeringへの招待」、開発者の生産性を高めるプラットフォームを作り、運営していくための考え方とは(前編)。Platform Engineering Meetup #1

今回は「「Platform Engineeringへの招待」、開発者の生産性を高めるプラットフォームを作り、運営していくための考え方とは(前編)。Platform Engineering Meetup #1」についてご紹介します。

関連ワード (注目、突然話題、結果等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


急速に注目を浴びつつある新しいムーブメント「Platform Engineering」についてのコミュニティイベント「Platform Engineering Meetup #1」が3月9日に都内でオンラインとオフラインのハイブリッドで開催されました。

Platform Engineeringとは、クラウドネイティブ時代においてソフトウェアエンジニアリング組織にセルフサービス機能を提供するためのツールチェーンやワークフローを設計し構築する技術分野とされています。

その最初のセッションとして行われた、イベントの主催者である草間一人氏の「Platform Engineeringへの招待 – Platform Engineeringって何? 何故今注目なの?」の内容を紹介しましょう。

記事は前編と後編に分かれています。いまお読みの記事は前編です。

Platform Engineeringへの招待

草間と申します。インターネット上では@jacopenという名前でよく出てきますので、よろしくお願いします。

普段はHashiCorpという会社で仕事をしています。

Cloud Native Daysというカンファレンスを青山くん(@amsy810)と一緒にやっていたり、PaaSに関する勉強会をやったりもしています。

もともと国内の通信事業者でCloud FoundryというオープンソースPaaS(Platform as a Service)を利用したサービス開発をやっていたのですが、その流れからCloud Foundryの開発元であるPivotalという会社に転職しました。

その後PivotalはVMwareに買収されたので、VMware社員としてKubernetesやCloud Foundryを用いた製品をお客様にデリバリーする仕事や、プラットフォームチーム作りを支援する仕事をやっていました。

なんだかんだで私はプラットフォームに関わる仕事をやって10年以上経ったんですね。

そのあたりの知見も踏まえてお話できればと思っています。

Platform Engineeringって何だろう

「Platorm Engineering」が突然話題になってますよね。

面白かったツイートがあったのでちょっと貼ってみましたが、これはDevOpsと言っていたみんなが急にPlatform Engineeringへ流れ始めているよね、と。

そこで、そもそもPlatform Engineeringって何だろう、という話をさせてください。

Platform Engineeringという考え方は突然出てきたのではなく、以前から使われていた用語でしたし実践されてる方も多かったんです。

ただ、世の中に広がり始めたきっかけはガートナーのハイプサイクル2022で左下のあたりの、まさにこれから盛り上がっていくぞ、みたいなところに登場したのが大きかったのかなと思っています。

参考:米ガートナー「先進テクノロジーのハイプサイクル2022年」を発表。分散IDやWeb3は過度な期待、機械学習によるコード生成、デジタルヒューマンなどは黎明期

それによると2026年までに、ソフトウェアエンジニアリング組織の80%がPlatform Engineeringのチームを結成し、そのうち75%はセルフサービス開発者ポータルを取り入れる、と書いてあります。

ただ、Platform Engineeringには、今のところ決まった定義はありません。

ガートナーが出している定義もあれば、PlatformEngineering.orgというWebサイトがあって、そこで書かれてる定義などもあります。

これらに共通するところを抜き出すと、Platform Engineeringとはこういうことだと言えるのかな、というのを書いてみました。

「Platform Engineeringとは、開発者体験と生産性を向上させるために、セルフサービスで利用できるツールチェーンとワークフローを設計・構築する分野」

Platform Engineeringが注目される背景

Platform Engineeringが注目されるようになった背景について考えてみましょう。

クラウドが登場する前からITのシステムはありました。

その時代は開発者(Dev)とシステム管理者(Ops)は別の組織になっていて、開発者はシステム管理者に、環境を構築してくださいとお願いしたり、アプリケーションをデプロイしてくださいとお願いしたりしていた。これが一般的だったわけです。

ただこのスタイルでは問題がありました。DevとOpsはそれぞれサイロ化しやすく、組織から組織に仕事を依頼する形になるので、どうしてもコミュニケーションのコストが大きくて、そこがボトルネックになってしまう。

システム管理者が忙しすぎてソフトウェアがデリバリーできない、といったことが起きていたわけなんです。

これが変わり始めたのが、クラウドの登場ですよね。

クラウドが登場したことで、APIドリブンで環境を払い出せるようになりました。そして、開発とシステム管理の垣根をなくしてDevOpsを実現し、ソフトウェアのデリバリーを継続的にやっていこう、みたいな機運も出てきました。

このどちらが先かは諸説あるんですけども。

そこで「真のDevOps」と書いたのですが、自動化のためのツールチェーンなどが出来上がってくれば、その気になれば開発者が開発もテストもデプロイも、やろうと思えばできるわけです。

やろうと思えば。

ですが現実問題として、どうですか。皆さん、やりますか? 実は多くの組織にとって、これは現実的ではないんです。

ツールやフレームワークがありすぎる

なぜかというと、特にクラウドネイティブの時代になってからは、たくさんツールなどを使いますよね。

KubernetesやDockerだけでなく、いろんなフレームワークやツールがあって、とにかくいろんなツールを組み合わせてアプリケーションの開発やデプロイをしています。

これを1人の開発エンジニアや1つの開発組織で全部やっていくのはしんどいわけです。

「認知負荷が高い」という言い方をしたりしますが、とにかくいろんなソフトウェアやツールやサービスに気を使わなくてはいけないので、1つのことに集中できず、結果として生産性が高まらない。

2010年頃にHerokuとかCloud FoundryなどのPaaSによって認知負荷は減るのかな、という流れはあったのですが、その後のクラウドネイティブの時代になると、いろんなツールがあふれかえってきて、認知負荷はもう右肩上がりです、というのが現状だったりします(参考:Platform Engineering 101: What You Need to Know about This Hot New Trend – InfoQ)。

どうするか:よくあるアンチパターン

じゃあどうするか。

かつてのDevとOpsが分かれていた時代に戻したくはないですよね。

そこでDevとOpsがサイロ化しないようにと考えた結果、開発チームのそれぞれにOpsを担う人材が出てくる。チームの中にKubernetesのManifestを書くのが得意な人がいて、その人にお願いしてしまうとか。

特定の人がチーム内のOps担当みたいになって、そうした仕事が集中してしまう。

多くの場合、そうしたOpsもできる有能な開発者は知見も豊富なハイパフォーマーであることが多くて、その人にOpsの仕事が集中してしまうとすれば、チームの生産性が最大化できているのかというとそうではないのではないか、となります。

DevとOpsがサイロ化しないように考えたのに、これはアンチパターンになってしまうんですね。

そこで出てくるのが「Internal Developer Platform」というもので、これはPlatform Engineeringを調べるとよく出てくる単語だと思います。

社内向けのプラットフォーム:Internal Developer Platform

Internal Developer Platformは、「プラットフォームチーム」というチームが作っていく開発者がセルフサービスで利用できる基盤です。

いろんなツールを組み合わせる形で構成されていて、あんまり抽象化しすぎることなく、開発者の認知負荷を軽減していく、といったものです。

この辺りの考え方、つまりチームを分割してプラットフォームチームに切り分けて、そこでX-as-a-Serviceみたいな形で連係していくのは2~3年前から話題になっている「Team Topologies」(書籍:チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計)の考え方も影響が大きいのかなと思っています。

Team Topologiesは、価値のあるソフトウェアを素早く届けるようにしていくための組織設計の考え方を示しています。

そこでは4つのタイプのチーム「ストリームアラインドチーム」「イネイブリングチーム」「コンプリケイテッド・サブシステムチーム」「プラットフォームチーム」があって、チーム間の連携としては3つ、「ファシリテート」「コラボレーション」そして「X-as-a-Service」があります。

Platform Engineeringは、ストリームアラインドチームに対してプラットフォームチームがX-as-a-Serviceで関与する、というパターンが近いのかなと思いつつ、実際のところはもう少し複雑だったりするかもしれません。

≫後編に続きます。後編では、「Platform as a Product」という考え方について紹介します。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
「povo」管理アプリ、Android版の配信を一時停止 プラン開始初日につまずき
企業・業界動向
2021-03-24 10:22
東急レクリエーション、シフトの作成時間を80時間削減–顧客対応の時間を確保
IT関連
2022-08-06 18:54
「Nintendo Switch 有機ELモデル」予約は9月下旬から
くらテク
2021-07-08 00:00
東海カーボン、ノーコード/ローコード開発基盤でシステムを内製化
IT関連
2021-05-27 15:32
光洋ショップ‐プラスと富士通、生体認証を使った一般向けレジなし店舗を実証実験
IT関連
2021-01-16 08:13
JTB、旅行者の氏名など4900件が流出した可能性 海外グループ会社のサーバに不正アクセス
セキュリティ
2021-08-19 06:50
Google フォトの新規約、きょうから 容量超過2年でコンテンツ自動削除の対象に 前日にバックアップ“駆け込み勢”も
クラウドユーザー
2021-06-02 03:43
DXに向けたIT環境の再整備–情報システムと運営プロセスの両面での変革
IT関連
2023-01-19 09:36
ポケモンGOで1日限りの伝説ポケモン大集合 「ディアルガ」や「レックウザ」も
くらテク
2021-07-11 03:35
京アニ事件でNHK関与のような虚偽情報 サイト運営者に賠償命令
IT関連
2021-03-18 06:36
米国がExchangeサーバーのハッキングとランサムウェア攻撃で中国を非難、政府系ハッカー4人を起訴
セキュリティ
2021-07-21 19:29
打ち上げオペレーションを軸に宇宙事業を近代化するEpsilon3が約3.2億円のシード資金を調達
IT関連
2022-02-15 09:23
Visaカードが日本でもApple Payに対応 iPhoneやApple Watchでタッチ決済が可能に
企業・業界動向
2021-05-12 16:54
東芝が新経営方針、「データサービスで稼ぐ会社に」–不透明さも意思固く
IT関連
2022-06-04 13:04