SREエンジニアに必要とされるスキル7つ!SREエンジニアの仕事内容は?
SREエンジニアとはどんなエンジニア?
SREとは「サイトリライアビリティエンジニアリング(Site Reliability Engineering)」の頭文字で、システム運用管理の方法論や考え方、または運用する人を指します。
特にWebサイトやサービスの信頼性に重点が置かれていて、これまでのDevOpsのように開発と運用作業を分担して行うのではなく、ソフトウェアエンジニアがシステム運用に伴う手動作業を自動化するところまで一貫して行います。
SREエンジニアに必要とされるスキル7つ
続いて、SREエンジニアの業務をこなすために必要なスキルを見ていきましょう。
多くのIT関連の仕事に関わり、業務の幅が広いSREエンジニアにとって、特に必要とされる7つのスキルについてご紹介します。
それぞれの知識や技術と、それらが必要とされる理由まで、しっかりと確認しておきましょう。
必要とされるスキル1:ネットワークプロトコルの知識
「ネットワークプロトコル」とは、コンピューターなどの機器同士でデータのやり取りをするために、あらかじめ取り決められた約束事です。
具体的には、相手と自分のコンピューター間でどのようにデータを送信し、どれくらいの量のデータを送るのかなど、あらかじめ約束事として決めておくということです。
このプロトコルには、「TCP・IP」や「HTTP」という種類が存在しますので、以下で詳しく説明しましょう。
TCP・IP
「TCP・IP」とは、現在のインターネット通信において最も使用されているネットワークプロトコルです。
このTCP・IPは、「SMTP(メールの送信方法)」「TCP(信頼性を保つ方法)」といった、さまざまなネットワークプロトコルによって成り立っています。
ネットワークにおいて代表的なプロトコルである「TCP」と「IP」を取ってTCP・IPと呼ばれています。
HTTP
「HTTP」とは、インターネットプロトコルの一つで、特にホームページ上のファイルを交換する際に使用されるプロトコルです。
HTMLなどで書かれたネットワークの情報データを、きれいに形成して見せてくれます。
しかし、このHTTPは暗号化されていないため、悪意のある第三者が中身を閲覧する可能性もありますので、セキュリティには注意が必要です。
必要とされるスキル2:パフォーマンスを改善できる技術
SREエンジニアにとって、パフォーマンスを改善できる技術を持ち合わせていることも大切なスキルになります。
これは、人間の手作業が多い運用をITで自動化することにより、運用における全体のパフォーマンスを向上させるためです。
運用のオペレーションを自動化・効率化することによって、全体のサービスをも向上させるようなスキルが必要とされます。
必要とされるスキル3:ミドルウェアの機能知識
「ミドルウェア」とは、OSとアプリケーションの真ん中で機能を提供するものであり、各種サーバーがどのようなものかを特徴づけるソフトウェアです。
このミドルウェアには、Webサーバーや、アプリケーションサーバー、データベースサーバーなどが存在しており、ミドルウェアがあることで特定の処理や動作が行えるようになります。
そのため、SREエンジニアはこのミドルウェアの機能に関する知識を備えている必要があります。
必要とされるスキル4:各種クラウドサービスに関する知識
「クラウドサービス」とは、インターネットなどのネットワークを用いて使用者にサービスを提供するサービスです。
このクラウドサービスには、ソフトウェアを提供する「SaaS」、アプリケーションを稼働させる開発環境をネットワークに通じて提供する「PaaS」、インフラ機能をネットワークに通じて提供する「HaaS」などがあります。
年々クラウドサービスを利用する企業も増えているため、知識を身に付けておきましょう。
必要とされるスキル5:アプリケーションに関する技術
「アプリケーション」とは、OS上にインストールして利用するソフトウェアです。
アプリケーションを稼働させるためにはOSが必要ですが、アプリケーションには「OSごとに作成される」という性質があります。
SREエンジニアにとって、このようなアプリケーションに異常を見つけた場合に素早く認識し、適切な対処をすることも大切な仕事です。アプリケーションに関する知識や技術をしっかりと身に付けておきましょう。
必要とされるスキル6:APIのセキリュティリスクに関連する知識
「API」とは、自分のソフトウェアを外部に公開し、他のソフトウェアと機能を共有できる仕組みのことを言います。
ソフトウェアを外部に公開するということは、誰もが利用できるということなので、時として外部からの攻撃に悩まされるケースも考えられます。
そのため、Webのサービス開発と運用に関わるSREエンジニアには、APIに関する基本的なセキュリティの知識が必要です。
必要とされるスキル7:円滑なコミュニケーション能力
「SREエンジニア」の場合、主にチームを組んで仕事に取り掛かることが多いため、チームのメンバーと円滑に話を進められるコミュニケーション能力が重要です。
特に、自分が伝えたい意見をまとめる能力や、相手が解決したい課題を把握してまとめる能力は必要になってきます。
技術力だけあればいいという印象が持たれがちなエンジニアですが、仕事を円滑に進めていくうえでコミュニケーション能力は必須です。
SREエンジニアの仕事内容4つ
次に、SREエンジニアの仕事内容を4つご紹介します。
日本国内でもSREエンジニアの求人需要が高まっていることから、多岐にわたる仕事内容となっていますが、その中でも特に重要な仕事内容についてご紹介して行きますので、ぜひ覚えておきましょう。
SREエンジニアの仕事内容1:リリース時のリスクの軽減
開発者は、自分たちがリリースしたサービスが機能しないという事態をとても恐れます。
そのため、リリースをする際に開発者の余計な心配事をつぶしておくことも、SREエンジニアの仕事の一つです。例えば、リリースするサービスと同じくらいのデータを取り扱う環境を用意して、しっかりとバグをチェックします。
開発サイクルを少しでも早めるためにも、開発者の精神的な負担を軽減するのは大切な仕事と言えます。
SREエンジニアの仕事内容2:OpsサイドとDevサイドの要望を両立させる
SREエンジニアの仕事の一つに、Opsサイドの「システムを安定させる」という要望と、Devサイドの「プロダクトを高速リリースする」という要望を両立させるというものがあります。
これは、「たとえ運用の土台がしっかりしていても、サービスの提供スピードが遅くてはならない」ということです。
この対照的な二つの要望をまとめあげ、リリースのタイミング設計を行うことは、SREエンジニアの重要な仕事になります。
SREエンジニアの仕事内容3:安定した運用体制を支える環境を整える
システム運用において重要なことは、サービスを安定的かつ継続的に稼働できる環境を整えることです。
SREの概念自体が、「Webサイトやサービスの信頼性を向上させる」という理念に基づいていることからも、「安定した運用体制を支える環境を整える」ということは必須の仕事です。
しかし、完全に安定性が保証されたものは存在しませんので、何かしらの不具合が生じた場合に、すぐに対応できる環境を準備しておきましょう。
SREエンジニアの仕事内容4:開発チームが自立できる環境作り
ここまで見てきたように、SREエンジニアの主な役割は「開発と運用を繋ぐこと」です。
しかし、開発チームがSREチームに頼り切ってしまう事態は望ましくありません。SREチームがいなくても、開発チームが独立して稼働できる仕組みやツールを作成して提供する事も、SREエンジニアの腕の見せ所です。
システム運用の自動化だけを考えるのではなく、開発チームの回し方もしっかり考えて仕事をして行きましょう。
SREエンジニアの活躍シーン5つ
SREエンジニアは、その保有している知識や技術から市場価値がとても高くなっています。そのため求人需要も多く、SREエンジニアが活躍できる場面は多岐にわたっています。
ここからは、SREエンジニアが活躍しているシーンを5つ取り上げて行きましょう。
SREエンジニアの活躍シーン1:メルカリ
フリマアプリの第一人者的存在である「メルカリ」には、2015年にSREのエンジニアチームが発足しました。
メルカリグループが運営しているサービスシステムの運用を担当するだけでなく、コードに手を加えたりパフォーマンスを向上させたりと、様々な側面を担っています。
このメルカリグループのSREチームは発足当時から拡大し続けており、現在もサーバー・ネットワークの構築・運営などを行う人材を募集しています。
SREエンジニアの活躍シーン2:Retty
飲食店やグルメ情報のSNSである「Retty」においても、SREエンジニアの活躍できる場があります。
Rettyのサービスレベル目標を具体的に設定して統計分析を行ったり、運用を担当したりすると同時に、障害対応なども行っています。
Rettyは誰もが知っているグルメ情報サイトであることから、まだまだこれからも企業としての伸びしろは大きいと考えられます。
SREエンジニアの活躍シーン3:クラウドワークス
「クラウドワークス」は、「ランサーズ」と並んでトップを走るクラウドソーシング事業です。
クラウドワークスのSREエンジニアチームは、サーバーのセキュリティ対策や障害の調査・対応などを行っています。
副業が多くの企業で解禁されたことから、クラウドソーシングの需要は右肩上がりとなっています。その中でもクラウドワークスは最大手の会社ですので、今後もSREエンジニアの活躍の場となるでしょう。
SREエンジニアの活躍シーン4:サイボウズ
2016年に、「サイボウズ株式会社」ではSREのエンジニアチームが設立されています。
サイボウズ株式会社は業務系のクラウドサービスを主に展開している会社で、SREエンジニアの担当業務は、クラウド基盤の運用から開発まで幅広く関わっています。
顧客の増加に伴うオペレーションの自動化など、SREエンジニアチームを先進的に取り入れた経緯からもSREに対する考え方が浸透しているため、働きやすい環境と言えるでしょう。
SREエンジニアの活躍シーン5:freee
2017年にクラウド会計サービスで有名な「freee」において、SREのエンジニアチームが設立されました。
サービスの開発や運用チームに参画し、サービスの安定稼働をリードする役割を担当するなど、とても社会的価値が高い仕事をしています。
会計ということで、金銭を扱うため責任が伴う大変な仕事ではありますが、チャレンジ精神が豊富な方にとっては、とてもやりがいのある職場になるでしょう。
SREエンジニアを目指そう
ここまで見てきたように、「SREエンジニア」はとてもやりがいがあり、市場価値の高い仕事です。
近年、日本国内でも求人需要が高まっているため、インフラエンジニアからSREへと役割の転換も進んでいます。
コンピューターシステムの開発や運用に興味のある方や、エンジニアとしての経験や技術を生かしたいという方は、ぜひSREエンジニアを目指してみましょう。