YAPC::Asia Tokyo 2013 ランチセッション

54

description

YAPC::Asia Tokyo 2013 のランチセッションで使った資料に、当日口頭で話した内容や、話そうと思って話せなかった内容を追加したものです。

Transcript of YAPC::Asia Tokyo 2013 ランチセッション

Page 1: YAPC::Asia Tokyo 2013 ランチセッション
Page 2: YAPC::Asia Tokyo 2013 ランチセッション

自己紹介

Page 3: YAPC::Asia Tokyo 2013 ランチセッション

佐々木と申します@ksasakims

Page 4: YAPC::Asia Tokyo 2013 ランチセッション

マイクロソフトの方から来ました

Page 5: YAPC::Asia Tokyo 2013 ランチセッション

担当領域

Page 6: YAPC::Asia Tokyo 2013 ランチセッション

仮想化(に手を貸そうか?)

Page 7: YAPC::Asia Tokyo 2013 ランチセッション

Hyper-V ってご存知ですか…

http://slidesha.re/18Qyzt9 http://slidesha.re/15kMnMg http://slidesha.re/1ahhfkj

http://slidesha.re/14yvbWn

Page 8: YAPC::Asia Tokyo 2013 ランチセッション

HPC(High Performance Computing)

Page 9: YAPC::Asia Tokyo 2013 ランチセッション

TSUBAME2 で TOP500 チャレンジもう3年前の話なのでアレですが…

YAPC::Asia Tokyo 2010 は東工大で開催されたそうですね! (http://yapcasia.org/2010/)

私ちょうどその時 GSIC で TSUBAME 2.0 の TOP500 チャレンジ (の雑用係) をしてました。

当時の TSUBAME 2.0 は、Linux と Windows のデュアルブート構成になっていて、両方で HPL ベンチマークを

実行し、「結果の良かったほうを TOP500 にサブミットする!という熱い戦いが繰り広げられていたのです。

GotoBLAS 等で有名な後藤和茂さん (実は去年までMSに!) を擁する MS チームはかなり良いスコアを

出していたのですが、最後の Big Run が原因不明のエラーのため完走できず、惜しくも TOP500 サブミットは

なりませんでした。

しかし、 Windows クラスタとして初のペタフロップス越えとなる 1.127 PFLOPS を記録したのです。

Page 10: YAPC::Asia Tokyo 2013 ランチセッション

そしてクラウド(use Azure or die $!)

Page 11: YAPC::Asia Tokyo 2013 ランチセッション

http://www.windowsazure.com/ja-jp/

Page 12: YAPC::Asia Tokyo 2013 ランチセッション

あるいはマイクロソフト

じゃない系

Page 13: YAPC::Asia Tokyo 2013 ランチセッション

UNIX / Windows相互運用

Page 14: YAPC::Asia Tokyo 2013 ランチセッション

Hadoop on Windows(HDInsight)

Page 15: YAPC::Asia Tokyo 2013 ランチセッション

Microsoft が Hadoop?

http://www.slideshare.net/SaSakiKuninobu/hd-insight-ksasaki

Page 16: YAPC::Asia Tokyo 2013 ランチセッション

そしてPerl好き

Page 17: YAPC::Asia Tokyo 2013 ランチセッション

空気読んでくれるし

my @words = split /¥s/, "There is more than one way to do it.";

my @words2 = @words; # @words2 は @words がコピーされる。

my $count = @words; # $count に @words の要素数が入る。

say "@words2";

say "$count";

C:¥work>perl t.pl

There is more than one way to do it.

9

Page 18: YAPC::Asia Tokyo 2013 ランチセッション

正規表現が強力だし

¥d, ¥D, ¥s, ¥S, ¥w, ¥W みたいな文字クラスや、

なるべく短くマッチする *?, +? とか、

先読み、後読みの言明 (?=PATTERN), (?<=PATTERN) 等など、

Java や C# でも使えますけど、元はと言えば Perl 5 の拡張正規表現ですよね。

『もうひとつは、もうこれ以上正規表現

を拡張しないで欲しいということです。

私個人はPerlの拡張正規表現に追随するこ

とに大変苦労しました。pcreの開発メン

バもきっとそう思っていることでしょ

う。;-)』

http://www.ibm.com/developerworks/jp/li

nux/library/j_l-ruby_qa/

正規表現が「ライブラリとして」実現されている言語だと、パターンを

文字列で記述して実行時にコンパイルしなきゃいけません。 (C#もそう)

Regex re = new Regex(@“^¥s*(¥S+)¥s*=¥s*(¥S+)”);

などと書いて、毎回コンパイルするのはヤだからスタック変数じゃなくて

クラス変数にしようか…とか考えてるとメンドーになってきて、Perl を書く

ときほど正規表現を使わなくなっちゃいます。

Java の ”Hello, world!” が String クラスのインスタンスとして

「コンパイラによって」解釈されるのと同じレベルで、Perl では正規表現が

一級市民。だから気楽になんでも正規表現で処理できますよね。

Page 19: YAPC::Asia Tokyo 2013 ランチセッション

オブジェクト指向もPerlで覚えました

配列でもハッシュでも、既存のデータ構造を “bless” したらそれがクラスになる!

ただの変数が「洗礼」受けるとクラスになるんだと大変すんなり理解しました。

「メソッド」はただのサブルーチンで、第1引数に bless されたオブジェクトが渡されくる

my $this = shift;

とか毎回書くってどうなの? わかりやすすぎるだろ。(dis ってない)

親クラスの名前は配列 @ISA に入ってるとか。

これまた率直すぎるだろ。(dis ってない)

base.pm って 5.004_04 からあったんですね。すみません知りませんでした…

Page 20: YAPC::Asia Tokyo 2013 ランチセッション

そういえば最近思うんですけど

{

KEY1 => "値その1",

KEY2 => "値その2", # コメントもかけるし。

KEY3 => ["複数の", "値も", "簡単"],

KEY4 => {

SUBKEY1 => "ネストした",

SUBKEY2 => "項目も",

SUBKEY3 => "自然に表現",

},

KEY5 => <<"EOM"

ヒアドキュメントもバッチリだから、

長い文も書きやすくて便利ですね。

EOM

};

設定ファイルのパーサを自分で書く必要なし。

「system (“rm –rf /bin”)」とかイタズラ書きを

されても Safe が守ってくれるから大丈夫。

読み込んだハッシュを bless してオブジェクトに

しても面白いかもね?

Data::Dumper の出力をちょっと整形すれば OK.

これまた手間いらず。

「Perl として解釈できる形でデータ構造を記述する」

この方法、便利で気に入ってました。

Page 21: YAPC::Asia Tokyo 2013 ランチセッション

近頃JSON JSON

言いますけど

Page 22: YAPC::Asia Tokyo 2013 ランチセッション

「言語としてそのまま解釈できる形でデータ構造を

記述する」ってのは

Page 23: YAPC::Asia Tokyo 2013 ランチセッション

わりと普通ですよねPerl 圏では

Page 24: YAPC::Asia Tokyo 2013 ランチセッション

“PON”って名前つけておくべきでしたね!

Page 25: YAPC::Asia Tokyo 2013 ランチセッション

TMTOWTDI なブログ Windows Azure や HPC のことを

主に書いています。

ぜんぜん Perl のこと書いてませんが、

タイトルだけ Perl のスローガンを

パクりましたすみません。

「マイクロソフトで生きていくにも

色々な方法がある」ぐらいのつもりなので

す。

Page 26: YAPC::Asia Tokyo 2013 ランチセッション

ここから社畜コンテキスト

Page 27: YAPC::Asia Tokyo 2013 ランチセッション
Page 28: YAPC::Asia Tokyo 2013 ランチセッション

Windows Azure

SDK 1.1 SDK 1.3 SDK 1.5 SDK 1.7

Page 29: YAPC::Asia Tokyo 2013 ランチセッション

国内採用事例宣伝広告

既存システムのマイグレーション

教育機関

ソーシャル

出版

ハイブリッドクラウドサービス

スマート デバイス &センサー連携

オンライン ゲーム

官公庁・地方自治体住民サービス

交通機関

人材/求人求職

メディア &エンターテイメント

事例サイト www.windowsazure.com/ja-jp/community/evidence

Page 30: YAPC::Asia Tokyo 2013 ランチセッション

日本リージョンができます!

サブリージョン内に3重のレプリカを配置

ストレージを地理的に冗長化

Page 31: YAPC::Asia Tokyo 2013 ランチセッション
Page 32: YAPC::Asia Tokyo 2013 ランチセッション

クラウド サービス

Page 33: YAPC::Asia Tokyo 2013 ランチセッション

仮想マシン ( IaaS )

Windows Server 2012

Page 34: YAPC::Asia Tokyo 2013 ランチセッション

Start Simple

無料で始めて簡単拡張

数秒で準備が完了

ビルトインの監視機能

Go LiveCode Smart

Page 35: YAPC::Asia Tokyo 2013 ランチセッション

Start Windows Azure

http://WindowsAzure.com

30 日 無料評価版開発者向け情報

Web 開発企業

月 375 時間まで

最大 3 年間

無償

スタートアップ企業

月 1,500 時間まで

Page 36: YAPC::Asia Tokyo 2013 ランチセッション

まとめ

クラウド移行を可能にするシナリオを大幅に拡大

より多くのお客様のクラウド移行を支援

ハイブリッド クラウド環境の構築がより容易に

Page 37: YAPC::Asia Tokyo 2013 ランチセッション

特報

Page 38: YAPC::Asia Tokyo 2013 ランチセッション

近日公開 HPC インスタンス

種別 コア数 メモリ容量 ネットワーク 1

A8 (仮称) 8 56 GB Xeon E5-2670

2.6 GHz

10 Gbpsイーサネット

40 Gbps

Infiniband

(RDMA)A9 (仮称) 16 112 GB

151.3 TFLOPS (効率 90.2%)で165位

2013 年 6 月版では 241 位 (性能は同じ)

504ノード, 8064コアで実施

http://www.top500.org/site/50454

Page 39: YAPC::Asia Tokyo 2013 ランチセッション

ところで

Page 40: YAPC::Asia Tokyo 2013 ランチセッション

最近のマイクロソフト

Page 41: YAPC::Asia Tokyo 2013 ランチセッション

OSS にすり寄ってとの相互運用に

積極的

Page 42: YAPC::Asia Tokyo 2013 ランチセッション

PHP デベロッパーセンター

Page 43: YAPC::Asia Tokyo 2013 ランチセッション

Python デベロッパーセンター

Page 44: YAPC::Asia Tokyo 2013 ランチセッション

Node.js デベロッパーセンター…

Page 45: YAPC::Asia Tokyo 2013 ランチセッション

Perl は?

Page 46: YAPC::Asia Tokyo 2013 ランチセッション

Perl はどこなの?

Page 47: YAPC::Asia Tokyo 2013 ランチセッション

CPAN でもレアもの・・・

Page 48: YAPC::Asia Tokyo 2013 ランチセッション

しかし、日本発のモジュールも!

Page 49: YAPC::Asia Tokyo 2013 ランチセッション

まだまだPerl on Azure

競技人口少な目…

Page 50: YAPC::Asia Tokyo 2013 ランチセッション

今始めればオリンピックも夢じゃない!

Page 51: YAPC::Asia Tokyo 2013 ランチセッション

REST API 叩きまくり

Page 52: YAPC::Asia Tokyo 2013 ランチセッション

私も作ります!

Page 53: YAPC::Asia Tokyo 2013 ランチセッション

__END__

Page 54: YAPC::Asia Tokyo 2013 ランチセッション