プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • システム開発
  • 【システム開発】「環境」の種類(ローカル、開発、ステージング、プロダクション)
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【システム開発】「環境」の種類(ローカル、開発、ステージング、プロダクション)

06.23

  • miyabisan2
  • コメントを書く

この記事は2分で読めます

ローカル環境

SEやプログラマが、実際にシステム開発を行う環境になります。OSとしては、「Windows」、「MacOS」であることが多いでしょう。

プロダクション環境にLinuxが採用されている場合は、それを意識したコーディングを行うようにしましょう。

  • ファイルのパスや、セパレータ等
  • ファイル名の大文字小文字など(Linuxは大文字小文字を区別するが、Windowsは区別しないため)

ただ、最近だとDockerを使ってローカルでコンテナを使って動作させることが多いです。Dockerを使えばLinuxを動かすことができるのでそこまで意識せずに実装することが可能になっています。なお、Linux distributionとしては「alpine Linux」や「Ubunts」などを採用することが多いです。

開発環境(development)

ローカル環境で開発したシステムをテストする環境です。顧客や運用チームに公開することは基本ないです。

細かくサーバーを分けてしまうとサーバー利用料金がもったいないので一つのサーバーで構築したりします。

ステージング環境(staging)

運用担当や、顧客(ユーザー)が、プロダクション環境にデプロイする直前に実際にテストをする環境のことです。テストの結果顧客からのフィードバックを返されて修正するケースが多いです。

開発環境でテストを実施済みものをデプロイします。

場合によっては、開発環境とステージング環境は一つにまとめるケースもあります。(その場合、開発が進むと開発側で検証したいのに顧客が確認できないので辛いみたいなことが起きてしまうのでできれば別れていた方が良いでしょう。)

プロダクション環境(production)

本番環境(運用時にアプリケーションを実行する環境)のことです。OSとしてはLinuxが採用されていることも少なくないですし、むしろコスト的にそれが普通になっています。

また、最近はインフラのクラウド技術の発達により、今までは、インフラエンジニアの仕事だったものが、分業することなく、アプリケーションエンジニアの仕事の一部にもなりつつあります。

OSやライブラリの脆弱性対策のためのアップデートなどのメンテナンスが必要になります。AWSなどのクラウドの場合はECSなどのマネージドサービス(勝手に脆弱性対策のアップデートをしてくれる)が登場してきているのでアップデート作業が不要で開発に専念できるようになってきています。

負荷分散のために細かく動作サーバーを分散させるケースが多いです。最近ならAWSのECSやEKSなどを使ってコンテナベースで動かすことが多いです。

スポンサーリンク
  • 2018 06.23
  • miyabisan2
  • コメントを書く
  • システム開発
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2018 05.04

    【システム開発】ログ出力の意義

  2. 2019 12.14

    【VSCode】概要(画面構成、コマンドパレット、クイックオープンなど)、開発する上で入れたいパッケージ

  3. 2018 04.30

    【システム開発】チューニングの基礎知識

  4. 2019 11.16

    【スクラム】概要

  5. 2022 01.09

    【スクラム】「インクリメント」、「ゴール」、「ミッション」、「インセプションデッキ」

  6. 2019 06.08

    【XML】文書構成

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【SQL】「制約」の種類と使い方

【Java】パッケージのimport(インポート)につ…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー