SE(システムエンジニア)の開発・保守・運用で何が違う?簡潔まとめ

記事更新日: 2020/12/29

ライター: せかぺん

SE(システムエンジニア)の募集要項によく載っている開発・保守・運用のキーワード。具体的に何が違うのか簡潔にご紹介します。

 

仕事に直接関わっていない人からすると具体的に何するの?と聞かれることが多いです。

今回はSE(システムエンジニア)として、開発・保守・運用は何をやっているのか紹介していきます。

 

ライタープロフィール
名前:せかぺん

東京に上京してせかせか働くWebエンジニア → 開発保守プロジェクト主任。
java、C#、Python、Swiftの開発現場を経験。
各現場のエンジニアと関わってきた経験を生かし、エンジニア視点の情報を発信します。

プログラミング初心者

確かに、募集要項の詳細だけ見て判断していたけど、保守と運用は違うものなの?

 

せかぺん

違うよ。企業によって言葉の定義も多少変わるけど、大まなかな違いを抑えていってね。

システムエンジニアの「開発」業務とは

開発とは、システムを作り本番に導入・稼働するまでの業務をいいます。

新規でシステムの制作・既存のシステムの改修、両方とも「開発」の業務となります。

 

「開発」の業務の具体例

【開発言語Javaによる◯◯通販サイトの新規システム導入】

商品注文をオンライン化していない企業より、通販サイトから商品を注文できるシステムの要望があり、新規システムとして導入するケースです。

商品掲載、商品注文、ログイン、マイページ、決済画面・・・など0からすべて作る必要があるため、大規模な案件となります。

 

プログラミング初心者

大規模な開発になるとプロジェクトも長期化してちょっとしたミスが後々大きな手戻りになりそうだね。

 

せかぺん

システム規模が大きいほど1つのミスが影響する範囲は大きくなるんだ、大手企業もしっかり実績のある人を採用するよ。

 

【□□保険代理店サイト、構築言語C#からJavaによる再構築】

開発言語C#で作られている販売サイトを処理効率の観点から、開発言語Javaによりシステムを1から再構築する案件です。

既存システムがあるため、仕様や処理内容はC#のプログラムを見ればわかりますが、処理効率の観点で負荷がかかっている処理を全て見直すため、再構築もスケジュールは長期化しやすい案件となります。

 

プログラミング初心者

再構築!?今のシステムを全て新しい開発言語で作り直すなんあるんだね!

 

せかぺん

開発言語でも同じことなんだ。古い開発言語より新しい開発言語の方が処理効率が良い傾向にあるからエンジニアは常に勉強が必要だよ。

 

【従業員用勤怠システムの入力画面、開発言語C#による改修】

既存の従業員用勤怠システムの入力画面を一部改修する案件です。一部の改修に留まるので、開発負荷はあまりなく短期間で改修が可能となる案件となります。

 

簡単な案件の場合、実力があると見込まれた新入社員でも企業によってはプロジェクトの責任者として、立ち振る舞うケースもあります。

 

プログラミング初心者

一部の改修作業で完結するプロジェクトなら対応内容によっては新人にも任せられそうだね。

 

せかぺん

そうだね。企業によっては新たな責任者を育てるために実力のある新人に任せて、新人を育成するパターンもあるんだ。

 

システムエンジニアの「保守」業務とは

保守とは、システムが本番稼働(お客様が実施に利用し始めた)後、システムに問題がないか防止・障害となった場合、即時対処する業務となります。

 

「保守」の業務の具体例

【サービス提供のホスト端末のメンテナンス】

インターネット上からユーザが利用可能なサービスはどこかのコンピューターがサービスの提供元となっています。

サービスの提供元であるコンピューターをホスト端末といいますが、ホスト端末も常に最新化された環境でなければいつウィルスによるセキュリティ上の心配があるため、Windows Updateなどメンテナンス作業を実施する必要があります。

 

プログラミング初心者

利用ユーザは1つの端末に対して、アクセスを行っているんだね。

 

せかぺん

システム構成にもよるけど多くの場合はそうだね。年末年始などシーズンによりアクセスが集中していますと出るサイトは極小的に1つの端末にアクセスが集中しているから表示されるんだ。

 

【バックアップなどによるデータ復旧】

システムはいつ障害が発生してもデータを復旧できる状態に保っておかなければ、利用者も安心して利用することができません。

例えば、あなたの銀行口座の預金が、システム障害によりデータが消失したので、お金を引き出せませんと銀行から言われたらどうでしょう。なんで今まで預けてたお金がなくなるのか、せめて前日までの預金額は担保して欲しいとか当たり前のように考えると思います。

 

これは他のシステムでも同様です。システムを開発する際は、万が一に備え、一定期間でデータのバックアップを作る仕組みになっています。保守の業務では、データがなんらかの不具合で整合性が取れなくなった際、最新のバックアップ時点のデータに戻す作業を担当します。

 

プログラミング初心者

バックアップは利用者が安心してシステムを使える仕組みになっているんだね。

 

せかぺん

誰も翌日に預金残高がなくなりましたと連絡がきて、そうですかと納得するお客様なんていないからね。対策できるものはしっかり対策することが信頼性に繋がるんだ。

 

【データのメンテナンス】

システムの利用期間が長いほど、蓄積するデータ量も増えていきます。

 

システムを管理するデータ量も有限のため、一定期間または一定量にデータが達したタイミングでデータのメンテナンス(データ削除)を実施する必要があります

 

基本自動でデータをメンテナンスできれば良いですが、メール管理のシステムなど1日の増減量が可変のものはデータ量を見ながら、手動で削除コマンドを実行している現場もあります。

 

プログラミング初心者

データも無限じゃないんだね。利用ユーザはあまり意識したことがないかも。

 

せかぺん

開発担当はシステムの規模、負荷を考えながらいかなるケースにも対処する方法をたてて、長期間システムを安定することが責任だよ。

システムエンジニアの「運用」業務とは

運用とは、システムが動いている状態を継続・更新していく業務となります。

ディスク容量やログ、データの監視などシステムの状態を監視し、システムが常に利用できる状態にする必要があります。

 

「運用」の業務の具体例

【メモリ使用量・ディスク容量の監視】

メモリ使用量・ディスク容量が90%以上の状態であるとシステムの動作が遅延したり、最悪の場合、システムが利用できない状態になる可能性があります。システム状態の監視などを常にメール通知されるよう確認する必要があります。

 

プログラミング初心者

メモリ使用量、ディスク容量だけでシステム全体に影響が出るなんて驚きだ。

 

せかぺん

それぞれの領域がなくなることはシステムが正常に稼働する余裕がなくなることを意味するんだよ。

 

【サービス状態の監視】

メモリ使用量・ディスク容量と同じくシステムが利用できなくなる原因の1つに、サービスが停止状態になってしまうことが上げられます。

 

サービスとはシステムを利用するための部品となる箇所です。必要なるサービスが全て起動されていない場合、システムは何らかの不具合をお越します。常に監視していないといけない内容になるため、常にメール通知されるよう保守は対策を打つ必要があります。

 

プログラミング初心者

そっか、お客様の環境が多ければ多いほど、1つ1つの環境を見るより保守メンバ宛にメール通知する方が早いね。

 

せかぺん

お客様がシステムを利用できなくなることに直結するため、保守も単純に確認するより、効率よく確認することが義務となるよ。

 

【システム利用のための説明会実施】

システムの導入時、または年に1、2回の頻度で実施されること多いシステム説明会があります。

利用者に向けて実際にどう操作すれば良いか、保守担当メンバもシステムの仕様を把握し、利用者に細かい操作内容を説明する必要があります。説明会を実施することで、お問合せ内容の削減にもなるため、ここでなるべく多くの疑問点を解消します。

 

プログラミング初心者

一度に多くのお客様に説明することができるから効率的だね。

 

せかぺん

年に数回しかない機会のため、保守はしっかり説明する準備をおこない、再問い合わせがないように対処することが重要となるよ。

 

【外部からの大量アクセスなどログの調査】

悪意のある外部からの大量アクセス攻撃や、ニュースなどになる爆破予告メールなどの送信先アドレスの特定などを調査する作業を行っています。

 

爆破予告などは実施日時が記載されたメールが届くことがほとんどのため、運用担当は早急にIPアドレスを提示することが求められます。保守メンバだけで対応できない場合、行政機関と連携しながら犯人の特定を行うことになります。

 

プログラミング初心者

行政機関とも連携するの!?

 

せかぺん

お問合せがあまりにも過激な場合は適切な処置をとるよ。それも保守としての大事な仕事。

 

【システム操作に関する説明】

お客様からはシステムの利便性を求めて、こういうイメージで使いたいができないなど対処法はあるかなどを早急に求められるケースがあります。

 

そんな時は運用メンバは主に操作に関するマニュアルを作成していることがほとんどのため、マニュアルを元に操作説明をおこないます。

 

マニュアルに記載していないお問合せに関しては、運用の場合は本番ではない、テスト用の環境(デモンストレーション環境)があるため、そこから実施します。

 

プログラミング初心者

マニュアルに記載している場合は一発で答えられそうだね。マニュアルに載っていない時が厄介。

 

せかぺん

マニュアルにない場合は、自分で確かめる方法を考えるよこれもシステムの仕様を理解していないとできない作業のため、保守メンバはシステムを担当領域の理解だけではなく、システム全体的に理解する必要があるんだ。

まとめ

開発・保守・運用でそれぞれ明確な違いがあることがわかりました。システムエンジニアでも様々な業務内容があるため、未経験から就職したい場合、自分が本当にしたい内容はなんなのか、今一度確認することが必要です。

 

同じシステムエンジニア業務でも対応する内容が異なるため、数年経って求めていたスキルが取得できなかったことがないよう、システムエンジニアの業務内容について、しっかり復習しておきましょう。

この記事を書いたライター

せかぺん

東京に上京してせかせか働くWebシステムエンジニア → 開発保守プロジェクト主任。日々、効率的に生きる方法を模索中。生活の中で有意義だと感じる情報をシェアしていきます。極度の暑がり。

この記事に関連するラベル

ページトップへ