SREに関して徹底解説!これまでのシステム運用との違いからDevOpsとの違いまで分かりやすく解説します。

近年なにかと話題になるSRE。Googleが提唱したエンジニアの役割であるSREは今までのシステム運用のやり方、そしてDevOpsとはどのような違いがあるのかについては、未だにわからない人も多いです。SREによってどのようなメリットを得られるのか、そしてどういうものなのかについて今回は解説していきます。

 

SREの主な役割とメリット

 

インフラ整備とパフォーマンス向上のための改善

 

 

ではSREは具体的にどのようなことをするのか、ということについて説明していきます。基本的SREは運用担当であることには変わりません。開発は従来通り開発担当が行います。しかしその後の運用は基本的にSREの担当になります。

SREの役割としては、確実にシステムを動かすためのインフラ整備、そしてシステムのパフォーマンスを向上させるためのシステムの改善と信頼性の向上が主な役割です。従来のシステム運用などとは違い、システム改善のためのソースコードの修正や改変、さらにはネットワーク構築なども運用担当が行います。これがSREという役割の主な特徴です。

 

攻めのシステム運用

 

 

最初の部分でも説明したとおり、SREは基本的に開発担当が自ら運用担当などのチームを設計します。そのため開発担当が考える理想的な展開を実現しやすくなるということです。従来のシステム運用やDevOpsは、安定的な運用も視野に入れたシステム開発をしなければいけなかったため、どうしても守りの体制になってしまいます。

しかし運用チームも開発担当が決めることにより、DevOpsよりも柔軟な対応が可能になります。何より開発担当の考えが通りやすくなるため、システム運用の体制も守りから攻めの姿勢へと変化させることができます。

 

SREは今後広がる?

 

SREを取り入れている企業

 

開発担当が自ら設計した運用チームにより、攻めのシステム運用を実現できるSRE。Googleが提唱したこのエンジニアの役割は、現在他の企業でも取り入れられています。現在はまだSREを取り入れている企業は少ないのですが、今後はさらに多くの企業で取り入れるとされています。

現時点でGoogle以外でSREを取り入れている企業としては、Facebookやメルカリ、Netflixが有名です。いずれも信頼性を第一にしている企業であるため、そのような考えにおいてSREという役割は非常に重要なものとされています。

 

エンジニア不足とSRE

 

 

SREというのは従来の運用の他にもプログラムの改善やインフラ整備も行います。そうなるとSREの担当になるには、システム運用の知識の他にもプログラミングのスキルなども必要になってきます。ではSREによってエンジニア不足の問題は解決するのかということになりますが、残念ながらそうも行きません。

SREは確かにプログラミングなどのスキルも必要ですが、その動きがエンジニア不足を解消できるというわけでもありません。仮にプログラミングができたとしても、SREは従来通り運用の役割もあるため、幅広い知識とスキルが必須となります。そのためSREを取り入れようと検討しても、SREにふさわしい人材が少ないというのが現状です。

 

SREはこれからのシステム運用のスタンダード

 

今回は話題となっているSREとは何かについて、従来のシステム運用やDevOpsとの違いとともに解説しました。

 

SREに求められるスキルは?

 

先程の部分でも少し触れましたが、SREは運用とプログラミングに関するスキルが必要になります。運用についても攻めのシステム運用となるため、可用性などの知識も必要です。その上でプログラムを改善するために必要となるプログラミングのスキルなども必要です。

これからSREを取り入れている企業などに就職したり転職したりすることを検討している人は、最低限システム運用に関する知識とプログラミングのスキルは習得しておくようにしましょう。

 

信頼性と利益を求めるならSREがベスト

 

 

メルカリなどのエンドユーザーが多いシステムやアプリというのは、信頼性が最も重要になってきます。信頼性があればあるほど、ユーザーも使い続けたいと感じます。そしてそのようなシステムを実現させるには、開発担当の理想を実現させるための運用チームが重要です。

その最適解として登場したのがSREです。SREは開発担当の理想を実現するためのチームでもあり、同時にそのシステムやアプリを利用する私達ユーザーに信頼と価値を確実に提供してくれる存在なのです。

Geekly Media ライター

どーばー

3+