Webエンジニア susumuis の技術ブログ

このブログの内容は個人の見解であり、所属する組織の公式見解ではありません

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に格納するとかすればできるでしょうけど、まあそこまでしてまでってのもあって。。。