はじめに
プラットフォームエンジニアリング(Platform Engineering)とサイト信頼性エンジニアリング(SRE, Site Reliability Engineering)はともに、ITインフラとアプリケーションの運用に関わる分野ですが、それぞれに独自の焦点とアプローチがあります。
Gartnerの報告によれば、Platform Engineeringは、自動化と開発者の経験を中心に据え、アプリケーションのデリバリーを迅速化し、ビジネス価値を効率よく生成することを目的としています。
この手法は、製品チームが顧客に対して価値をより速やかに提供することを前提としています。
参考資料:
What Is Platform Engineering?
What Team Structure is Right for DevOps to Flourish?
道を照らす: プラットフォーム エンジニアリング、ゴールデンパス、セルフサービスのパワー
関連記事:
SREとはなにか [サイト リライアビリティ エンジニアリング]
一般的に、
- プラットフォームに関連するタスクが主な場合は「Platform Engineering」と呼ばれることが多い
- サービスの信頼性と可用性に注力する場合は「SRE」と呼ばれる
と思っている人は多いのではないでしょうか。
本記事ではPlatform EngineeringとSREについて解説していきます。主な目的、業務内容や役割、必要なスキルセットなどを交えて説明していくのでぜひこの機会に理解してみてください。
SREとPlatform Engineerの3つの違い
1.主な目的
このセクションでは、SREとPlatform Engineeringが何に焦点を当て、どのような主要な目的で活動しているのかを考察します。
SRE (Site Reliability Engineering)
SREは主にシステムの運用に特化して活動します。
その主な目的は、システムの可用性、信頼性、およびスケーラビリティを高水準で保証することです。そのために、監視、アラート、インシデント対応、キャパシティプランニングなどが主な業務範囲となります。
Platform Engineer
Platform Engineerは開発者の生産性を高めるプラットフォームを設計、構築、および運用することが主な目的です。
この目的を達成するために、CI/CDパイプラインの設定、コンテナオーケストレーションツールの管理、開発環境の最適化などが主要な業務になります。
SREとPlatform Engineeringは目的が異なるものの、両方ともシステムと開発プロセスの効率と信頼性を向上させることに貢献しています。
SREはシステムの健全性が第一であり、Platform Engineeringは開発者の生産性が主眼です。
2.業務範囲
このセクションでは、SREとPlatform Engineeringが何をしているのか、そしてそれらがどう違うのかについて、いくつかの例を挙げて簡単に説明します。
SRE
- SREチームを組織する
- SLIを計測しSLOを設定する
- 自動化・省力化するためにプログラムを書く
- 運用を改善する
- モニタリングの改善
- 緊急対応時の手順書作成
- 変更管理
- 需要予測/キャパシティプランニング/プロビジョニング/効率的なリソース活用
- ポストモーテム
Platform Engineer
- プラットフォームチームを組織し、エンジニアと協働する
- 開発者のニーズを評価し、プラットフォームの目標(KPIs)を設定する
- 自動化・最適化するためにインフラコードを書く
- プラットフォームの機能とパフォーマンスを改善する
- CI/CDの最適化
- コンテナオーケストレーションの調整
- インフラのコード化とリソース管理
- モニタリングとロギングの最適化
- プラットフォームの安全性とコンプライアンス
業務範囲において、SREとPlatform Engineeringはそれぞれ異なる領域に焦点を当てていますが、その業務範囲は一部被っています。
SREはシステムの運用に重点を置き、特に可用性や信頼性の確保に努めます。一方で、Platform Engineeringは開発者の生産性を高めるためのプラットフォームの設計と運用に焦点を当てています。
両者の業務範囲が被る例としては、自動化、モニタリング、そしてインフラストラクチャのコード化やそれぞれが同時に発生する場合などがあります。
3.方法論
このセクションでは、SREとPlatform Engineeringが採用する方法論について説明します。
SRE
SREは、Googleが提唱した手法であり、ソフトウェアエンジニアリングの原則を運用に適用します。SLIs(Service Level Indicators)とSLOs(Service Level Objectives)を設定し、それに基づいてシステムを運用します。
Platform Engineer
Platform EngineerはしばしばDevOpsの原則に基づいていますが、開発者に特化したサービスを提供することに焦点を当てています。
彼らは、開発チームが効率的に機能をリリースできるように、プラットフォームを最適化します。
SREとPlatform Engineeringはそれぞれ異なる方法論に基づいていますが、最終的なゴールはシステムとプロセスの改善です。SREはシステム運用にソフトウェアエンジニアリングの手法を適用する一方、Platform Engineeringは開発者の生産性に特化した手法を採用しています。
以上がSREとPlatform Engineerの主な3つの違いです。それぞれの役割は多少オーバーラップする場合が多々ありますが、基本的な主な目的、業務範囲、方法論においては明確な違いがあります。
SREの導入支援はSreakeにお任せください!
SREとPlatform Engineeringは、ITインフラとアプリケーションの運用に関わる重要な役割を果たしますが、主な目的、業務範囲、そして方法論において異なる特性と強みを持っています。本記事では、これらの違いについて「主な目的の違い」「業務範囲の違い」「方法論の違い」を基に解説してきました。
なお、「Platform EngineeringとSREのどちらが重要か」という比較は意味をなさないと言えます。それぞれ異なる方法論に基づいていますが、共通の目的は「お客様の利用環境の価値を高める」ことです。この目的を達成することで、最終的にビジネス的な価値が実現されるわけです。
この違いを理解することで、各組織は運用戦略をより明確にし、必要なスキルとリソースを適切に配置することができるでしょう。
少しでもSREやPlatform Engineerに興味があるという企業様がいらっしゃいましたら、気軽にお問い合わせください。