<<この記事は[「NIFTY Cloud Advent Calendar 2015」](http://qiita.com/advent-calendar/2015/niftycloud)の24日目の記事です>>
この記事は、ニフティクラウドという比較的大き目のサービスが形作られるにあたって、リリースまでにどのようなことがあり、どうやって解決したりしなかったりしてニフティクラウドというサービスを作っていったのかを記載してみました。
コードの話でなくて申し訳ないのですが、ご笑覧ください。
読んでも技術力は上がりません。個人的に思ったこと、行動したことが書いてあるのですが、他の場所で利用できない、参考にならないです。
# 変えていくことの連続
##前職
私がニフティに入社したのは2009年の1月になります。それまではSIerにいて、大手化学メーカーのsystemを山程運用管理していました。
仕事の中身は今で言うインフラエンジニア、のようなものだったかと思いますが、かなりのインフラより、データセンターやラックの電力供給量を心配したり、入館申請が出ていないことに一喜一憂してみたり、ラッキング、OS、ミドルウェアインストール設定、バックアップリストア試験、引き渡し、ドキュメント管理といった仕事を淡々と2週間、ハードウェアの調達から考えれば2ヶ月程度かけてやっているような感じでした。
##転機
転機というか、なんというかいまだと当たり前と思われている、仮想化技術(VMware)との出会いがいろいろなことを変えていった気がします。
当時としては比較的先進的案取り組みであったようで事例(まだ残っている!写真の顔が変w)や講演などもさせていただきました。
この仮想化技術に出会ってはじめに思ったことは、「あ、俺要らないな」 です。
IaaSにおける仮想化の一番の良さ(当時)は、実際のリソースと提供するもののライフサイクルを切り離し個別に管理できることだったとおもいますが、私的には構築した環境を複製できるという一点に非常に惹かれました。
なぜなら前職で一生懸命やっていた、物理層の調整からアプリチームへの引き渡しまでのおおよそ2週間が、右クリック一発に入っていたことが体験として得られたからです。
確かESX2.5からちょうど3.0になっていて、これを使って、山口の要らない世界をさくっと作ってみたのが前職での転機だったんだろうなと思いました。
##ニフティに入社して
ニフティに入社する前と後でギャップを感じたことがあります。
一つは技術力、一つは価値
入社するまではWEBの会社のEngineerって、みんなgoogleみたいな感じで働いていて、息を吸って吐くようにコードを書いて、みたいな人しかいないと思っていました。
※SIerの人たちそう思ってない?思ってないかな?思っているよね?思え!
実際には、タイミングの問題なのかもしれないのですが、自分でも出来ることが沢山あり、自分のやっていた事が圧倒的に通じるようなこともありました。たとえばLinuxを提供する時一つ一つ手作業でやっていたっていうことだってあったかもしれませんよ?
また、SIerの時常識だと思っていたことが、ISP(ニフティさんはISPなんだぜ?)の常識とは大きく異なり、常識が違う人達の中ちょいちょい議論を巻き起こしました。
たとえば冗長化の時にActive-Standbyにするか、Active-Activeにするかとかってsystem毎に決めて当然っていう人もいるでしょうけど、企業風土としてActive-Standbyが正義で常識っていうところでそういうのを入れるのは、かなり苦労しました。
##ニフティクラウドの種
入社してしばらくは、社内のことを諸々学びつつLinuxの自動構築の仕組みを作りました。
少し前まで動いていたと思うのですが、”YesWeCan.sh ”というLinux初期化ツールです。
このshellとVMwareのAPIを組み合わせたWEB画面によって、社内への仮想マシン提供が圧倒的に効率化したのがニフティクラウドの種だったんだろうなと思います。
##構築に向けて
私とお会いしたことがある方には、お話したことがあるかもしれないのですが、ニフティクラウドの初期型は秋葉原で購入したPCServerが稼働していました。
たしか価格は数千万円分だったと記憶しています。
当時のニフティさんは、ベンダー謹製のPCServerを利用していたのですが、別会社から来た僕からするとあまりにも価格差がありすぎて、当時作っていたビジネスプランから全く乖離していたため、アキバで数千万円っていう形になりました。
ただ、こういうことすると偉い人たちからは、いろいろ言われて通らないですよね。
故障しやすいのではないか?既存ベンダーの方が性能がいいのではないか?ナドナド・・・
最終的には稟議が途中で止まりっぱなしになってしまったので、役員会議室の外で待ち受けお手洗いに行こうとした彼を捕まえて、「トイレに行きたくば稟議承認を!!」と迫ったのは良い思い出です。(その節は大変失礼いたしましたw、でもちゃんと説明しましたよ?したはず!!)
##構築中
ニフティクラウドがカットオーバーしたのは、2010年1月27日です。
その約2ヶ月前にはほぼ影も形もなかったんですよね。。。
なので作らなければいけない資料も含め、それはそれは尋常じゃないくらい残業をしていました。たしか残業しすぎて、一緒に構築していたメンバーと血走った目で社内をウロウロしていた時に担当の役員に発見されて「今すぐ帰れ!!」って言われた返しが「今が一番いいとこなんで邪魔しないでもらっていいですか?」っていうちょっとアレな人になっていました。
(※その節は大変失礼いたしました。)
ちなみに12月はデータセンターで構築だったのですが、確かかる~い気持ちでデータセンターに行ったら、全然調整不足で12月中に帰れたのは数日残業時間が通常の勤務時間に達するくらいやばかったです。。。
当時の上司が心配して来てくれたのですが、メモリ増設中に逆刺ししてくれたので「あとはやるんで休んでてください。って言ったのは良い思い出です。」(その節は大変失礼いたしました。その時にくれた凄汁で受けを狙って頂いたのですが、精神的な余裕がなさすぎて、失礼なもののいいようだった気がします。)
僕が家に帰ったのは、12月24日(ちょうど今日ですね。。)の夜でした。
そして、25日の始発でデータセンターへ!データセンターに残したメンバーに「頼む、クリスマスだけは帰らせてくれ」って言った気がします。
いきなり転職して、全然家に帰らず当時4歳だった長男の部屋に自転車をおいて、そのまま家を出てまた構築するという尋常じゃないですね。
僕が妻だったら離婚調停モノですね。。。
##書き散らかしてみて
なんだかわ~ってとりとめなく書いてみて、思ったんですが、自分のやりたいッて思ったことをちゃんとやっている時って、周りの人達に突っ走らせてもらっていたんだなぁってとても思います。
覚えているだけでも、やばいのが幾つかあるし、覚えていないの(ごめんなさい)も含めるとやまほどありそうです。
でも、こうだ!って思ったら、やれるだけやってみるのって楽しいと思うんです。
ダメかもとか、今まではこうだったとか、想定でメリット・デメリットを並べるっていうのもとても良いけど、まずはやってみたらこうなりました!っていうのも方法の一つです。
みんないろいろ出来るんだから、まずはやってみませんか?
回復不可能なものは困りますが、この世の中、本当に回復不可能なものなんてそうそうないし、結果が出た頃には何をもって回復っていうのかが微妙なものもたくさんありますよ!!
私が個人的にやりたいことは、
「エンジニアを幸せにしたい。」です。
ものづくりができる人が、ものづくり以外に割いている時間や労力を少しでも減らしたいと思っています。ニフティクラウドが少しでもそういう形になっていたらいいのですが、どうなんだろう。
最後になりましたが、これから色んなモノがネットに接続して、僕達の生活がより楽に楽しくなっていく世界がもうすぐ来るみたいです。
そういった世界で自分が何ができるか考えて楽しめる人、ぜひご連絡ください。