Category Archives: 勉強会レポート

gcp ja night #27に参加してきました。(+Google Cloud Platformとクラウドプラットフォームの今をおさらい付き)

gcp ja night #27 - connpass
に参加してきました。

僕とgcpja night(旧称appengine ja night)

私事で恐縮ですが、僕は旧appengine ja nightの常連だと思っていました。一時期毎回のように参加をしていたと思います。しかしどうやら、僕が最後に参加したのはappengine ja night #19 : ATNDのようです。。。2年以上ブランク開けちゃってたのですね!
その間、僕は勤務先の会社での仕事で一杯一杯*1でしたが、外部へ視野を広げることをいかに怠っていたのかを反省します。

ここ最近のクラウド界隈の動きとか(予習)

その間にGoogle App Engine界隈、いや、Google Cloud Platformの状況がだいぶ変わっていました。例えば最近GoogleとAmazonでクラウドサービスの値下げ合戦がありましたね。
Google、クラウド・プラットフォームで全面攻勢―大幅値下げ、新サービスをローンチ | TechCrunch Japan
Googleに負けじとAmazonがS3, EC2, ElastiCache, Elastic MapReduce, RDSを大幅値下げ | TechCrunch Japan

そもそも、いつの間にか、GoogleはEC2の競合サービスを出していたのですね!昨年末に正式リリースされています。
Google Compute Engineが正式サービスへ。Docker、FreeBSD、CoreOSもサポート。ストレージは1GBあたり月額4円へ値下げ - Publickey

また、rebuild.fmを聞いていると、最近はImmutable Infrastructureとか Disposable Componentとかのキーワードがホットになっています。Immutable Infrastructureって何でしょうか。

Immutable Infrastructureとは「Immutable(不変な)」の意味通り「一度セットアップし運用中のサーバは変更をしない」という運用スタイルです。サーバの設定変更などをしたい場合は、現在運用している環境(サーバ群)を変更せずに、まったく新しい環境を用意し、環境の設定変更が終わったら、ルータやロードバランサ等で新しいサーバ群に切り替えるというものです。

今年流行りそうな「インフラエンジニア」向けトレンドのまとめ その1 (Blue-Green DeploymentとImmutable Infrastructure編)


Immutable Infrastructure を調べてみると、Dockerというキーワードがヒットします。
Docker: Linuxコンテナを使ってアプリケーションの配置を支援する

そして、上記記事にもありますが、CoreOS というディストリビューションが出てきます。みんながCentOSと見間違えるCoreOSについて調べると

CoreOS は Alex Polvi が設立した会社であり、OS、新しい Linux Distribution である。OSS で公開されている。
Polvi 氏といえば Rackspace に 買収された CloudKick を立ち上げ、その後も Rackspace 働いていたクラウドの専門家とも言えるだろう。
その Polvi 氏以外にも Googler や Linux 関連の人材、アドバイザーに Linux の stable branch のメンテナ
を迎えるなど、Linux に関する知識がかなり豊富なメンバーが集まっている。
その彼らが作っているのが CoreOS である。

CoreOS は Google や Facebook などの環境を参考にしており、柔軟にスケールし、さらにはインフラ構築その...

CoreOS 入門 - Qiita

そして、上の方の記事で、CoreOSはGoogle Compute Engineでもサポートされてるってありますね!

ふう、やっとつながった。


というのは、ここ1,2ヶ月で浦島太郎状態だった僕がようやく追いついた、にわかインフラ知識ですが、今、クラウド関連の世界はこうなっているんだっていう背景知識を持っていないと、今回の勉強会はキツイのではないでしょうか。

appengineとかslim3とか触ってた人たちが、旧に最近Dockerとか使い始めたのはなぜなのか知っておく必要があるようです。

勉強会報告

gcp ja night #27は、六本木ヒルズのグーグル 東京オフィスで開催されました。
発表内容知らなかったのですが、昼間にもイベントがあったようですね。Togetterは勝手に夜の部が始まる2ページ目をリンクしときます。(18:45くらいからnightの部になります)
2014.4.22 gcp ja night #27 & 「Google Cloud Platform セッション 最新技術と日本での展開について」 #gcpja - Togetterまとめ

発表内容と会場の反応はconnpassとtogetterを参照してください(てきとーだなw)

発表内容でオフレコを支持されたものが多く、参加できてよかったなあと思います。テレビ番組連動のリアルタイム通信の事例はただただ面白かったです!しかもGCPを使ったらめちゃくちゃ安かったとか!

@shin1ogawa さん+ @sinmetal さんのManaged VMの話も興味深かったです。Managed VMとは

これはGoogle App Engineの環境の下で仮想マシンを走らせることにより、仮想マシンの面倒をApp Engineが見てくれるというもの。仮想マシンの構成は開発者が自由に行えます。

[速報]Google、「Managed Virtual Machines」発表。Google App Engine内で仮想マシンを管理 - Publickey

shin1さんの説明では、GCEにappengineのプラットフォームを載せたようなものだって言っていました。その方がわかりやすい。

まだ、日本語での情報は上記記事を除いて殆ど無く、この発表のスライドも公開されないと思いますので、まだ一部の人達しか触れないヴェールに包まれた存在ですが、会場では、SSHとか使えない仮想マシンに対してSSHは使えるようです。*2、Webブラウザ越しであんなことやこんな(ry
Docker的なニュアンスがチラ見えしました。

これは面白いです。インフラの運用って大変ですから、我々Webエンジニアはあまりやりたくない、でも、従来のGoogle App Engineは、ファイルの保存ができなかったり、サーバーにパッケージをインストールできなかったりするので、融通が利かないという問題がありました。

これを使えば、今までできなかったサーバーのカスタマイズをしながら、ファイルに保存しながら、appengineアプリを開発できるんですね!

個人的には、需要があるかわかりませんが、JavaのMayaaテンプレートエンジンがManaged VMでまともに使えるようになるのではないかと期待しています。*3

ただ、会場の雰囲気だと、スピンアップに7秒くらいかかるJavaはどうなの?っていうコメントが多く、かつて、appengine ja night で slim3 とか追いかけていた人たちも、最近の興味はGoとかに行っているようです。

ここでも、Javaは不遇な子。。。。
かつて、GAE/J, GWT, Guiceなど、GoogleのJavaに対するアウトプットを僕は好きでした。

感想

このエントリの前半に書いたようなにわか知識でなんとか付いて行けましたが、正直自分の遅れっぷりに呆れました。しかし一方でこの勉強会で登壇されている方はかなり先進的な領域にいる方だと思います。

上記の「にわか知識」自体がかなり尖った領域で、Google検索してもまだ日本語の情報が足りない状況なので、今から勉強しても十分追いつけるような気がします。逆に今ついていかないと、途中から追いつくのはとても大変だったと思います。

GCP $500 無料券をもらったので、さっそく、自分も試してみようと思います。

写真

え、会場は銭湯?
f:id:s-ishigami:20140422223612j:plain

こんなものまでGoogle製
f:id:s-ishigami:20140422223537j:plain

このシャワーは使えるのだろうか?
f:id:s-ishigami:20140422223550j:plain

銭湯でピザ取り分けていますw
f:id:s-ishigami:20140422204037j:plain

$500 無料券(え、500円じゃない?すげー!!)
f:id:s-ishigami:20140423132501j:plain

*1:その間に会社は全サービスをオンプレミスからAWS等のクラウドに移行を済ませ、僕自身は一プログラマーから開発チームリーダーに転身し、事務所は秋葉原から飯田橋に移転し、15人くらいだったメンバーが40人を超え……

*2:https://twitter.com/sinmetal/status/458842820355166208

*3:Mayaaは、キャッシュファイルをファイルシステムにキャッシュする機能があるので、ファイルシステムを使えるManaged VMがあれば実用に耐えるのではないかと思っています。これまでは、ファイルシステムへのキャッシュができなかったので、メモリのみのキャッシュになりますが、スピンアウトしてしまうとキャッシュが消えてしまうので、致命的でした。もちろんキャッシュをmemcachedに格納するとかすればできるでしょうけど、まあそこまでしてまでってのもあって。。。

JJUG CCC 2013 Fall で発表してきました

共同発表者のWebデザイナーさんがスライドを作ってくれたのですが、残念なことに、はてなダイアリーに埋め込むことはできないみたいですので、以下よりリンクをしてみて下さい。


テンプレートエンジンを利用してプログラマーとWebデザイナーが共同作業をする上で大切なこと

前回ご好評を頂いた(僕じゃなくて、Webデザイナーさんの)発表について、
「本当はフルバージョンをJJUG CCC 2013 SpringのCfP応募したんだけど落ちたんですよね」
という僕の情けないつぶやきをしてるところ、JJUGの重鎮様にお誘いを頂いたというのが発表の経緯なのであります。
お陰で 僕が美人Webデザイナーさんと半日一緒に過ごせるという嬉しいイベントが年に二度も訪れ Java界隈のエンジニアの皆さんにWebデザイナーさんの視点という、普段は得られない意見を届けられるという、有意義な発表が実現したのであります。
そこには40人くらいいたんでしょうか?少なくとも、去年の僕の発表よりは人が集まりました。運営の方には「このセッションは、今回の注目のセッションでして、ある意味永遠のテーマですから、みんな興味を持っていらしてるんですよ」と、良いプレッシャーを与えて下さって、とても楽しく発表を始めることができました。意欲的な質問をかなり頂けたので良かったです。

過去に思いをはせるようなことは、前回のエントリでしているので、特に繰り返しませんが、この発表が成功したら、「発表してよかったな」というレベルを超えて、「この3,4年ばかし仕事していてよかったなー」という思いでいます。

発表の中で「プログラミングできないのにプログラム作ってるみたい」と言ってくれましたが、実は個人的に一番うれしい言葉です。こういうことをしたくて一時は開発環境でも作ってる会社に就職したいなと思っていた時期がありました。今の仕事ができて本当に良かったと思います。一方で後半の方は、要するに、マネージメントの領域に入ることなので、どんな技術も最後はここに行き着くのだなと思います。自分はイマイチ苦手としていましたが、担当者間の確執やいざこざも後から振り返ってみれば楽しい日々だと思います。

チームで仕事するって楽しいよね。そう思っていれば、どんな仕事もうまくいくんじゃないかなと思ってしまいます。

JJUG ナイト・セミナー 「ビール片手にLT&納涼会」でLTしてきました。

動画:

こちらが自分で

こちらが共同発表をしてくれた@smilelx_xl さんです。

去年の11月にCCCで発表させて頂いて以来、公の場で発表するのは二度目でした。共同発表をしてくれた、 @smilelx_xl さんは初めての発表だったようですが、手書き風スライドが好評でした。
一方僕の発表はビデオで見ると早口過ぎて聞き取れない、スライドは文字が小さすぎて読めないという相当ダメな内容で、改善の余地があることが分かりました。自分の発表をビデオで見るということは非常に勉強になり、撮影・youtubeアップいただいた、@yusuke さんには大変感謝致します。

今回の発表で伝えたかったことは、デザイナーさん視点の声でした。僕の発表は、@smilelx_xl さんがスムーズに発表できるための前置き的位置づけだと考えれば十分目的を達成できたのではないかと思います。
スライドで書いたように、2009年からMayaaを使い始め、この発表で扱われていることは、2010年から2012年頃の話です。その頃は自分の所属する会社も小さく従業員は一桁でした。プログラマーといえば、社員は僕ともう一人、Webデザイナーさんは@smilelx_xl さん一人でした。サービスを成長させる過程は面白いものですが、このテンプレートエンジンのこと一つとっても、世の中にシェアしたいと常々思っていました。ただ、多分僕一人出て行ってもインパクトがないので、@smilelx_xl さんに発表させたいと周囲に話したりしていました。もし、Seasar Conferenceが2011年以降も行われていたら、もっと早く応募して発表が実現していたかもしれません。JJUGはちょっと固いイメージがあったので発表するには敷居が高く感じていました。そんなJJUGも最近世代交代が行われたため、急に近寄りやすくなったと感じています。お陰で今回の発表を応募することができたと思います。

Twitterで「デザイナーは名前空間なんて言わないだろ」という的確なつっこみを頂きましたが、ごもっともです。実は今回の発表は、僕が事前に原稿案を作成し、@smilelx_xlさんに渡していました。@smilelx_xlさんはそのまま書かれたのですね。まったくもって「一般人に分かりやすい」用語を使っていない一例です。
今回はデザイナーとプログラマーの話でしたが、今回の話の概要は、実は、別の組み合わせでも成り立つと思います。違う職種同士共同作業をする上で大切なことは同じだと思います。一人で全部できてしまうスーパーエンジニアなら、もっと効率がよいかもしれませんし、実際にそういうスキルがある人も知っていますが、普通はなかなかいないでしょう。それに、やはり、違うバックグラウンドをもった人同士が共同作業をすることは楽しい。

そういうわけで「Aを利用してプログラマーとBが共同作業をする上で大切なこと」シリーズをやったらどうかと思いましたが、毎回僕が社内の別部署の女子を連れて発表したらさすがに殺されると思うので、うちのチームの誰かやってくれないかなーと思っていない(笑)

これでこの件の発表はおしまいと思ったのですが、尊敬する@skrbさんに、JJUG CCC 2013 Fall の Call for Paperに応募しないかとはっぱをかけられてしまったので、今回の発表をもっと詳細化したバージョンをまた@smilelx_xlさんと共同で計画しています。もし、採用されたら今度は早口にならずに丁寧に話したいと思います。