こんにちは、ジーマックスメディアソリューション(以下、ZMS)のkwonです。
大学の専門は電子工学でハードウェアの制御を勉強しましたが、
バイトでHTML/CGIを使ったウェブページを開発したのがきっかけで
ウェブアプリケーション開発をやっています。
今回ブログのタイトルを考えながらふと思い出したのが
3か月前、「Microsoftが「PHP」サポートを縮小 ~「PHP 8.0」バイナリは公式提供せず」の
記事を読んだごとです。
PHP8.0からはウィンドウズ環境でのPHP開発が難しくなるかもというお話でした。
簡単な実行テストなどで使っていたので、残念なことです。
それで今日は私のローカルの開発環境についての雑談から軽く始めたいと思います。
私は開発を始めたところ、ローカルにて無事動いてたものが
リナックスの検証環境で動かなくて苦労した経験後からは
ローカル環境はサーバー環境と同じようにして開発しています。
リナックスサーバーのケースが多かったので、仮想環境を使いました。
初期はVMWAREのplayerを使いましたがvirtualboxが安定してからはvirtualBoxを使いました。
共に各リナックスのホームページからISOイメージをダウンロトして、インストール・
各モジュールはサーバーの環境と合わせてRPMかソースインストールします。
メリットは検証・本番サーバーと同じく環境整備することが可能
デメリットはリナックスのインストール、各モジュールのダウンロード、
インストール・各モジュールのセッティングなど時間が掛ります。
特に環境整備などに慣れてない人には難しいことです。
もし、リナックスバージョンが異なる環境・Php,Java,apache,mysqlなどのバージョンが異なる環境が
必要になった場合は初めから別途の環境を作らないといけません。
上記の環境で開発していたところ、見つかったのがProxmox(当時はバージョン3.4)というリナックスの仮想環境です。
これはvirtualboxで基本的なリナックス環境を作った後、
リナックスの基本カーネルはそのまま使いながら、アプリのところを仮想化して使うものです。
それで簡単にPhp,Java,apache,mysqlなどバージョン別の環境を作りました。
3年ぐらい前からはDockerを利用して開発をしています。
何よりも使用率が広がっているのが理由です。
ネットワーク管理者の立場でも管理の安さとKubernateを利用するとネットワークのリソース管理にも最適化されています。
開発側のメリットというと何よりも簡単に環境構築ができることです。
深く入るとYAMLファイルの書き方やdocker-composeファイルの書き方など
色々な細かい環境整備に関わるものがありますが、
単にいうと既に用意されている必要なイメージをダウンロードして、Docker環境へアップするだけで開発ができます。
自分が作った環境をイメージ化することも可能です。
以外にもCygwin, Vagrantでchef、ansibleを利用して仮想環境を作って開発したことがあります。
他にも方法は色々あると思います。
ちなみにZMSの検証環境はLXDを使っています。
簡単にこの業界で働きながら使った私の開発環境(仮想環境)でしたが、
機会があれば細かい設定などを含め、環境作りの手順書も書いてみたいと思います。