Tatsu still writes something... Fourth season

これからも私はなにかをしてなにかを書く

こじんかいはつしゃのおしろ

クラウドがー、コンテナがー

6月からの2か月間の仕事が終わった。で作業の面接を受けたのだが、どちらもJavaクラウドネイティブでコンテナ使ってーな仕事だった。ここのところC#でデスクトップぶんなぐってとかLinuxの設定いじってとかコンピューターに近いところばかりをやっていたので、その辺はノーマークだった。

クラウドがーというのはお客さんによって違うのでその時になったら勉強するしかないけど、コンテナはDockerコンテナが何らかの形でどっちにもあったので、ちょっと触ってみることにした。

システムドライブをでっかくしなきゃ

一番パワフルなメインマシンは自作機である。Windowsフリーソフト開発しててMeiryo UIも大っきらい!!なので、Windows 10が1個入っている。Meiryo UIも大っきらい!!なら、Windows 11を入れざるを得ない。出たら。というわけで、Windows 10と11のマルチブート環境を想定してマシンのセッティングを進めることにする。

システム入れる1T SSDがあって、データ入れるHDDがあって、前使っていた512G SSDもある。システムとレガシー保存、テスト、フリーセル用のVMの仮想ディスクは1T HDDにぶちこんでいた。さて、ここのところのWindowsソフトウェアはやたらめったらにシステムドライブにものを入れるうえ、逃がすのには面倒な手順が必要になってくる。その上、2022年には大要塞Visual Studio 2022もやってくる。というわけでシステムドライブのパーティションを拡大する必要がある。

幸い前使っていた512G SSDはSMART情報で見る限りTBWまでは余裕があるのでVMの仮想ディスクとか入れるところを選べて共用で使えるソフトウェア類は512GB SSDに逃がすことにする。これで、Windows 11の分を捻出する。というか1T HDDはWindows 10と11で埋まるだろうな。

ちなみに、メモリは買ったときに特価ということとこれ以上足さなくてもいいようにということで32GB買って付けていたので、これは大丈夫だろう。

こじんかいはつしゃのおしろをつくる

今あるもの。個人開発者なのでVisual Studio 2008 Standardと2019 Community。HTML書きに便利なのでVisual Studio Code、何気に便利なのでWindows Terminal、秀丸使って25年、個人なのでVMWare Workstation Player、そんなところです。

Javaがー、Spring Bootがー言ってたので、前になるが、Pleiades all in one入れた。これはアーカイブ展開して環境変数いじるだけなので共用の512G SSDに入れる。

お次は仮想化関連。今のWindows 10と他の仮想PCソフトは仲が良くなったのでWindows Subsystem for LinuxWindows ハイパーバイザープラットフォーム、使うかどうか知らんがHYPER-V、おまけでWindowsサンドボックスここまで一気に入れてWindows Subsystem for Linux用のLinuxカーネルアップデートいれて、

wsl --set-default-version 2
コマンド入力してWSL2が動くようにした。
これで準備がそろったのでDocker Desktop For Windowsを入れた。とりあえずデスクトップにアイコン作られるのは嫌なのでチェックを外した以外何の問題もなくインストール完了。チュートリアルやって、なんとなく調査で見たページを見てAmazon Linuxコンテナなど入れてみた。おお、yumコマンドだ。

実験用パートナーとしてWSL2にもUbuntu 20.04 LTS入れた。これはオペレーションの練習用。

これで、Windows開発あり、Java開発あり、コンテナ使った環境ありのこじんかいはつしゃのおしろというかというか、トレーニングセンターというか、なんかごついものができたというものである。

後はぐだぐだなのでこの後は続きを読むで。

ここまで組んでみたけど、Windowsって開発者にはあまり優しくないよなと思う。

WSL関連のディスク配置など開発ツールのファイル配置はブラックボックスに近い上にシステムドライブから逃がしにくいので何かあった時困る。よって、メンテナンス面に対してやさしくない。

Linuxだとインストーラーでたくさん使うディレクトリに別ディスク割り当てるとかできるけどWindowsではそういうチャンスがないので初めからある程度の容量のあるディスク構成にしないといけない。理解のない開発会社だとディスク容量削られてひどい目にあうぞ、これ。そうでなくても記録媒体を多く積めないノートパソコン・小型デスクトップだと大容量ディスクを選ばないといけない分高くつくので財布やテレワークにやさしくない。

開発の自動化などではCLIも使うことになるが、最初からMicrosoftアカウントだったり、ドメイン環境だったりすると自分専用のディレクトリとなるUsersディレクトリの下のユーザーのディレクトリ名がやたら長くなったり打ちづらくなったりして、CLI操作にも優しくない。そのうえ、ユーザーのディレクトリの配下にレジストリのファイルがあったりするので下手するとぶっ壊しそうで怖い。せっかくAppDataディレクトリあるのに。しかも、ファイルたくさん置くのにいろいろ使うシステムドライブから逃がしにくい。これもディスクにやさしくない。絶対俺様ホームディレクトリ作るよな。

こりゃ、大容量ストレージ構成作りにくかろうが、ワンメイクで殿様商売食らおうが、OSサポート期限などでTCO低かろうが意識高い系の人々がMacに走るわけだ。

というか、今回のこじんかいはつしゃのおしろ、入れてるのLinuxに行きつくんだよなぁ。

クラウドネイティブ開発ならWindowsである必要ないし。.NET系除けば実際に使われてる本物のLinuxだから環境の違いによる二度手間ないし。Firefoxある、Chromeある、MSにしては愛されているVisual Studio Codeある、あまり困ることなくね。実質OS2つということもないのでディスクにも優しい。

Windows 11動作要件きついから(安全装置という意味では理解できなくもないが)今のうちからデスクトップLinux、そしてその上でのクラウドネイティブ開発に慣れておくというのはありかと思う。というか、Linuxのほうがやりやすいのではないだろうか。

機械寿命的に第4世代Core相当あたりはきついだろうけどWindows 11で振り落とされる第6,7世代相当あたりはなんだかんだで生き残るかもしれないからなぁ。まあ、機器の管理とかしっかりしてるところではWindows 10終了前にちゃんとWindows 11になっているから問題ないだろうけど。

さてさて。