システム開発するならこれだけは覚えておきたい!環境の違いと役割についてまとめてみた。
システム開発に携わっている皆さん、こんにちは。
今日も元気に開発してますかー!
さて、私は半年ほど前まで「システム開発?なにそれ美味しいの」状態でした…。
ですが、最近は「自分で何か作ってみよう!」と思い開発に手をつけているところです。
いきなり、なぜ私がこんな話をしているか。
その理由は、初めて配属された現場で全く右も左も分からない状態の時に、現場の先輩から「テストは検証環境に向けて流してね」と言われたことがあったからです。
検証環境?なにそれ??
その時は、何とかうまいこと切り抜けたのですが初めて現場に参画する人にとって環境の違いと役割を切り分けることが難しいかもしれない…!
そんなこんなで、業界未経験の方向けにシステム開発を行う上で知っておいた方が良い環境と役割について今回まとめてみようと思った次第です。
既知の方は「知ってるよそんなもん」くらいで読み進めて、初めての方は「へぇ〜そんなものあるんだ!覚えとこ」くらいで頭の片隅に覚えておいてくださると光栄です^^
開発環境(ローカル環境)
開発環境というのは、私たち開発者が自由に使える環境を指します。
う〜ん、ちょっと抽象的でしたね。 ざっくり簡単に説明すると…
- 他の開発者と干渉しない
- ぐちゃぐちゃに壊しても誰にも怒られない
上記2点が開発環境で出来ることです。
また、チームで開発している場合は複数人で開発した機能を共有しあったりコードを統合して直接検証環境へデプロイしてテスト開始を行うところもあります。
しかし、ここで問題なのがデータベースです。
複数人が同一の設定で別々のデータベースにアクセスできちゃうとテーブルスキーマの変更があった場合、全員で共有するタスクが増えるのはちょっと面倒。
ここについては、きちんと段取りをしておけば問題ないのであまり懸念するところではないかと思います^^
検証環境(テスト環境)
検証環境は、開発し終わってリリース予定の機能がちゃんと動くかテストするための環境です。
ちなみに、検証(テスト)は英語で「Quality Assurance」と呼ばれるので別呼称として「QA環境」とも言われています。
開発環境と検証環境を分けて用意することで、テスト中のシステム状態を変更することなく並行して別の開発を進めることが出来るというメリットがあります。
検証環境でテストを流し、不具合が見つかった場合は再度バグ取りを行います。
その繰り返しでバグが無くなったら、次はステージング環境という環境へデプロイする形になります。
ステージング環境
ステージング環境は、基本的にリリース予定をしている本番環境とほぼ同一の環境と認識しておきましょう。
ステージング環境ではバグの切り取りが行われており、いつでもリリースできるよ!状態の機能を最終チェックします。
本番に近い環境なので、本番同様のデータでテストをしますが機能動作確認のため想定していないデータを仕込まれる場合もあります。
想定していないデータとぶち当たった時は設計者に相談しましょう。。
本番環境
本番環境とは、もう呼んで字の如くですね。
サービス提供の、実運用を行う環境です。(商用環境・プロダクション環境とも呼びます)
本番環境はお客様の所有物です。
本番環境にあるデータは、お客様と契約している顧客な訳です。なので、コピーや実データを触って改変するなんてもっての他です。
ここで障害を起こそうものなら…ガクブル…。。。
なので、本番環境を扱う時は特に用心して扱いましょう。
まとめ
いかがでしたか?
今回は、環境とそれぞれの役割についてまとめてみました!
初めて知った方は「そんなものあるんだな〜」と頭の片隅に置いておくと、いざ聞かれた時に「あっ!」となるかもしれません!(*´ー`*)
環境構築については、また次の機会にご紹介していきます♩