案件評判
SREを理解する!初心者でも分かる仕事内容、必要な能力、市場価値などを簡単に解説!

SREを理解する!初心者でも分かる仕事内容、必要な能力、市場価値などを簡単に解説!

最終更新:2021/10/22 投稿:2021/10/15
SREを理解する!初心者でも分かる仕事内容、必要な能力、市場価値などを簡単に解説!

SREとはサービスやプロダクトの安全性や信頼性の向上を図るために、システムの運用の自動化・効率化などを行うことを指します。近年SREの導入に取り組む企業も増えており、その流れに伴い運用に携わるSREエンジニアという職種も徐々に注目を集めてきています。この記事ではSREエンジニアの具体的な仕事内容や役割、必要な能力、市場価値などを詳しく解説していきます。

SREとは

SREとはSite Reliability Engineereing(サイトリアイアビリティエンジニアリング)の頭文字で、システム運用管理の方法論や考え方、またそれを運用する人のことを指します。ソフトウェアエンジニアがシステム運用まで設計する体制のことをGoogleのSREチーム創立者であるBen Treynor氏が提唱しました。
エンジニアを指す場合はSite Reliability Engineerの頭文字を取っています。SREが従来の運用と違う点は、従来の運用方法だとソフトウェアエンジニアがシステム開発(Dev)を行い、実際ユーザーに問題なく使用してもらう為の運用作業(サーバーマシンやネットワークのセットアップ、障害対応等)はシステム運用作業専任の作業者が行う分業で行われていました。
一方SREエンジニアは、ソフトウェア開発だけでなくシステム運用に伴う手動作業を自動化しシステム運用作業者へ橋渡しを行います。

『SREの基本情報』
▼正式名称
Site Reliability Engineereing(サイトリアイアビリティエンジニアリング)
▼起源
2003年
▼提唱者
Ben Treynor氏(Google社)
▼概要
システム運用管理の方法論や考え方、またそれを運用する人

SREの仕事内容

次にSREの具体的な仕事内容について解説していきます。

安定した運用体制の為の環境作り

SREの考え方は「Webサイトやサービスの信頼性を向上させる」という概念に基づいています。したがってまずは「安定した運用体制を整える」という事が必要になります。開発や運用に関するセキュリティの向上やミドルウェアのパフォーマンス向上などを担当します。そして万が一の不具合やトラブルが発生した場合に、すぐに対応出来る環境の準備も必要となります。

開発作業者と運用作業者の橋渡し役

システム開発者の役割は「開発プロダクトを最短でリリースすること」一方で運用作業者の役割は「システムを安定させる」ことにあります。SREエンジニアは双方の要望を両立させる役割を担います。サービスの安定と対極的ではありますが、変化のスピードが早いIT業界においてはプロダクトをいかにスピード感を持って早くリリースするかという点がビジネス面では重要になります。双方の要望をまとめ、適切なタイミングでリリースの計画を立てるというのもSREエンジニアの仕事の一つです。

ツールや仕組みの提供

開発担当者に対して、業務に必要なツールや仕組みを構築し提供するのもSREエンジニアの仕事になります。SRE担当がいなくても開発現場だけで業務が完結できるような仕組み作りが必要になります。SREエンジニアの役割は「システム運用作業をエンジニアリングで自動化、効率化する」ことでもあります。開発、運用担当者双方の業務を軽減、効率化し成果に繋げることも求められています。

リリース時のトラブル軽減

成果物をリリースする前に、想定されるトラブルやバグを予測してできる限り解消しておくのもSREエンジニアの仕事です。あらかじめ成果物と同じくらいのデータを取り扱う環境を用意してバグのチェックをしたり、アクセスの集中を予測してサービスが応答出来なくなる可能性を考えてサーキットブレーカーを取り入れ代理で応答させる仕組みを事前に作っておきます。開発エンジニアにとってサービスのトラブルは何より懸念になるためSREエンジニアがトラブルを軽減する作業を行うことで開発をスムーズに進めることが出来ます。

SREに必要な能力

次にSREに必要な能力を見ていきましょう。

アプリケーションに関する知識

SREエンジニアはアプリ開発に関する知識が必要になります。アプリ性能の異常を適切に修正するためにはプログラミング言語を用います。サーバーサイドの代表的な言語はRuby・PHP・Java・Pythonなどがあげられるため、実際にWebアプリを開発・運用した経験があるとさらに重宝されます。こういった言語を用いてプログラミングコードを修正したり、書き換えを行うのもSREエンジニアの仕事です。

『Webアプリとは』
Webアプリとはブラウザ上で利用するアプリケーションのこと。HTMLやCSSなどで構成される「フロントエンド」と、JavaやPHP構成される「サーバーサイド」という両側面で成り立っている。

Webアプリの意味や歴史などの基礎知識について解説している記事はこちら>>

サーバー構築に関する知識

SREエンジニアはシステム運用がメイン業務になります。したがってインフラに関する知識、サーバー構築から運用までの知識は必須です。例えば、ネットワークプロトコルやパフォーマンス改善、ミドルウェアに関する知識などです。近年ではクラウドベースでインフラ構築を行うケースも増えてきているため実際にクラウドサービスを運用した経験があると非常に役立つでしょう。

『インフラエンジニアとは』
インフラエンジニアとはサーバーやネットワークといったシステムにおけるインフラ業務を担当する職種。主にインフラの設計、構築、運用、保守、監視などといった業務を指す。

インフラエンジニアの担当業務や種類などの基礎知識について解説している記事はこちら>>

セキュリティに関する知識

「サービスの信頼性を向上させること」がSREエンジニアの役割であるため、サービスの保守作業はSREエンジニアの仕事ではありませんが、業務を行う上で基本的なセキュリティに関する知識は必要になります。特にAPIのセキュリティリスクに関する知識が必須です。「API」とは、自分のソフトウェアを外部に公開し、他のソフトウェアと機能を共有できる仕組みのことです。ソフトウェアを外部に公開するためSREエンジニアは基本的なセキュリティの知識が必要となります。

コミュニケーション能力

SREエンジニアは、開発エンジニアだけでなくデザイナーやディレクターなど様々な立場の関係者と連携を取りながら進めて行くことが必要になる仕事です。SREエンジニアは開発担当と運用担当の橋渡し的な役割を担うため、両者ともコミュニケーションを取りながら現場の負担を軽減させることも仕事です。

SREの市場価値

次にSREの平均年収や今後の将来性など、市場価値について詳しく解説していきます。

平均年収

SREエンジニアという職種自体がここ最近出来た職種であるため、市場に求人も比較的少なく、職種としての年収データが明確にあるわけではありません。しかしSREエンジニアは非常に専門性が高く求人が多くないが故に、プロジェクトでもリーダー格レベル、システムエンジニアと同等くらいの年収と考えて良いでしょう。厚生労働省の「賃金構造基本統計調査」によるとシステムエンジニアの平均月収は約38万円で、年収は約570万円となっているため一つの目安と考えると良いでしょう。
SREという概念はこれから益々必要性を唱えられる概念であるため、必要な知見や経験があるだけでもそれ以上の収入が見込まれる可能性もありますし、フリーのエンジニアで専門性が高ければ年収1000万以上といった高額な収入を目指せる職種でもあります。

システムエンジニアの仕事内容や必要な能力などついて解説している記事はこちら>>

将来性

SREエンジニアという職種は今後も需要が非常に高い職種であるといえます。その理由について具体的に解説していきます。まず1つ目の理由としてはIT業界が慢性的な人手不足であることが挙げられます。とくにリーマンショック以降は、国内におけるIT企業のおおよそ92%がエンジニア不足を課題にあげています。2つ目の理由としてはSREという考え方が非常に注目を集めているという点です。
多くの企業が業務の自動化や業務パフォーマンスの向上に力を入れていてDX(デジタルトランスフォーメーション)を推奨しているからです。最近出来た職種のためまだまだ市場での求人は少ないですが今後の需要は高まり続け、高度なスキルが必要なポジションであればあるほど人手不足が顕著で市場からも求められ続けるといえるでしょう。

SREという職域に就くためには

SREという職域に就くためにはどんなスキルが必要なのか、未経験でもなれるのか、など具体的に解説していきます。

新卒の場合

新卒でSREエンジニアをいきなり目指すのは、なかなか難しいといえます。専門性が高く、他のエンジニア職よりも求人が少ない傾向にあるからです。したがってまずエンジニアやプログラマーとして基礎の経験を積める会社を選び、そこからキャリアアップしていくのが一般的です。まずは自分が技術者としてプロジェクトに属して現場で経験を積む中で、SREエンジニアに必要なインフラ系の知識やアプリケーションの知識を幅広く経験しておくのが良いでしょう。

転職(中途)未経験の場合

中途の未経験でSREエンジニアを目指すには新卒同様、専門的なスキルと経験が必要になります。主に身につけておくべき知識が2つあります。
一つ目はインフラ系の知識です。インフラ関連の運用改善業務を行うので必須のスキルといえます。具体的にはIP/HTTP、ログ解析、ミドルウェアなどです。また最近ではクラウドを利用する企業も増えていることからクラウドの開発についても経験があると良いでしょう。
二つ目はアプリケーションに関する知識です。業務効率化、自動化がミッションとなるため、アプリケーション開発の経験が実際ないと対応できません。したがってSREエンジニアとしての経験がなくても挑戦することはできますが、上記の様な実務経験を伴う幅広い知識が必要になるため、上記の様な内容で実務経験を積みながら知識をつけていくのが良いでしょう。

SREという職域に役立つ資格

次にSREという職域を目指すにあたり学んでおくと良い資格について詳しく説明していきます。

DevOpsプロフェッショナル

「DevOpsプロフェッショナル」とは、EXIN社が提供する資格です。AWS認定資格でDevOpsの技術を証明できます。試験ではDevOpsの基本概念から情報セキュリティなど全般的な知識が求められます。受験対象を2年以上の経験を持つDevOpsエンジニアを受験対象者としているため、既にSREに近い業務を行っている人向けの資格と言えるでしょう。この資格には、「DevOpsマスター」という上位資格もあるため、より高度な専門知識を証明したい場合は取得を目指すと良いでしょう。

Cisco認定資格(CCNA/CCNP)

Cisco技術者認定資格は、シスコシステムズが運営するベンダー資格です。シスコ製品が扱えることが証明できます。全31種類ある資格の内、CCNAとCCNPを取得しておくとSREエンジニアとしての知識が一定数あることを証明することができるでしょう。CCNAはレベル2で基礎知識、CCNPはレベル3で実用者向けの内容となっています。

クラウドサービスの認定資格(AWS•Azure•GCP)

最近ではクラウドを導入する企業も増えていることから各クラウドサービスの認定資格を取得しておくと有利になることがあります。Amazon社が提供するクラウドサービス「AWS(Amazon Web Services)」であれば「AWS認定」、Microsoft社であれば「Azure」、Google社であれば「GCP(Google Cloud Platform)」などです。AWS認定資格には4つのレベルがあり、基礎レベル・アソシエイトレベル・プロフェッショナルレベル・専門知識と別れているため実務レベルでスキルを証明したい場合はアソシエイトレベル以上の資格取得を目指しましょう。

まとめ

これまでSREエンジニアの具体的な業務内容から役割、求められる能力や市場価値について解説してきました。「Webサイトやサービスの信頼性を向上させる」というSREの考え方は今後益々重要なものとなり広がりをみせます。今はまだ専門性も高くこれから認知度も上がる職種ではあるものの、求人数は増えることが予測されています。将来性の高い仕事といえるためエンジニアとしてのキャリアステップとしてSREエンジニアを目指すのも良いでしょう。SREについてこの記事に記載されている最低限の内容については理解をしておくようにしましょう。

案件評判
常駐する会社が、実際どんな会社で、どんな案件が動いているか詳しく知りたい。
これは常駐形態で働く方なら誰もが感じていることだと思います。 常駐の働き方をされている方は是非一度「案件評判」で案件についての評判をチェックしてみてください。