Beエンジニア

未経験からエンジニアになるための勉強法や転職術、業界情報などを現役エンジニアがわかりやすく解説

インフラエンジニアの種類 インフラエンジニアの仕事

バックエンドエンジニアの役割

IT業界のプロジェクトにおいて「バックエンド」側作業とは、 ユーザーからみて「 見えない部分(サーバ、データベース、ネットワーク)の作業を指しています。

バックエンドエンジニアの役割

下記は代表的な3階層システムのイメージです。現在のシステム構成の主流はこの3階層システムと考えて良いと思います。

バックエンド側:インフラチーム、ネットワークチーム、データベースチーム等とチーム分けされることが多いです。

  • システムエンジニア(SE)
  • インフラエンジニア
    • DBA(データベースアドミニストレーター)
    • サーバーエンジニア
    • ネットワークエンジニア
  • テストエンジニア(テスター)

システム開発現場でのインフラエンジニアについては、担当範囲が非常に広くなるためさらに複数に分かれていることが多いです。

例えばデータベースエンジニア等の場合は非常に微妙な立ち位置になります。実際のアクセス量から適切なサーバのサイジングを行い、適切なメモリ量やCPUスペックなどを見積もる場合はバックエンド側のインフラエンジニア寄りに位置します。

また、アプリケーションがアクセスするテーブル設計などの場合、どちらかというとフロントエンド側の立ち位置になるのではないでしょうか? ただ近年では、簡単なテーブルくらいならプログラマーの担当範囲というところが多くなってきているように感じます。サードパーティ製の便利ツールが増えてきたことが要因でしょう。

バックエンド側各作業の役割は、システムエンジニアがフロントエンド側の「要件定義書」と全体的なアーキテクチャから「要件定義書」を取りまとめます。違いはフロント側の「要件定義書」は「ユーザー顧客」から出てきた要望を取りまとめましたが、バックエンド側はフロントエンド側の「要件定義書」もインプットとして取り扱います。

そして「基本設計書」はこの「要件定義書」をインプットとして作成していきます。ただし設計書の中身は全く異なりますし、場合によっては設計書の名称自体変わることもあります。

例えばネットワークエンジニアを例にした場合、ネットワークの設計書であれば「環境定義書」「環境設定書」等と呼ばれることもしばしばあります。さらに ちょっと前までは パラメータまでブレイクダウンされた、パラメータシートを設計書と呼ぶ現場も存在しました。

おそらく古い体質の現場は今でもそうだと思います。 IT業界自体が比較的まだ新しい業界に位置するため、用語の統一にはもう少し時間がかかるのでしょう。

インフラエンジニア(サーバ含む)の役割

線引きがあいまいなところがあり、規模の小さなプロジェクトではサーバエンジニアはインフラエンジニアと同義語で扱われます。主にサーバOSの機能の設計・構築・運用を行うエンジニアです。

理由はわかりませんが、バックエンド側のエンジニアの多くはフロントエンド側出身者で構成されことが多いです。おそらくフロントエンド側の知識無くしてサーバーサイジングやCPUスペックなどの見積もりが行えないためだと思います。 当然年齢層も一気に跳ね上がります。40代~が多い気がしますね。

フロントエンド側出身者が多いということもあってかはわかりませんが、インフラエンジニアの場合「設計書」の作成はシステムエンジニアではなく、インフラエンジニア自身が作成することが多いです。もう慣れてるんでしょうね。

インフラエンジニアに必要な知識 (Linux)

  • 構成管理
    • Ansible
  • OSの基本知識
    • Tuned
    • disk
    • FileSystem
    • LVM
    • Service
    • ssh
    • Chrony
    • pcp
    • profile
    • log
    • audit
    • kernel
  • webの知識
    • apache
    • http,https
  • アプリケーション知識
    • tomcat
    • play
    • jboss-eap
    • jdbc
  • プロトコル
    • soap
    • ajp
    • http・https
    • icmp
    • scp・sftp

上記はほんの一例です。覚えることはまだまだあります。

近年ではWebサーバやAPサーバなどはサーバーエンジニアの作業範囲に属することが多いです。 また、サーバには「物理サーバ」と「仮想サーバ」が存在します。

ネットワークエンジニアの役割

主にネットワークの設計・構築・運用を行うエンジニアです。最近まではネットワーク監視なんかもネットワークエンジニアの作業でしたが、監視ツールが多機能化し、今では監視チームが行うことが多いです。

インフラエンジニアの一種ではありますが、個々のサーバをつなぐネットワーク専門のエンジニアになります。ネットワークエンジニアも意外と年齢層は高いです。40歳~なんて普通にいます。

ネットワークエンジニアに必要な知識

  • TCP/IP全般(ICMP、TCP/UDP、SNMP等)
  • レイヤ2技術(スイッチング、VLAN、スパニングツリー、HSRPやVRRP等)
  • レイヤ3技術(ルーティングプロトコル、L3スイッチのVLAN間ルーティング等)
  • 負荷分散、冗長化、NTPやsyslogなど

データベースエンジニアの役割

データベースの設計・構築・運用・管理を行うエンジニア です。 最近ではビッグデータ理論の登場で大量のデータを管理し、企業戦略にそのデータを活用できるスキルを持った人材が求められています。 その影響もあってか絶えず人材不足なイメージがあります。

データベースエンジニアが集まらず、インフラエンジニアが勉強しながらデータベースの設計・構築を行うことなんてざらにあります。

データベースエンジニアに必要な知識

  • データベース管理の概要
  • インストールおよびデータベースの作成
  • SQL管理ツールの使用
  • 管理者権限の付与
  • Network環境の構成
  • インスタンスの管理
  • データベース記憶域構造の管理
  • ユーザーおよびセキュリティの管理
  • スキーマ・オブジェクトの管理
  • バックアップおよびリカバリの実行
  • データベースの監視およびアドバイザの使用
  • データベース・ソフトウェアの管理

バックエンドエンジニアに共通で必要な知識

  • shell (Linux)
  • PowerShell (Windows)

※「shell」「PowerShell」ともに言語の一種です。プログラマーで何か一つでも言語を習得していれば、プログラムそのもののアルゴリズムは殆ど共通なのですぐ覚えられます。

上記を一つ一つ説明していると、一冊の本が出来上がってしまうためここでは割愛します。というよりそこまで理解出来ていません(笑

上記のスキルを習得して初めて一つのシステムが開発できるのです。なんとも気の長い話です。

テスターの役割

バックエンド側のテスターには、チーム内で担当者を変えて行うことが多いです。

メモリーサイズやCPUスペックの妥当性など、どうしても設計者の「思い」が入り込むため、誰にでもお願いすると言うわけにはいかない場合が多いようです。

まとめ

この記事ではエンジニアの開発現場での役割や必須スキルを述べてきました。近年では、サードパーティ製ツールの発達もあり、その担当範囲がかなり広く、複数のチームに別れて作業することが一般的です。

急ぎ足で紹介してきましたが、IT業界のバックエンド側の開発現場はおおざっぱにこんな感じです。

しかしながら、エンジニアは「SE」=>「PM」=>「コンサル」といった具合に、多くのキャリアプランを選択できる数少ない職種でもあります。

よく読まれている記事

1

ここで一つ「資本主義」について考えてみましょう。 目次1 資本主義って何ですか?2 同一労働同一賃金で平等になる?2.1 結局どういうこと?3 では、実際のところエンジニアにどう影響するの?3.1 ワ ...

2

正直、この記事を何のカテゴリーに分けようかすごい迷いました(汗 結果、エンジニアの仕事(将来)に大きくかかわる気がしたため「プログラマーの仕事」枠へ入れることにしました。気が向いたら変わるかもしれませ ...

3

実際のところ、転職相談したくてもイザ相談ってなると結構厳しいものがありますよね? とくにIT業界になると・・「できて当然!」って人ばかりなんでしょ?とかね。 当然スキルはあった方がいいっていうのはわか ...

4

唐突ではありますが、プログラマーとして作業見積もりは非常に重要な仕事です。何故ならこの見積もりを誤ると無事にシステムを開発したはいいが、採算的には大赤字だったなんてことになりかねません。 具体的には下 ...

5

そもそも自分が希望している業界がどんなところなのか把握していなくては、折角プログラマーになっても雰囲気に馴染めずに辞めてしまうなんてことになりかねません。 目次1 IT業界って、どんなところ?2 エン ...

6

キャリアプランを考える上で、あなたが満足な人生を謳歌したいと思うのであれば、まず「あなたの満足とは何か?」という問いに、ざっくりでも良いので答えられる必要があります。 目次1 将来の自分?2 価値観の ...

7

目次1 価値観って?2 知識の価値とは「量」から「質」へ3 技術の向上とともにモノの価値は「無」へ近づく4 付加価値という武器を育てる 価値観って? 価値観とは、何に価値があると認めるかに関する考え方 ...

-インフラエンジニアの種類, インフラエンジニアの仕事

Copyright© Beエンジニア , 2020 All Rights Reserved.