SREはGoogle提唱のエンジニア論。概念やチェック項目紹介

最近よく耳にするようになった『SRE』という言葉の意味をご存知でしょうか? SREを把握できていない人に向けて、SREの概要やチェックリストについて解説します。基礎知識として参考にすれば、エンジニアのスキル向上につながるでしょう。

Offers」は、時代の変化や環境にあわせてスキルを磨きたい、そんな人にぴったりのサービスです。「副業・複業」で、本業では経験できない、新しい環境/開発スタイルを経験しよう!

→「Offers」をもっと詳しくみる! かんたん60秒で副業を始めてみる

SREの基礎知識

はじめにSREの基礎知識を身につけましょう。全く聞いた事のない人や、聞いたことはあるけれどしっかり意味を理解していない人でもわかりやすく解説していきます。

SREとは

そもそもSREとは何のことなのでしょう。SREは、GoogleのBen Treynor Slossによって提唱された運用の形で、『Site Reliability Engineer(ing)』 の略です。Googleが提唱したエンジニアの役割のことを指します。

SREはシステムの信頼性に焦点を置き、その性質を向上させるため、設計と運用の改善方法を見つけるのが役割です。システムが十分な信頼性を得たなら、運用業務として機能の自動化や新プロダクトの構築を行い、全体的な効率化を図ります。

SREの基本概念

Google SRE ディレクターのトッド・アンダーウッド(Todd Underwood)氏は、SREの基本概念は、運用作業の多くを自動化する権限と能力を持つエンジニアが、運用の責任を負う」という運用組織の新しい在り方にあると提言しています。

SREは、この概念に従い、従来のエンジニアのようにシステムの『運用』だけを行ってはいません。サービスの可用性やシステムのパフォーマンス、さらには構築したプロダクトの管理も行う、非常に高度なスキルを持つ人材です。

SREとDevOpsについて理解しよう

SREの持つ役割が分かったところで、ここからは、SREとDevOpsの関係性について解説します。両者の関係性を明確にしておくことで、より効果的なシステム運用ができるようになるでしょう。

DevOpsとは

DevOps(デブオプス)とは、『Development』と『Operations』の頭文字を取った用語で、開発チームと運用チームの協力関係を表しています。

2チームが互いを尊重・信頼しあうDevOpsを行うことで、製品のビジネス価値とユーザーの利便性を高めることを目指します。

DevOpsの手法

DevOpsは、5段階の手法を用いて行います。

  1. 開発チームと運用チーム間でコラボレーションを行う『Reduce organizational silos』
  2. エラーが発生するのを前提として設計や運用を計画する『Accept failure as norma』
  3. 変更を小規模にして効率化する『Implement gradual change』
  4. ツールと自動化で仕事を効率化し、人的なミスを減らす『Leverage tooling and automation』
  5. 全てを測定し、計測する『Measure everything』

この手法は、具体的な行動理念というよりも、システム開発にあたる際の思想・方針ととらえてもよいでしょう。

これらの手法を用いてDevOpsを行うことで、ビジネスの価値をよりスピーディーに高めることができ、エンドユーザーに届け続けることが可能になります。

DevOpsとSREの関係性

では、DevOpsとSREの間にはどのような関係性があるのでしょうか。

Googleは「DevOpsは『思想』であり、SREは『役割』である」と提唱しています。SREはDevOpsという『思想』に基づいて権限を開発チームにも与え、運用チームとの間の壁をなくします。

端的に言えば『ソフトウェアエンジニアのSREが運用管理を行うことで、開発チームと運用チームの協力関係であるDevOpsを実現させられる』という関わり方なのです。

Google推奨の評価チェックリスト

Googleが推奨しているSRE チームの評価に役立つレベル別チェック リストを紹介します。最初から上級者にはなれませんから、段階を経てプロフェッショナルへと昇っていきましょう。

初級の評価

初級者チームは、発足したばかりの SREチームに当てはまります。始めて間もない場合は、運用に不安があったり役割を理解できなかったりと問題が多いものです。

チームがシステム運用の負荷の一部を担っているか、完全ではなくとも運用手順書を準備しているか、SRE がプロジェクトの仕事を立案、実施しているかなどが評価対象となります。

中級の評価

経験豊富なチームには、中級の評価チェックリストを用いて積極的なサービスの効率的な管理を行っているかを判断します。初級レベルよりも高いスキルが求められます。

リーダーがSREプロジェクトンバーの実績と効果を定期的に評価しているか、SREチームが開発チームと共同で年次ロードマップのような長期計画を作っているか、システムを作成して定期的なテストを用意しているかなどがチェック項目になります。

上級の評価

中級レベルをすべて把握しつつ、さらにスキルの高いチームが上級チームとなります。

SREチーム内の複数名のメンバーが、運用や障害対策というシステムエンジニア的枠組みを越え、ビジネスに対して側面に大きなプラスの影響を与えていることが前提条件となります。

上級レベルのSREチームは、複数または全社で行うなど、広い範囲に影響を及ぼします。ビジネスにとっても重要な立場を持つことになるのです。

まとめ

SREは、単なるシステムエンジニアではありません。DevOpsの思想を実現するために、運用以外の面からもシステム開発を考えることができる大きな影響力を持つ高度なエンジニアです。

SREとして活躍できるようには、エンジニアとして日々スキルを磨いていくだけでなく、ツールの使い方やプロジェクトの運用についても学ぶことが必要になります。

Offers」は、時代の変化や環境にあわせてスキルを磨きたい、そんな人にぴったりのサービスです。

いくつもの転職媒体を使って、企業を探し回るのはもう終わり。「副業」から始まる新しい働き方を実現します!

本業では経験できない、新しい環境/開発スタイルを経験しよう!



この記事をシェア

関連記事


副業・フリーランス

プログラミング

インタビュー

Rubyエンジニア2名の爆速採用に成功!2ヶ月で30倍の事業拡大を支える農業ITスタートアップの複業活用法

野菜や米、果物などの生産者と消費者を繋ぐオンライン直販所『食べチョク』を運営するビビッドガーデン。在宅時間をより充実させたい消費者が集まり、事業が急成長している。そこで課題となったのがエンジニア...

オンライン面談のみでテックリードクラスを複数採用!注目ベンチャー企業のwithコロナ時代に向けた採用術とは

日本で唯一のeKYC対応のデジタル身分証アプリを提供するTRUSTDOCK。今後、身分証がデジタルに置き換わるであろう不可逆な未来を実現するためにもエンジニアが必要だった。同社にはコロナ禍にも関...

mrubyを採用したソフトウェアを広げた第一人者・松本亮介が、面倒を感じながらもC言語を愛する理由とは?

世の中にはさまざまなプログラミング言語が存在します。そして、人によってはただならぬ愛着を持つ人も。そこで本企画では、このプログラミング言語にフォーカス。お気に入りのプログラミング言語のことを中心...

エンジニアとして、社会に新しい価値を提供し続けたい。カンカク志甫氏が考える本業と副業のバランス術

本業と数々の副業を両立させてきた志甫氏。副業を受ける決め手や本業と副業を両立させるコツ、これからのエンジニアのチャンスの掴み方について伺った。

デザイン

お金

採用・組織

グルメ