昨今流行りの機械学習でプロジェクトがぽこぽこ立ち上がっている状況なのだが、一部の人を除き、apt-getで躓いているのは会社にとって損失だと考え、オンプレクラウドのようなものを構築することにした。
グループ全体の規模はそこそこ大きいが、将来単なるアッセンブリー屋になることが目に見えている事もあり(今後20年以内には喰われてしまうという憶測もあり)ネットワーク、Linux、コンテナ、プログラミングが出来る自分が社内の機械学習、引いてはITインフラの民主化、なんだったら外販できるくらいのもの作ってやろうと鼻息巻いて無理やり一人プロジェクトを興すことにした。
まずは既存DHCPサーバ、名前解決ができないDNSサーバからゲートウェイPCを用いてネットワーク的に分離、社内の物理的な設置スペースの問題でデスクトップPCとサーバPCが離れた所にあるため、WireGuardでVPN構築、ゲートウェイPCはそれぞれKea DHCPサーバ、PowerDNSサーバを稼働させ、OpenStack導入検討時に悩んだ鶏が先か卵か先か問題を解決することにした。
上述の通り、システム構築にあたってOpenStackやMAAS,RancherOSなどを検討したが、社内のニーズを「100%」汲みとった上で、次世代のオンプレクラウド(個人的にはエッジクラスタがゆるく繋がるアメーバクラウド?のような呼称があっている気がするが)を構築するにはどれも痛し痒しで何かしら制限がついて回るのは許容できなかった。これは今後5年、特に海外事業所の開発者の事を考えた時には外せない要件だった。
とはいえmiekg/dnsを用いてCoreDNS進化版を作るにはリソースが足りず、BINDを用いるにはSA対応がしんどすぎるため、APIを備えており、今後も進化が見込めるであろうOSS、また必要であれば商用製品や保守サービスが受けられる事から上記2つを選択した。
PowerDNSはさておき、ISC KeaはナウでYANGなLinux YANGに対応しようとしているなど(言いたかっただけ)、世の中のオンプレ環境を塗り替えるためには兎にも角にもAPIゲートウェイが重要だと考えたため、双方が提供しているAPIをうまく吸収するミドルウェア(とちょっとしたAPIサーバ)をGo言語で作成した。
次に世の中のパブリッククラウドやOpenStackなどを触ったことのある開発者はCloud-initに慣れているはずという前提の元、対応コスト勘案の結果、NoCloudで対応しつつ、上記のAPIサーバと連携し、ベアメタルマシン管理した事のある人はわかる、ベアメタルマシン特有の諸問題を解決することにした。
まぁなんだかんだ大企業なのでお金で解決する手段もあるが、そもそも高集積ラック搭載GPUサーバ購入の稟議が通るような会社だったら既にKubernetes導入しているだろうし、俺もこんなことしてない。
脱線したが、上記以外にも検証やバックアッププランとしてAnsible記述などの作業はありつつも、3ヶ月かけてようやく基礎となるインフラ基盤が構築できたため、nuxt.js+goで簡単なフロントエンドサーバを構築し、一人情シスの様相を呈している部下のリソース開放、Calico対応+Kubernetes導入、不安がっている上席が安心できるように、分かりやすい餅を用意しようとしている、というのが現状。
ここまで寝る時間も惜しんでトップスピードを維持したまま頑張ってきたものの、少し限界を感じている。
特にオンプレクラウドは部外者が中々見えてこないものがあり、なんならその見えないものを限界まで吸収できるように、かつ現実的に実現可能なギリギリのラインを狙っているのだが、そもそも周りに相談しようとしても何を言っているのか解説する所から始めないといけない。
覚悟はしていたが、ふとした時にとてつもない脱力感に襲われてしまう。
世の中を切り開いてきた諸氏はおそらく一度はぶつかったであろう、この内なる自分の壁をどのように突破してきたのだろうか?
こんなん作って結局使われなかったら悲しいやろうな・・・
ようわからんけどDockerじゃだめなの?
知らんけど、環境入れた状態のスナップショット一個取って要員ごとにインスタンス作ればいいだけの問題に何やっとるんかって気がする。 昔の人も言ってたぞ。「チキンをバラすのに...
機械学習だけではなくて、ITインフラ全体を見直すべきだと思ったんだよね あんまバズワード出すべきじゃなかったな。正直すまんかった
何に困ってるのか理解できなかった
新しいことをはじめようとしたら一人で勝手にしんどくなってるだけですよーという話です
一人でも同じくらいスキルがある仲間がいれば心の支えになっていいんだけどね 仲間がいないとつらいし、気持ち的には自分のスキルを磨くことに重点置いた方がいいんじゃないかな
ありがとうございます。ちょっと泣きそうでした。 明日からもがんばります