1分で分かる!システム開発における構築とは?
ジャバ―ド先生、こんにちは!
ことりん君、こんにちは!
ジャバ―ド先生、またまた聞いてもいいですか?
今日は何を知りたいのかな?
プログラミングしてつくったものって、どうやってボクたちが使っているサービスになるの?要件定義>基本設計>詳細設計>製造>結合テスト>総合テストまでの流れは一通り理解できたんだけど、そこからがよくわからなくて…
なるほど。たしかにあんまり皆知らないかもしれないね。ことりん君が気になっているところは「構築」という作業なんだ。
構築?
そう。構築!デプロイとよばれることもあるよ。
構築とかデプロイってどういうことをやるの?
プログラミングしたものって、最終的にはファイルになるんだ。そのファイルを然るべきところに配置する作業を構築というんだよ。
うーん。ちょっとイメージがつかないなぁ。
例えば、ことりん君は自分のPCに何かのソフトウェアをインストールしたことはあるよね?
MicrosoftのOfficeはインストールしたよ!あとはマインクラフトとか、ファイナルファンタジーとか、ドラゴンクエストXとか…
ことりん君、とってもゲーム好きなんだね…
てへ♪
そのインストールっていう作業も、大きな意味では構築と一緒なんだよ。インストールをすることで、ことりん君のPCの然るべき場所にファイルを配置してるからね。Webアプリケーションの場合は、ことりん君のPCがアプリケーションサーバーに置き換わったイメージだね。
あぁ、ちょっと分かったかも!Webアプリケーションの場合は、PCにプログラミングしてできたファイルを配置するってことか!ちなみに、構築って、ファイルをアプリケーションサーバーにアップロードすれば終わりなの?だとすれば、結構簡単そうだね。
最終目的だけいえば確かに簡単そうなんだけど、構築はとってもデリケートな作業だよ。
あぁ、やっぱりそれだけじゃないよね…笑
そうなんだ。Webアプリケーションの場合、一般的には複数の環境を用意していることが多いんだ。具体的には「開発環境」「ステージング環境」「本番環境」だね。全部に同じものを構築する必要があるんだ。本番環境の構築の場合は特に注意する必要があるよ。
本番ってボクたちが使うところってことだよね?
そうそう。本番に構築する場合、万が一構築したものに不具合があると、最悪の場合は「切り戻し」という作業をやらないといけないんだ。切り戻しとは、アプリケーションをある時点の状態に戻すことだね。で、これをやるためにはその時点でのバックアップを取っておく必要もある…とか、いろいろやることはあるんだ。一歩間違うと、ユーザーに大きな被害が及ぶから、構築は特に注意して進める必要があるんだ。
開発ってなんだか最初から最後まで気が抜けない作業ばっかりだね…。とりあえず、疑問は解消したよ!ジャバ―ド先生ありがとう!
はーい!またね!
構築とは? システム開発における構築の基礎知識
構築の業務内容
構築という工程は、開発したアプリケーションを使用できる状態にすることです。なお、構築という言葉自体は、本番環境に限ったことではなく、開発環境やステージング環境に対しても使用します。
構築では下記のような作業を行います。
- アプリケーションの停止
- バックアップ取得
- ハードウェアやDBなどの変更作業
- ソフトウェアの変更作業(ファイルの配置)
- 限定的にアプリケーションを開始(自社内からのみアクセス可能にして確認作業を実施)
- アプリケーションを開始
なお、変更内容が軽微な場合は、アプリケーションを停止しなかったり、バックアップを取得しないこともあります。
構築構築に対するエンジニアの関わり方
エンジニアは構築するために事前準備を行います。事前準備は大きく分けて2つです。1つは「資材の準備」です。例えば、データベースや環境に配置するファイルなどです。新規開発したアプリケーションの場合は、ハードウェアやソフトウェアの準備も必要となります。もう1つは構築手順書の作成です。構築は手順書を作成し、詳細なタイムテーブルを作成します。どのような作業があり、どのような順番で行うのか、その作業にはどれくらいかかるのかといった内容を記載していきます。また、何かあった場合の問い合わせ先なども明記します。
なお、大規模なシステムの場合、事前にステージング環境(仮想本番環境)でリハーサルを行うこともあります。
構築当日は手順書に基づき、1つずつ処理を実行していきます。構築手順書にはいくつかのチェックポイントが設けられていることが一般的です。万が一チェックポイント到達時に、予想時間をオーバーしている場合、そのまま構築を続けるのか、切り戻しを行うのか責任者が判断することになります。もちろん、切り戻し作業についても、構築手順書に記載しているため、その手順通りに進めていきます。
構築が完了すると、自社IPアドレスのみを許容するなどして、自社内から簡単に確認作業を行い、問題ないことが確認できれば、ユーザーに向けて新しいアプリケーションが提供されます。