質問: 業務で複数のwebアプリを管理しています。 今後、開発や既存webアプリの修正をしていく上で、 どのような開発環境や本番環境が良いのか、迷っているため、 今回質問させていただきます。 ##### 現在の開発環境とやりたいこと: 本番環境は、ロリポップのレンタルサーバーです。 テキストエディタで修正したファイルを そのままテスト用のドメインにFTPアップロードをして確認、開発をしています。 php+jqueryとfuelphp+reactで作成したwebアプリが、 約30個あります。(小規模です) gitでのバージョン管理は、一部しか行えていない状態です。 今は1人なので何とかなっていますが、今後複数人での開発となると、 この環境ではやっていけないと感じています。 改善することは山ほどありますが、 まずは、ローカル開発環境から本番環境へのデプロイまで、 開発手順を一新したいと考えております。 ##### 実装予定: ・ローカル開発環境 →docker ・開発言語 →laravel+react ##### 一番迷っている点、不明点: ・本番環境 →現状、サーバーまで管理することは、知識的に難しいので、 PaaSサービスを検討しています。 herokuやAWS,azureなど色々調べたのですが、 ツール30個置く場合はどのような管理になるのか、 料金はどうなるのか、 など、色々調べているのですが、 現在頭がパンク中です... 質問がかなり広義的になっているのは承知しております。 一例としてこんな例がある、など例だけでもいいので、 示していただけると非常に助かります。 実例があるとより参考になります。 何卒宜しくお願い致します。
回答: ### 前提 1.背景、目的を明確にしましょう それによって手段が変わってきます。 > > 1人なので何とかなっていますが、今後複数人での開発となると、この環境ではやっていけないと感じています。 > > > 今回の質問背景はこちらで、それを何とかするというのが目的と解釈しましたので、以降はそちらをベースに回答します。 2.小さく始めましょう 当たり前のことですが、1人で何でも完璧にこなせる人はいません。 ゴールに向かって少しづつ前進すれば良いです。 より良い手段はいくつでもありますが、ここでは現状を踏まえ、最初のまず一歩にフォーカスして回答します。 ### 回答 > > 本番環境は、ロリポップのレンタルサーバーです。 > > > PaaS、IaaS、VPSへ移行しましょう。 レンタルサーバーは制限が多く、最新の便利なツール等が利用できません。 ※Dockerでの本番運用はハードルが高いので次のステップで検討しましょう。 > > サーバーまで管理することは、知識的に難しいので、PaaSサービスを検討しています。 > > > 考え方は間違ってないのでPaaSでも良いでしょう。 目的が学習等ならばIaaS、VPSも視野に入れてください。 > > FTPアップロードをして確認、開発をしています。 > > > ■レンタルサーバーからIaaS、VPSへ移行する場合 デプロイツールを使ってデプロイを半自動化しましょう。 PHPですと、汎用的なdeployerやLaravelに特化したenvoy等があります。 ※全自動化はハードルが高いので次のステップで検討しましょう。 ■レンタルサーバーからPaaSへ移行する場合 サービスが提供している仕組みを利用しましょう。サービスによって違うのでご自身でご確認ください。 ご検討のherokuであれば色々設定が必要ですが基本的には、`git push heroku master`でデプロイが完了します。 > > gitでのバージョン管理は、一部しか行えていない状態 > > > 全てgit等でバージョン管理を行いましょう。 これをしないとそもそも複数人開発が困難になります。 > > ・ローカル開発環境 > > →docker > > > スキルレベルがわからないのでDockerがおすすめですと言い切れません。 Vagrantでも目的は達成できるのでそちらも視野に入れてみると良いでしょう。 > > herokuやAWS,azureなど色々調べたのですが、ツール30個置く場合はどのような管理になるのか、料金はどうなるのか、 > > > こちらは、各サービスの内容に対する質問なのでTeratailでは非推奨の質問となっています。 また、PaaSの全サービスの内容を網羅的に把握しているPaaSマスターもいないでしょう。 なので、ご自身で調べていただき、必要に応じて各サービスへ問い合わせるのが良いでしょう。