challengers 2013 winter ハッカソンに参加してみて

22
Challengers 2013 WINTER Hackathon に参加してみて( Cloud n 使用感入り) 2013/01/21(月)~22(火) 2013/01/22 Updated 2013/01/28 Written by 斉藤之雄 (www.fxfrog.com ) twitter @yukio_saitoh

Upload: -office-saitoh

Post on 26-Jun-2015

841 views

Category:

Technology


4 download

DESCRIPTION

NTTレゾナント主催 Challengers 2013 WINTER ハッカソンに参加してみて。 NTT Communications Cloud n による基盤構築例、使用感や参加所感など。

TRANSCRIPT

Page 1: Challengers 2013 winter ハッカソンに参加してみて

Challengers 2013 WINTER

Hackathon に参加してみて( Cloud n 使用感入り)

2013/01/21(月)~22(火)

2013/01/22 Updated 2013/01/28

Written by 斉藤之雄 (www.fxfrog.com) twitter @yukio_saitoh

Page 2: Challengers 2013 winter ハッカソンに参加してみて

• 「ICT ヲタクの祭典=ハッカソン」と捉えており未だ見ぬ新しい Webサービスを一晩でどこまで作り込めるのか楽しそうな動機。

• NTTグループ各社にいる技術指向が面白い方々と一緒に何か楽しんでみたいという意欲。

参加目的(個人的な動機と意欲)

Page 3: Challengers 2013 winter ハッカソンに参加してみて

• 某社内で事前に chatter、facebook を通じ「一緒にハッカソン参加しませんか?」と呼掛けチームビルディングを試みたものの、ご多忙な方が多いせいか激励と声援のみ寄せられました。

• 当日行けば何とかなる。そんな想い一つだけで実際何とかなりました。一人参加の方が当初9名おられ4人と5人の2チームに分かれました。

一人参加、ぜんぜん OK

Page 4: Challengers 2013 winter ハッカソンに参加してみて

チームが出来た。まず何から?

• 私は Cloud n による LAMP環境の調達

• Cloud n PaaS モデルは諸事情があり利用選定しなかった

• 他メンバは使用可能 API の選定

(選定方法は使用APIに基づく賞品)

• そして何を作るのか、と妄想披露

• DBモデリングとアイディア相関を検討

• API 評価環境の利用開始

Page 5: Challengers 2013 winter ハッカソンに参加してみて

ハッカソン時間は楽しもう

• 仕事ではないので、少々荒っぽいコーディングでも問題なし。

• 主催者から食事提供がある時は楽しもう。

• 適度に運動もしよう。(腰が痛くなるよ)

Page 6: Challengers 2013 winter ハッカソンに参加してみて

DO YOU REALLY WANT OVERNIGHT HACKATHON?• 自発的帰宅困難者を除いて、一時帰宅できるなら

帰宅しましょう。(健康管理もハッカソン!)

• 眠いときほど、やってしまう変な実装。

• 楽しい雰囲気ですが、思ったほど若くはありません。

↑否定的に見えるかもしれませんが、ハッカソン翌日は普通に会社が待っています。

Page 7: Challengers 2013 winter ハッカソンに参加してみて

大体出来上がったらプレゼン準備

• ステージ発表があるなら、マカーの方は D-SUBケーブルを!

• どんな風にプレゼンを行うか。デプロイしたサービス実演は必須!

→実演できない=デプロイしていない(アイディア企画まで)

• 場合によってはカム撮影した動画を含め訴求力向上を目指す

ハッカソンでコーディングが苦手でも、プレゼン職人なら大活躍!

Page 8: Challengers 2013 winter ハッカソンに参加してみて

プレゼンテーション

• 同じチームメンバが発表するときは、盛大な拍手を送りましょう。他のチーム発表も盛大な拍手です。

• ここまで一緒に過ごした仲間に拍手を贈らないことは考えられないでしょう。また自然とそうなっているでしょう。

Page 9: Challengers 2013 winter ハッカソンに参加してみて

大体こんな流れで進行しました

• このあとは、NTT Communications Cloud n (くらうどん)で LAMP環境をべたに作る方法です。

なおPaaS モデルなら環境構築は不要です。

• 最後にハッカソン参加所感を述べます。

Page 10: Challengers 2013 winter ハッカソンに参加してみて

• Cloud n 環境作成に必要なのは携帯電話とクレジットカードとメールアドレス(携帯電話は本人確認のため、画面に表示される数字4桁を入力するのに必要)

• まず最初に登録したメールアドレスに【クラウド・エヌ】仮登録完了のご案内が届くので、そこに示された本登録 URL から申し込む。

• その後、携帯電話で本人確認を終えると【クラウド・エヌ】ご利用内容のご案内が届くので、これを削除しないようにすること。

べたなLAMP 環境の作り方 ①

Page 11: Challengers 2013 winter ハッカソンに参加してみて

• Compute Console から仮想サーバを作成する。

• 今回は一番安い ¼ CPU (標準ルートディスク15GB/Linux CentOS 6.2 x64)を選定。

• ものの5分もあれば仮想サーバが作成され、そこでroot パスワードが生成されるのを見落とさないように。

べたなLAMP 環境の作り方 ②

Page 12: Challengers 2013 winter ハッカソンに参加してみて

• ネットワーク設定をします。といってもカンタンです。ファイアウォールとS-NAT(ポート転送) のみ。

べたなLAMP 環境の作り方 ③

Page 13: Challengers 2013 winter ハッカソンに参加してみて

• ここまでの操作で外部から SSH 接続が可能です。VMコンソールは操作性が悪いので、SSH 接続推奨。↓こんなコンソール操作は嫌ですよね、普通。

べたなLAMP 環境の作り方 ④

Page 14: Challengers 2013 winter ハッカソンに参加してみて

• root権限で外部から一発SSH接続はお嫌いですか?まだ何もインストールされてないので、SeLinux を無効にしたり、作業アカウントを sudoers に含めるなど快適な作業操作性を追求しましょう。

• 作業アカウントを useradd ,passwd で作る。

• sudo 対象アカウントをvisudoで含め、rebootする。

• そして yum で LAMP サーバに仕立てましょう。

べたなLAMP 環境の作り方 ⑤

私が普段投入するコマンド例(このままでも OK。赤文字箇所を投入ください)yum install –y gcc httpd httpd-devel php php-devel php-mbstring php-mysql

php-pdo php-mcrypt php-pear php-xml php-gd pcre-devel mysql-server

Page 15: Challengers 2013 winter ハッカソンに参加してみて

• まずは Apache と MySQL を起動しましょう。

べたなLAMP 環境の作り方 ⑥

(赤文字箇所を投入ください)service httpd start ← OK 表示されれば、外部から http 疎通し、Apache 2 Test Page が Webブラウザで閲覧可能になります。

service mysqld start ← OK が表示されたら、次の mysql コマンドで MySQL root パスワードを設定しましょう。

mysql -u rootUPDATE mysql.user SET Password = PASSWORD('MySQLrootパスワード') WHERE User= 'root';FLUSH PRIVILEGES;quit

そして、MySQL サービス再起動のため、次のコマンドを投入します。Service mysqld resart

Page 16: Challengers 2013 winter ハッカソンに参加してみて

• サーバ再起動を行っても自動サービス開始する呪文

べたなLAMP 環境の作り方 ⑦

(赤文字箇所を投入ください)chkconfig mysqld onchkconfig httpd on

↑さきほどまでは、先に httpd 、その後 mysqld だったのに、ここでは先に mysqld が優先されている理由として、サーバ再起動後に起動する順序として mysqld が httpdより優先起動することで、httpd 起動時には既に mysqld が使用可能状態であることが必須のためです。

昔は /etc/rc.d などへ起動スクリプトやその起動諸条件を記入していましたが、今は実にカンタンになりました。

Page 17: Challengers 2013 winter ハッカソンに参加してみて

• ここまでの設定で(ツッコミ却下)基本環境は完成

べたなLAMP 環境の作り方 ⑧

試しに次のファイルを /var/www/html 配下へ書いてみましょう。

(赤文字箇所を投入ください)vi /var/www/html/phpinfo.php

※vim 操作は普通に出来るものとして書いています。

<?phpphpinfo();

?>

そして、手持ちの http ブラウザから Cloud n グローバル IP へ対して、このphpを参照しましょう。

いかがですか?カンタンでしたよね。VM 仮想インスタンスが作成されたら、長くても10分あれば、基本的なLAMP環境はこれで環境が整うことになります。

Page 18: Challengers 2013 winter ハッカソンに参加してみて

• Cloud n のネットワークパフォーマンスについて

ちょっと気になるパフォーマンス①

初期環境構築で yum install 実施すると、最寄りのレポジトリ を参照します。* base: ftp.iij.ad.jp* extras: ftp.iij.ad.jp* updates: ftp.iij.ad.jp

日本リージョン(日本データセンタ)で Cloud n を構築すると IIJ 参照なので、ホップ数はどれくらい近いのか tarecroute で確認してみました。

traceroute to ftp.iij.ad.jp (202.232.140.144), 30 hops max, 60 byte packets1 r-20510-VM.cs969cloud.internal (10.1.0.1) 0.541 ms 0.429 ms 0.318 ms2 180-37-180-1.compute.cloudn-service.com (180.37.180.1) 3.800 ms 3.721 ms 3.534 ms3 180.8.125.241 (180.8.125.241) 1.400 ms 1.321 ms 0.989 ms4 218.43.240.1 (218.43.240.1) 0.884 ms 0.790 ms 0.707 ms5 180.37.209.8 (180.37.209.8) 1.149 ms 180.37.209.72 (180.37.209.72) 1.910 ms 1.818 ms6 60.37.18.130 (60.37.18.130) 9.013 ms 60.37.18.134 (60.37.18.134) 1.014 ms 60.37.18.130 (60.37.18.130) 7.037 ms7 210.173.177.250 (210.173.177.250) 1.167 ms 1.097 ms 1.013 ms8 osk004bf00.IIJ.Net (58.138.81.189) 8.903 ms osk004bf01.IIJ.Net (58.138.81.193) 1.668 ms osk004bf00.IIJ.Net (58.138.81.189) 8.580 ms9 tky001bf00.IIJ.Net (58.138.81.89) 12.166 ms tky008bf01.IIJ.Net (58.138.81.85) 11.882 ms tky001bf01.IIJ.Net (58.138.81.93) 11.761 ms10 tky008bb11.IIJ.Net (58.138.82.238) 14.013 ms tky008bb10.IIJ.Net (58.138.82.226) 12.920 ms tky008bb10.IIJ.Net (58.138.80.50) 13.495 ms11 tky008agr00.IIJ.Net (58.138.104.30) 18.874 ms 18.720 ms 23.902 ms12 tky008gengw701.IIJ.Net (210.138.61.4) 15.471 ms 15.316 ms 15.233 ms13 ftp301.ftp.pub.2iij.net (202.232.140.144) 13.607 ms !X 13.651 ms !X 12.054 ms !X

注意:このパフォーマンス結果については本資料作成時の環境限定で、公式のものではありません。

Page 19: Challengers 2013 winter ハッカソンに参加してみて

• Cloud n のネットワーク&ストレージについて

ちょっと気になるパフォーマンス②

環境に Object Storage は特に使用せずに、Cloud n 複数インスタンス間でSCPを行ってみました。

対象ファイル:ハッカソンの作業ファイルを tar ball (tar.gz) / 605 MB

ピーク時 12.1MB/s (96.8Mbps)でした。転送料金や I/O における R/W セッション課金されないので、遊ぶのには丁度いい環境と思います。

注意:このパフォーマンス結果については本資料作成時の環境限定で、公式のものではありません。

Page 20: Challengers 2013 winter ハッカソンに参加してみて

• ベンチマークはちょっと重くなるので・・・

ちょっと気になるパフォーマンス③

/proc/cpuinfo を表示。インチキ bogomips (ここでは、3990) をご覧ください。

注意:このパフォーマンス結果については本資料作成時の環境限定で、公式のものではありません。

Page 21: Challengers 2013 winter ハッカソンに参加してみて

ハッカソンに参加してみて(所感)

参加者の事業意欲が高い。普段は営業だから、SEだからという変な鎖国意識が見受けられなかった。また職域やタイトルは無関係の世界。これはICT市場をさらに活性化させたいという使命を感じさせられたと同時に、場を借りて楽しみたいという知的鼓舞を受けるものであった。コーディングが苦手でも問題なし。何か得意なものがあれば、即席チームでも活躍の場は必ずあるということを再認識しました。今回迷って不参加だった方がいらっしゃれば、次回ご一緒に楽しみましょう。お待ちしています。

Page 22: Challengers 2013 winter ハッカソンに参加してみて

ご覧いただき有難うございました。

どこかのイベント会場でお会いしましょう。

普段は意外と近くにいますよ(謎