質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.13%

仮想環境について(定性的な質問)

解決済

回答 4

投稿

  • 評価
  • クリップ 0
  • VIEW 863

xxyyxx

score 35

駆け出しエンジニアです。
まだエンジニアとして半年くらいしか経っていないので、意図したことが質問できないかもしれませんが、ご回答宜しくお願い致します!

主にwebアプリを作成しております。
そうするとローカルにvirtualbox+centos+vagrantを使ったりして、そこで開発しています。

最近では、(私のPCはiOS,macを使用)macにubuntuを入れて、そこで色んな言語だったり、LinuxとiOS間で互換性?を持たせてDBの操作をしたり、redisをいじってみたり...しています。

本日もそのubuntuで、色々作業していたらターミナルでエラーが!、、 調べてみたらubuntuのディスク容量が足りないとのことでした。ググっていると、ディスクを拡張させたりするのは1年に1度あるかないかくらい、と記事を書いている方が多く、
そこでふと思ったのですが、仮想環境って一般的に(一般的にといっても目的にもよると思いますが...)、プロジェクト毎だったり、自分で仮想環境構築するのも何かこれを開発したい!とか、この言語学んでみようとかなんでしょうか?

僕はとりあえずubuntuになにからなにまでインストールして、開発してみてたので、目的もなくただこれを触ってみようとか、設定やってみようということだったわけなのですが、、

仕事だと先輩らがほとんど仮想環境を管理していてあまり心配しなくて良いとも聞きますし、また、ホストOS上で開発しているとたまにOSが壊れるとか聞きますし...

僕自身まだ駆け出しなので、目的として新しい言語でwebサイトとか開発してみるなら、

使ったことない仮想環境+新しい言語
(次考えてるのはdocker+ruby on rails)

みたいな風にしてやっていこうかと思うのですが、あまりに非効率だと思いますか?
確かにどんどん環境構築していくとPCの容量もどんどん減っていく...

定性的な質問になりますが、
皆さんが何か仮想環境を構築するときに基準となる考えや考え方など、何かアドバイスを頂けたらと思います。

すごくざっくりしてしまい申し訳ございませんが、宜しくお願い致します。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 4

checkベストアンサー

+1

xxyyxxさんのやることや知りたい事

1.業務として開発を行うこと
2.新しい言語の習得
3.新しい仮想環境(効率的な)ものを利用していきたい
4.仮想環境構築のアドバイス等が欲しい

といったところでしょうか。

業務では、開発コストを抑えて開発できればいいわけで、まずは既にある手順で業務をこなしていけばいいと思います。
いわゆる開発とインフラでは、管理する対象が異なりますし、xxyyxxさんはDevOpsではないですが、開発と運用の理想形を求めているのかなぁ、とも感じました。

xxyxxさんが色々知識を得て業務に活かすことは良いことだと思います。どんどんやっていきましょう。

最後に、アドバイスですが、
仕事なので利益を追求するわけで、いかに安く品質のいいものを作っていくかがポイントです。

私の観点では、安く開発できて、安く運用できて、品質がよければ言語も環境もなんでもいいです。
あくまでも理想ですので、常に最良というわけではないですが、、、。

参考にならないようでしたらすみません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

質問が散らかってますね。

仮想環境を構築するときに基準となる考えや考え方

ですが、xxyyxxさんの質問の範囲でいうなら仮想だろうが物理だろうが、考え方に違いはないと思います。
ただ、仮想環境の方が作りやすいし壊しやすいのでお手軽だとは思います。
スナップショットを取っておけばリカバリも一瞬ですし。
仮想環境が何かと言うことが良く分かっていないなら、逆に物理環境でサーバを構築してみるのもよいと思います。

仮想環境って一般的に(一般的にといっても目的にもよると思いますが...)、プロジェクト毎だったり、自分で仮想環境構築するのも何かこれを開発したい!とか、この言語学んでみようとかなんでしょうか?

上記のくだり、ちょっと何を言っているのか分かりづらいのですが、「仮想環境は検証や学習目的での利用が主ですか?」という意味ですか?
だとすると答えはNoです。本番環境でも無数に利用されています。

仕事だと先輩らがほとんど仮想環境を管理していてあまり心配しなくて良いとも聞きますし

それはxxyyxxさんの立場や業務分担的に「今は」心配しなくていい、ってだけの話ではないですか?
仮想環境だろうが物理環境だろうが管理は必要ですし、それは誰かがしなくてはならないことです。
いずれxxyyxxさんが管理する日が来るかもしれませんよ。

使ったことない仮想環境+新しい言語(次考えてるのはdocker+ruby on rails)
みたいな風にしてやっていこうかと思うのですが、あまりに非効率だと思いますか?

非効率、というより自分の知見にない問題が生じたときに、それが(例えば)docker起因の問題なのかror起因の問題なのか適切に切り分けできる自信ありますか?
ないのであれば一つ一つ足元を固めた方が、遠回りのようであっても確実だと思います。
ちなみに「仮想環境特有の問題」というのもあります。
場合によってはそこも含めて切り分けが必要になってきます。
本当に問題があるとすればその辺で、容量の問題なんて些細な話です。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

私は仮想環境はその目的ごとに毎回作ります。

理由としては、競合するライブラリやパッケージ、設定項目があったりして問題発生時の原因切り分けがめんどくさくなるからです。

ディスクの容量については仮想ディスクを
あらかじめ巨大なサイズに設定しておいてかつ、実使用量は実際に使った分だけ消費
という形にしておけば困ることは殆どありません。
(使う頻度が低い仮想環境は外付けHDDなどに退避させてもいいかと思います)。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

そもそも仮想環境というか仮想マシンを作成する意図も色々あると思います。
・環境集約、リソース効率化
・サービスの scrap&build
...etc。

結局のところ目的による、とも言えます。

それと VM側仮想ディスクについてですが Thin Provisioningと Thick Provisioningで
実際の占有量が異なりますし、初めから小さな VMとして仮想ディスクを作ってしまうと
結局は作り直しが面倒になるという事もあります。

ある意味必要なものだけ用意して、要らなくなったら環境ごと捨てる、という考え方もありますし、運用局面で考えれば「お考え次第」というのが正直なところだと思います。

個人的には現状の PCなり Serverであればそれなりのリソースを確保出来る機材を使用する限りそんなことを気にせず「必要な時に作って、退避しないとならんデータのみ退避したら VMなんて捨ててしまえばよいのでは?」と思う方です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.13%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる