ソフトウェア開発」カテゴリーアーカイブ

Mac?

MacBook Air 11インチ欲しい!

冒頭から何を言い出すんだと言われるとちょっと困るんだが、”はてな”がキャンペーンでブログを書けば抽選でMacが当たると言うので書いてみることにする。

WindowsとMacと私のこれまで

大学時代は、個人ではWindowsPCを持っていたのだがサークルで所持していたのがMacだったので、実際にはMacのほうが使用量は多かった。
ただ、研究室のPCはMacではなくWindowsPCだったので大学4年以降はほぼWindowsということになる。会社でももちろん大多数の人がそうであるように、Windowsだ。
実際問題、職場で使うPCに関して言えばよほどの働きかけがない限り自分でOSを決めることは難しいと思う。ただ、個人で持つPCに関して言えばそんな制約は実際のところないはずだ。にもかかわらず、家のPCもWindowsPCを使っている。

Windowsを使う理由

日常的にWindowsを使う利点は、細かい設定や機能を実際に自分が使うことで知るようにしているからだ。仕事でももちろん使っているのだけど、お客様からソフトウェアと直接的には関係ない質問を受けたりもする。お客様からしてみたら「プロなんだからちょこっと教えてよ」的な軽いノリなんだけど、ときとしてこれは答えに詰まる場面がある。
自分で日常的に使っていると、自分にとっての不便な点は調べてなんとかしようとするので、その”救える幅”を広げることができる。
もちろん、そんなことはまれなうえに万人に言える話ではないのであくまで私としてはだ。
ただ、お客様に限らず友人や親類に至るまで使っているPCが圧倒的にWindowsが多い以上、そこに対する知識を持っていることは役に立つ確率は高い。
だからこそ、知ってる人が少ないMacをやっていればより役に立つよ!って話はもちろんあって、もっともだと思うんだけど、別にそれを生業にしているわけでもないしね。。。

Macに興味が出てきた?

正直言ってMacには興味がなかった。
性能だとか使い勝手に関してはそれほど気にしてなかったんだけど、「Mac素晴らしい。まだWindows使ってるの?」みたいに見下したような言い方をする人がチラホラ見えたことが原因。
少数派に見られがちな少数派カッコいい的な話にうんざりしてしまった面が強いともいえる。まぁそれらは人の問題であってMacの問題ではない。やはり、Macを使わなきゃいけない場面がなかったというのが大きいのかな。

ところが、それはそれとしても興味が出てきたのはやっぱりiPhoneの影響だ。
もちろんiPhoneはWindowsPCとも連携できるのだけど、Macとであればもう少し色々できるのではないか?と思ってしまう面もある。これは想像。
単純に長年Macを離れていることもあるので、今どうなっているんだ?って言うのもある。
でもまぁ、やっぱり一番気になっているのはiPhoneアプリ開発じゃないかな?iPhoneアプリってMacじゃないと開発できないんだよね、基本的には。正直そういう戦略を取るのってどうよって気がしないでもないが、まぁそれはそれだろう。
実際に開発している時間なんてあるのか?と言われればなかなか答えに窮するところはあるが、それでもやってみたいものはやってみたいものだよね。

ってわけでください(笑)

仮想化への道

今月の日経SYSTEMSに富士フィルムで行われた基幹システムの仮想化に対する取り組みが紹介されていた。

仮想化そのものは大変有用で、私も検証環境や社内での客先環境を模すのに良く使用している。実機を使用しなくてよいというこの利点にはかなり恩恵を受けている。なかったらと思うとちょっと怖いくらいだ。
ただ、富士フィルムの例でみられるように実際の基幹システムに仮想化を取り入れるには実のところ、未だに多くの問題を抱えている。
私が感じる一番の問題は、アプリケーションのサポートだと考えている。これは私自身がアプリケーションを作成するベンダーの立場であり利用する立場でもあるからだとは思う。

アプリケーションのサポート

私が仕事で主に使用しているデータベースはOracleなのだが、Oracleは仮想化上での動作をOracleVM以外ではサポートしていない。実際のところ、VMWareやVirtualPC。Hyper-Vでも動いてはいるのだけど、障害時を考えると少し怖いものだ。Oracleも決してバグの少ない製品とはいえない事はこれまでも身をもって知っているし。
いくつかのアプリケーションベンダーの仮想化に対する対応はマチマチ。いくつか細かい違いはあるようだけど

  1. 物理環境で再現出来たらサポートします
  2. 仮想環境が原因だったらサポートしません

という2種類が多いように思える。字面の問題のように見えるが、前者はユーザー側で確認をするのに対して後者はベンダー側で確認をするというスタイルだ。
比較的容易にインストールさせる事が可能なソフトウェアであれば前者で問題ないだろうが、大規模なシステムであった場合にはそもそもインストールが困難なので後者が選ばれると思う。ただ、ここで問題になるのがベンダー側の対応。サポートの仕方はベンダーで異なるだろうが、おおむね

  1. 現象の再現確認
  2. 再現結果からの調査・修正等の対応
  3. アナウンス

のような流れになると思う。ここで問題になるのが、ベンダー側の環境で再現しなかった場合にそれが”本当に仮想化が原因”かどうかの判断をどうつけるのかではないだろうか。実際のところ、物理環境であっても現象によっては必ず再現するとは限らなく、いくつか複数の要因が重なって初めて発現する問題もある。また、仮想化が原因であるというのであれば、ベンダー側で仮想化環境を構築して検証を行う必要が出てくる。
となると、ベンダー側はユーザー側が使用している仮想化ソフトに対しての知識や、環境を用意しておく必要が出てくる事になってしまう。サポート部隊の涙目が見えてきそうな話だ。おそらく、そもそもの仮想化ソフトを限定しているのかもしれないが…。実際のところ、どうなのだろうか。気になるところだ。

ちなみにWindowsは以下の仮想化環境でサポートをしているようだ

  1. Cisco WAAS Virtual Blades 4.1
  2. Citrix XenServer 5 Embedded Edition
  3. SUSE Linux Enterprise Server 10 SP2
  4. VMWare ESX 3.5 Update 2
  5. VMWare ESX 3.5 Update 3
  6. VMWare ESXi 3.5 Update 3
  7. Xen Server 5

http://www.windowsservercatalog.com/svvp.aspx?svvppage=svvpsupport.htm

上記一覧にOracleVMがまだ入ってない事を考えるとWindows+Oracleの環境で公式のサポートを得る事は難しいという事か。いずれにしても、綱渡りである事に変わりはない。

<2009.03.07追記>
コメントに情報をいただいていますが、OracleはWindows,Linux以外の環境ではサポートを表明しているようです。
http://www.oracle.com/technology/products/database/clustering/certify/db_virtualization_support.pdf
HP-UXやAIXは正直私は触ったことがないです。Solarisくらいかな・・・。Oracleの利用目的から考えるとこれらを選択肢に入れるのはいいかもしれませんね。私はその前にこれらOSの知識を手に入れないと不安でしょうがないですが…。
でも、たとえばHPのnParそのものはWindowsやLinuxもサポートしているのになぜHP-UXのみに限定しているのか。そしてOracleVMではそのWindowsやLinuxをサポートしているのか。
このあたりは企業戦略が見え隠れしているような気がしなくもないですねぇ。純粋に信用していないだけなのかもしれませんが。

ではどうするのか

さて、困った。どうしたものか。
仮想化環境を提供しているベンダー。VMWareやMicrosoft。Oracleもまたそうなのだが、これらの中でどこかが明確な方針を出してくれれば少しは動きやすいとは思うのだけれど、現在のところ主だった動きはないように思う。サポートの手厚さでは24時間サポートを打ち出しているOracleVMが手厚そうと言えば手厚そうだ。
シェアで言うと先行していたVMWareが大きいのではないかと思う。
いずれにしてもベンダーがいくつかのアプリケーションベンダーを巻き込んでサポート体制の新しい枠組みを作っていかなければいけないのではないかと考えている。望むならば申し出のあったアプリケーションベンダーに対して仮想化環境を提供。検証するための枠組みを作っていって欲しいと考えている。
もちろん、星の数ほどあるアプリケーションベンダーそれぞれに対してそのような事が可能かどうかというと、無理があるのかもしれない。かといって仮想化に対するユーザーのニーズというものはこれからも増え続けて行くわけで何かしらの対応をとっていかなければいけないだろう。

SilverLight Songs

いつもどおりネットを徘徊していたら、こんな記事を見つけた

Silverlight – The Song
http://weblogs.asp.net/dwahlin/archive/2008/04/27/silverlight-the-song.aspx

Silverlight開発チームを混ぜての作品。ちょっとした「New Relase」だ。ちゃんとプレーヤーもSilverlightですね。

正直少しうらやましいと思った。実際の開発現場がどうであるかはわからないが、これくらいの遊び心を上が持っているというのはそれだけ下のモチベーションも上がるかもしれない。。。(って、それはどういう人によるのかもしれないが)。何にせよ、開発の現場は明るいに越したことはない。どーんよりとした雰囲気の中で開発を行うよりは厳しくとも明るい雰囲気の中で開発を行うほうが効率は上がるし、変に精神的なトラブルを抱え込んで会社に出てこなくなる奴が減ると思う。

もちろん、マネージメントの立場から言うと「納期や品質を守ってこそ」のものである事は確かなのだが。会社対会社。社内の人間関係。様々な問題はあるけれど、開発者にとって何ができるのか。どうなりたいのか。考えていかないとね。