自治体クラウドってどうすりゃいいんだろうねえ

この間、自治体クラウドについていろいろ考えてしまったので、思うところをつらつら書いてみる。
クラウドの論点は、いろんなところでズレやすい感じになっているが、HaaS(IaaS)やPaaS、SaaSがごちゃ混ぜになったり、パブリッククラウドとプライベートクラウドの区別なく語られるケースも多くて、議論が散漫になるよね。。。
 
 
自治体クラウドを導入すると、何が良いんだろう?
 
今「自治体クラウド」として多く語られていて、長崎県などが導入実験しているのは、自治体がクラウドサービスを構築する「プライベートクラウド」。この場合、よく言われる「データがどこにあるかわからない」「誰がどう管理しているのかわからない」というような、クラウドでよく問題視されるようなセキュリティやガバナンスの問題は、だいぶ小さくなる。何せ、今まで通り、システム基盤やデータは、クラウド構築者(自治体)が保持することになるのだから。
 
プライベートクラウドを構築して、いろんな自治体に共同利用してもらうことで、固定費に対するスケールメリットを出したり、業務の標準化による効率化を行おう、というのが狙い。あと、市民サービスの均質化もあるかも。
 
Weekly Memo:動き出した自治体クラウド市場 (1/2) – ITmedia エンタープライズ
 
 
財政に余裕がないんだ。税金だし有効に使わなきゃいけない。クラウドってそういうのに役立つの?
 
役立つはず。上記の通り、利用側は利用料を支払う代わりに、システム構築費や運用費は不要になる。安めのPCとブラウザさえあれば、業務は済んでしまうかもしれない。ただし、規模の小さい自治体は、注意が必要になる。都道府県CIOフォーラムでも言われているが、現在の目安では10万人規模はないと、コストメリットが出しづらいようだ。今の現状から見ると、長崎県の事例のように、広域自治体が構築して、基礎自治体や他県に共同利用を求めるのが、バランスとしては良い気がする。
 
ハードウェアやOSなど、持っている資産を最小化することが目的なら、いきなり自治体クラウドを考えるんじゃなくて、民間のクラウドサービスを利用したり、仮想化でハードウェアリソースを集約するような動きから検討するのも良い。何十とシステムを保持している自治体なら、一定の効果は出せるかもしれない。
 
 
どうすれば自治体クラウドは実現できるの?
 
ハードルはいろいろ有る気がする。まずは、複数の自治体が方向性をひとつにすること。自治体クラウドは、誰かが構築して、それを利用する複数の誰かが必要になる。つまり、需要と供給がちゃんとそろわないと、成立しないことになる。「僕が作ります」とか「あなたが作ってくれたら、ちゃんと利用します」という流れが、自治体間で形成されることがスタートになる。
 
次に大きなハードルに思えるのは、業務の標準化。自治体の業務なんて、だいたい一緒でしょ?みたいなイメージがあるが、どうやらそうではないらしい。どこにでもある、財務系の業務をとっても、各自治体のこれまでの慣習や担当者の属性によって、微妙な違いがあるそうだ。こういう小さな差異が、システムを使用する上では結構支障になる。大小あるだろうけれど、日ごろの業務が変わることによる混乱や抵抗に対して、それを擦り合わせる調整コストを無視することはできない。これをどうクリアするかも、大きな課題だろう。
 
 
とりあえずこんなもんかなあ。

あわせてどうぞ。

 

漫画本を大人買いするなら、ブックオフオンラインが便利だと思う

最近、ジョジョの奇妙な冒険(文庫版)を、ブックオフオンラインで大人買いしました。45冊。
 
 
文庫版は全部で50冊なんだけど、最初の5巻だけ買ってしまっていたので、残り45冊をまとめ買い。こういう、途中まで買ってしまったコミックの続きをまとめて買いたいときって、ブックオフオンラインが一番便利だね、という話。
 

ここが便利①中古本を買える

新品全巻とかならどこでも買えるわけですよ。でも、中古全巻ってなかなか揃ってないし、中古本屋を回ったりしなきゃいけない。そういう手間がないのが良い。ちなみに、中古本の在庫がない場合は、新刊を補完して販売してくれる。こういうのもポイント高い。
 
中古本のおかげで、今回の購入は安くあがりました。45冊で2万円を切った。定価よりは5000円ぐらいは安く買えたんじゃなかろうか。
 

ここが便利②まとめ買いする巻数を選べる

大人買い.jpとかあるけど、ここは全巻買うのが前提なんだよね。それはそれで便利かもしれないけど、途中まで買ってしまった場合はアウト。二重で買うことを受け入れるか、1冊ずつ買うか。でもブックオフオンラインなら、全巻の中から、既に持ってるものは除外できる。だから、今回のジョジョ購入も、全50巻から最初の5冊だけ除外して購入。
 
 
あとは、1500円以上の注文なら配送料無料とか、アマゾンと余り変わらない感じ。初めて利用してみたけど、思いのほか良い買い物ができた。これで自分もスタンド使いになれるかな。。。。

【書評】アジャイルと規律

最近、日経コンピュータとか読んでも、時々「アジャイル」という言葉を目にする。数年前に流行ったと思っていたが、着実に現場にアジャイルは浸透されたりしてるんだろうか。システム運用なんかにも適用できないかと思い、興味本位で読んでみた。いろいろ考えたことを書く。
 
 
俊敏と規律のバランスを考える
 
本書の中では、システム開発の進め方を、アジャイルと計画駆動という大きく2つに分類し比較することで、アジャイルの特徴を述べている。この本を読んで思ったのは、どこまで規律を求めるか、ということ。何でもかんでも文書化して指標とって、コントロールすれば良いという訳ではない。チームの規模やシステムの複雑性、メンバの能力などに応じて、必要な規律の度合いは異なるでしょう、ということ。フットワークを重視すると、変化に柔軟に対応できるが、その分コントロールが行き届かず、責任も不明確になり易い。
 
どこまで文書化したり指標をとったりするかは、それぞれの状況によって適切な度合いがあるはず。それを常に考えることが必要。余りに規律を厳しくすると、作業が非効率になったり、無駄な作業を生んだりする。基本的には、手戻りや無駄な作業が多く発生しているポイントは、規律を強化した方が良い。
 
 
顧客をどのように巻き込むか
 
アジャイルでは、顧客の知識度合いや距離感を非常に重要視しているが、これはどの手法であってもどのシステムであっても重要であることには変りない。本書の中では、「CRACK」と表現していたが、その通り、
 
協力的(Collaborative)で、顧客の意思をきちんと代表しており(Representative)、権限を持ち(Authoraized)、献身的で(Committed)、知識のある(Knowledgeable)人
 
であることが重要なのだ。システム開発や運用の円滑な進捗は、カウンターパート(ユーザ側の窓口)がいかにCRACKであるかが、大きな割合を占めると思っている。ユーザ側の窓口を選ぶことはなかなか難しいけど、顧客の要求仕様のブレが手戻りを招いたり、ちゃんとテストして品質を上げてリリースすることが、リリース後のシステム運用の効率化に寄与することを教えないといけないと思う。
 
例えば窓口担当者が、現場からうまく要求を吸い上げられないときは、一緒にヒアリングについていったり、情報を整理してあげたり、漠然としたヒアリングではなく選択肢を作ってあげたり、できることはいろいろある。
 
顧客には顧客の論理がある。ベンダにはベンダの論理がある。これをお互いが理解して、協力的になることが必要なのだ。改めて思った。
 
 
システム運用にアジャイルってどうなの
 
結論からすると、余り向かないと思われる。アジャイルの特徴は、小規模で変化を重視するタイプであり、メンバの暗黙知を活用することを前提としている。しかし、システム運用では、既に稼働しているシステムに対して大きく変更が加わることは稀であり、システムの安定稼働が最優先とされる。つまり、品質と速さをバーターの関係で考えた場合に、品質が重要視される。
 
ただ、全く活かされない訳でもないと思う。システム運用でも、短いタームでクイックに結果を出して、システムが改善され業務が改善される実感を作ることは望ましい。だから、極力小さめで、業務にインパクトが大きいものを優先してリリースしていく運用スキームを顧客と作り上げるのが良いんじゃないだろうか。
 
あと、アジャイルで特徴的なペアプログラミングなども、ナレッジの継承としては有効かも、と思う。システム運用は数年単位で行われるし、その間に人は入れ替わる。いつでも知識の継承は課題になるから。特に、ソースに関する知識は、直接目に見えない部分も多いため、属人的な知識になりやすい。

大容量コピーをするとき便利なフリーソフト「FastCopy」

ファイルサーバのバックアップとか、大容量フォルダの移動とか、HDDフルバックアップとか、そういう大きいファイルを扱うときに便利なフリーソフト。忘れないようにメモ。

FastCopy

<a href="http://keep-out.net/screen/file-s/fastcopy_1.png"><img border="0" src="http://keep-out.net/screen/file-s/fastcopy_1_mid.png" /></a>&nbsp;

コピー先のファイルの更新有無などをチェックしてくれるので、差分更新も可能。コピー元を読み込みながら、コピー先の書き込みを並行して行ってくれるので、Windows標準のコピー&ペーストよりは明らかに早い。ソフトを使用している間も、他のアプリは重くなるような感覚はなかった。<br />
&nbsp;<br />
設定を記憶することもできるので、定期的にバックアップ等を行う場合は、毎回指定しなくても便利。スケジュール実行とかできないのかな?勝手に実行してくれるようになると、忘れず確実に実行できるのに。<br />
&nbsp;<br />
&nbsp;<br />
使用しててわかりづらかったのは、コピー先のディレクトリ指定のときに、「&yen;」の有無でコピーの仕方が変わること。「&yen;」が最後にあると、コピー元のディレクトリごとバックアップして、コピー先の「&yen;」以下のところにコピーする。「&yen;」がないと、コピー元のディレクトリの下をコピーして、「&yen;」以下のところにコピーする。<br />
&nbsp;

今後のITシステムは、内製化かフルアウトソーシングのどちらかしかないんじゃないだろうか

たまにはIT屋らしく。岐阜で開催してる勉強会で議論しながら思ったので、整理するために書く。

 

内製化できる企業が強い

システムの内製化は、去年は何かと話題に上がった気がする。内製化のメリットは多い。

  • 変化に迅速に対応できる

ITベンダに外注する場合、状況が変われば「仕様変更」扱いで、文書作成して手続きを行う。場合によっては、追加料金。これでは、依頼主も変更する気力が失せる。その後、ベンダの提示したスケジュールをウォーターフォールで行って、ユーザテストして、リリース。これでは時間がかかってしょうがない。

  • ITベンダの不透明な金額に付き合わなくて済む

人月とか、管理工数とか、正直どこまで妥当かわからないよね。ベンダが提示してきた価格の正当性を突き詰めるよりは、自分たちで作っちゃう方が、はるかにすっきりする。不当に高い金額を払っているのに、それを評価することもできない現状は問題。

  • コミュニケーション工数を抑制できる

業務分析などを行うことで、業務が標準化されることにはメリットがあるが、何かを変えたり調べたりするために、ベンダにいろいろ伝えるのは面倒だ。これがずっと継続されると、コミュニケーション工数は膨大になると思われる。これでは、ミスコミュニケーションが発生したり、伝達行為そのもので労力を多くかけてしまっているんじゃないだろうか。

 

内製化をナビゲートする企業やコンサルタントが儲かったりして

少し前に、沖縄県の浦添市が内製化に踏み切ったニュースが流れた。
沖縄・浦添市の内製回帰事例から学べること – GoTheDistance

これを読んで思ったんだけど、こういうパターンって今後増えてもおかしくないし、その方が嬉しい、と思ったりする。そうすると、内製化をナビゲートすることを「売り」にした企業やコンサルタントが出現したりして。

既存のシステムを自分たちで引きとって運用していくために、アドバイザーや初期の立ち上がり補助として参画する。で、うまくノウハウを伝えて独り立ちしたら終わり。とか、必要なときだけサポートを受けますよ、とか。内製化で減らした運用コストの何%かを出来高フィーとして受け取る、なんてことまでできるとすごいな。まあ、妄想だけど。

 

中途半端なアウトソーシングではなくフルアウトソーシング

本業と関係ないところは、業務ごとフルアウトソーシングしてしまえばいいんじゃないだろうか。そうすれば、システム資産を抱えなくてもいいし、料金体系もわかりやすい。中途半端にシステムを作ったり、ベンダを介入させると、両者にあまり良いインセンティブが働かない気が最近はする。

クラウドは、どこまで本格的に普及するかはわからないけど、本業は内製化で注力した方が良いと思うし、大切じゃないところはフルアウトソーシングが良いと思うので、そう考えると、クラウドは「急いで必要だけど、期間限定」みたいな場合がメインな使われ方になるんじゃなかろうか。違うかな。ここらへんは正確には読みきれないのが正直なところ。

 

とりあえず個人的には、変化に強いシステムにするには、内製化が重要だと思う。ITベンダはビジネスモデルを変えながら、生き残れるだろうか。

Google App Engineを始めてみる

ふと思い立って、Google App Engine for Javaを始めてみる。Javaのプログラミングなんて、久々だ。立ち上がりで、結構いろいろつまづいたので、整理しておく。

まずは、Eclipseをダウンロード

Javaの場合は、GoogleがEclipseのプラグインを用意しているので、Eclipseを使って開発するのが楽だろう。自分の環境はMacなので、Mac版をダウンロード。このとき注意しなきゃいけないのは、Ganymedeでないとダメだってこと。それ以外のEclipseをダウンロードすると、プラグイン導入時にエラーが出て失敗する。

 

EclipseにGoogle App Engineのプラグインをインストール
英語版前提で。「Help」メニューの「Software Update」から、Google Pluginを探し出してインストールする。細かい手順は、次のサイトを見ればOK。
MacにGoogle App Engine for Javaをインストールした時のメモ – 散文抄に散る

あとはチュートリアルに従って、GuestbookというサンプルのWebアプリケーションを作ってみれば良い。結構丁寧に書いてある。

最初は警告エラーとかでて、Hello Worldにすらたどり着けなかったので、Javaのバージョンとか、ディレクトリパスとか結構調べていじってみた。結論としては、GAEのSDKのディレクトリ名が変だったからなんだけど。
ちなみに、Javaのバージョンは5でも6でもいけるらしい。あまり気にせず、バージョン5で実行中。今後のことも考えて、6に変更しようかな。。。。

 

Google App Engine for Java [実践]クラウドシステム構築 (WEB+DB PRESS plus) (WEB+DB PRESSプラスシリーズ) (WEB+DB PRESS plusシリーズ)Google App Engine for Java [実践]クラウドシステム構築 (WEB+DB PRESS plus) (WEB+DB PRESSプラスシリーズ) (WEB+DB PRESS plusシリーズ)

技術評論社 2009-09-10
売り上げランキング : 7063

Amazonで詳しく見る by G-Tools

ソフトウェア開発はなぜ難しいのか

ソフトウェア開発の根源的な難しさを考察した一冊。なんというか、これを読んだからといってソフトウェア開発の問題が解決する訳でもないのだけれど。ただ、なぜ難しいのか、だったりなんでデスマが発生するのか、ということについては、理解が深まると思う。前提を知っておけば、少しは対処できるだろうし。
 
というわけで、気になったことを書き留めておく。
 
 
自分のプロジェクトの開発規模はCOCOMOで検証する
 
COCOMOの統計で、ちゃんと経験則が公式化されていることを知っておくのが良いかと。自分がいるプロジェクトの開発規模が、人日計算やFP計算と突き合わせたとき、大体合っているかは、比較しておいて損はない。
 
あと、開発規模が大きくなればなるほど、開発するための調整コストが飛躍的に伸びることに注意すること。当然といえば当然なんだけど、感覚的に見積もる場合は、こういう調整コストって、ほとんど計算に入れられてない場合もよくあるので。
 
もう少し、COCOMOをちゃんと勉強しようと思った。
 
 
仕様の変更にいかに柔軟に対応するか
 
本の中では、仕様確定が統計的に開発のどのタイミングで多く発生するかのグラフがあった。主に、開始から30%~40%ぐらい進捗したあたりが、最も仕様確定が大きい。つまり、最初から仕様を確定するということが、いかに困難であるか、ということだ。身にしみてわかっているはずなのに、いつまでもウォーターフォールの幻想から抜け出せない。
 
ただ、ウォーターフォールは誰でも理解しやすく、契約上も区切りを設けやすい。そういう中で、どういう仕様の吸収の仕方をすれば、柔軟に対応できるんだろうか。本書ではアジャイルをひとつの可能性として謳っている。もう少しアジャイルとか勉強してみよう。こういう本を読んで。
 

アジャイルと規律 ~ソフトウエア開発を成功させる2つの鍵のバランス~
バリー・ベーム リチャード・ターナー ウルシステムズ株式会社 河野 正幸 原 幹 越智 典子
日経BP社
売り上げランキング: 186553

 

 
万能な答えはない、根源的な問いがあるだけ
 
この本は、最終的な答えはもやもやしたまま終わる。これまでのソフトウェア開発の経緯とか、よく陥りそうな罠などは順序立てて説明してあるので、わかりやすかった。あまりちゃんと勉強したことない人向けかな。モデル駆動開発とか、ソフトウェアクリーンルーム手法とか、知らない単語が出てくれば、そこから知識を広げるのも面白いと思う。
 
個人的にはいろいろ勉強のきっかけになる一冊だった。


あわせてどうぞ。

Gmailを等幅フォントに変更するGreasemonkeyスクリプト

情報技術者の勉強のため、「宿題メール」を毎日読んでいる。(たまに疲れているときは回答できてないけど。。。)

宿題メール詳細

で、問題の記載の中で、NAND図などの図形がよく出てくるんだけど、Gmailのデフォルト設定だとレイアウトが崩れるんだよね。
 
これを解消するために、等幅フォントにできないかと調べたら、やはり同じことを考える人はいるもんだ。FirefoxのGreasemonkeyスクリプトで実現してる人がいたので、ありがたく使わせてもらいました。見事に等幅フォントになりましたよ。素晴らしい。
 
Gmailを固定ピッチの等幅フォント(MonoSpace)で表示する方法(2009年03月版) [C!]

 

MTSファイルをMP4に変換する方法

この間、LUMIX GF1のハイビジョンムービーがMTSファイルになっていて、PCでは扱いづらいと書いたけど、どうしてもMTSファイルを何とかしなきゃいけない場合が生じたので、PCでは何かと扱いやすいMP4に変換する方法を調べた。備忘のため書いておく。Windows限定。

Any Video Converter シリーズ — 動画変換、DVD変換、YouTube動画とニコニコ動画をダウンロード・変換
Any Video Converter シリーズ -- 動画変換、DVD変換、YouTube動画とニコニコ動画をダウンロード・変換

このフリーソフトで、簡単にMTSファイルをMP4に変換できた。変換にもさほど時間はかからず。ただ、最初試したときは、動画と音声のずれがひどかった。音声は正常な感じだったけれど、動画がコマ送りみたいに遅くなってしまった。
 
これを解消する方法を調べて試したところ、解消しましたよ。動画と音声がぴったり一致した。
Any Video Converter Free/Pro/Gold のよくある質問

実際に行ったのは、以下の3つ。

# ソフトの右パネルの「オーディオオプション」で「A/V同期」を「Default」に設定してください。
# 「Default」に設定してもズレのある場合は、メニューの「編集」の「オプション」の「Video」タブを選択して、「Defaultの調節値」を最大値に移動してから再度変換してください。
# 動画コーデックを変更して試してください。

動画コーデックは、MP4ファイルへの変換なので「MPEG4」にしてみた。
 
 
ちなみに、変換方法を調べる過程で、「RipBot264」というのも見つけた。試してみたけど、1回の変換にすごい時間がかかるし、動画と音声のずれが解消できなかったので、これを使うのは諦めた。

デジタル一眼ムービー完全攻略 (玄光社MOOK)
デジタル一眼ムービー完全攻略 (玄光社MOOK)

posted with amazlet at 10.04.20
玄光社
売り上げランキング: 128163

 

Flickrの写真を一括ダウンロードするMacアプリ

Flickrで写真を管理するようになって、時々写真を誰かにあげるためにダウンロードするようになった。ひとつひとつの写真はダウンロードできるけど、複数枚になると、面倒くさい。というわけで、一括でダウンロードできるMacアプリを探してみた。見つかったのは2つ。

 

①Photo Grabbr

ユーザ名を指定して、セットをチェックするとそのセットの写真を一括でダウンロードできる。ダウンロード時間は結構早い。「Preferenses」で、ダウンロードサイズを「Original」に設定しておくと、オリジナルサイズの写真をダウンロードできる。

flickrから画像をまとめてダウンロードする『Photo Grabbr』 | Macの手書き説明書

ただし、ユーザ認証などはないため、ダウンロード対象は公開されており、かつライセンスが提供されているものに限られる。なので、自分のプライベート設定の写真などはダウンロードできない。

 

②Fotobounce

こちらはユーザ認証があり、自分のプライベート設定の写真もダウンロードできる。ただ、あまり処理速度が速くないので、枚数によっては時間がかかるかも。


FacebookやFlickrの画像をワンクリックでダウンロードできる『Fotobouce』 : ライフハッカー[日本版], 仕事も生活も上手くこなすライフハック情報満載のブログ・メディア

このアプリは、顔認識機能やFacebookの写真の管理、アップロード機能など、ダウンロード以外にもいろいろな機能を備えている。