MAGAZINE

キャリテク!マガジン

コラム

インフラエンジニアは縁の下の力持ち?

アプリケーションエンジニアやWEBデザイナーさん、お客様や他業種の方に「インフラエンジニアって何やってる人なんですか?」と聞かれることがあります。

大抵私は「プログラムを書くこと”以外”なんでも」と答えていますが、これでは本当に何をやっているかわかりませんね。
今回は、プログラムを書くこと”以外”にどんなお仕事があるのかを掘り下げてみたいと思います。

インフラエンジニアは、プログラムを書くこと”以外”何をしているのか

最初にお断りしておきますが、インフラエンジニアだからと言って、プログラムを「書かない」わけでも「書いてはいけない」ということはありません。
作業の定型化や自動化のためにプログラムを書くこともありますが、いわゆるプログラマさんとはその役割が異なります。これは後に触れますが、一旦次にすすみましょう。

そもそもエンジニアがプログラムを書く以外にどんな業務があるか、の一例を挙げてみますと、

  • サーバーやネットワーク機器の構築や運用
  • セキュリティ
  • パフォーマンス・チューニング
  • 障害対応
  • その他、機能要件として”以外”のプログラミングなど

それぞれの業務についての詳細は割愛しますが、おおよそこれらの業務に大別されることが一般的です。
企業やチームによっては、データベースの設計や運用もインフラエンジニアのロールに含まれることもあります。

機能要件と非機能要件

さて、ここで聞き慣れない言葉が出てきました。

  • 機能要件
  • 非機能要件

次に「機能要件」と「非機能要件」について説明します。

機能要件とは

機能要件とは、文字通り「ビジネス上の要件をプログラムの機能として実現したい」という要求です。
勿論、プログラムを書かずに実現できることもありますが、例えば通販サイトであれば、

「顧客がブラウザから商品を選んで買い物かごに入れて、クレジットカード決済したい」

というような、具体的な行動が伴うイメージです。

非機能要件とは

一方で、非機能要件とは、

  • 買い物かごに入れた商品が他人から見られてはいけない (セキュリティ要件)
  • 耐障害性を高めるためにデータセンターを東日本と西日本に分割したい
  • プログラムの実行時間が3ミリ秒台、秒間1000リクエストをページキャッシュ非使用で捌きたい (性能要件)

など、ビジネスで実現したいことを叶えるための前提条件のことを指します。
インフラエンジニアはこれら非機能要件を実現するために存在するといってもよいでしょう。
これが冒頭に申し上げた「プログラムを書くこと“以外”すべて」ということです。

非機能要件、何を実現すればよいのだろう?

インフラエンジニアが非機能要件を定義し、顧客のビジネスを安定して実現するためには、顧客と同じ言葉で会話できることが必要です。しかし、顧客が必ずしも技術に精通しているとは限りませんし、一方で、インハウスのエンジニアでない限り、顧客の業務をいきなり理解するのは至難の業です。

IPA 独立行政法人情報処理推進機構が公開している「非機能要求グレード」では、非機能要件(非機能要求項目)を以下の図のように体系化しています。

図 1 非機能要求項目の体系 | 非機能要求グレード2018 セミナー資料 (https://www.ipa.go.jp/files/000066192.pdf) より抜粋

これらの様式を利用することで、顧客との意思疎通齟齬から発生する手戻りを減らすことが可能になります。

非機能要求グレード (https://www.ipa.go.jp/sec/softwareengineering/std/ent03-b.html) は非常に多岐にわたる項目が資料化されていますので、ご自身の業務がどのような意義をもっているのかを確認するには良い資料群となるでしょう。
こうして見ると、インフラエンジニアは縁の下の力持ち、というよりも、顧客の業務フローを支える、まさに「インフラ」という位置づけであることがイメージできるのではないでしょうか。

ネットワークエンジニア インフラエンジニアとしていずれはこうした要件定義業務に就くこともあるかと思いますので、今から理解をすすめておくとよいでしょう。
ご自身1人での学習に不安がある方は、AltX キャリテク!の門を叩いてみることをおすすめします。

AltX キャリテク!のページへ
https://www.kcct.co.jp/careetec/

facebook シェアシェア
LINE シェアシェア