JAWS DAYS 2014に行ってきた

JAWS DAYS 2014に行ってきました。その感想など。

1: Immutable Infrastracture

http://d.hatena.ne.jp/naoya/20140315/1394851727

伊藤直也さんのお話。

JAWS DAYSでは、"Immutable Infrastracture"で ワントラック用意されていて、AWSを問わず、Immutable Infrastractureの入門的なお話でした。

サーバを運用していると、運用の中で設定を色々変更しなければならなくて、サーバの状態がどう変わっていったのかを管理する必要がある。それを、現在のサーバの状態を管理できるよう、コードで定義できるようになっていったのが、"Infrastructure as Code"の流れである。どんな状態のサーバでも、コードで定義すれば定義した状態にできる「冪等性」を実現しようとすることが、Chefがしようとしていることである。

"Immutable"とは状態を持たない、廃棄可能なという意味である。"Infrastructure as Code"の次として、サーバの状態を持つのをやめ、遷移させるのではなく、新しいものをごっそり用意してすげ替えれるようにするのが、"Immutable Infrastructure"の考え方である。

"Immutable Infrastructure"に技術が至る経緯として、①サーバの「仮想化」から始まり、②サーバ資源をオンデマンドに扱える「クラウド」になり、③サーバ資源をコードで操作できる"Infrastructure as Code"が広まり、④サーバ資源もアプリのリリースのように扱う"Immutable Infrastructure"の登場と、ついにImmutable Infrastractureの時代が来たという(表現は僕の解釈)仮想化からの流れの話はとても納得した。

また、コードでやっていた「バージョン管理」「レビュー」「テスト」「CI」が、"Immutable Infrastructure"によって、サーバ環境でもできるようになったという話も、新しい時代と感じた。

話を聞いていて、コードからアプリだけではなく、ITを実現する環境すべてが表現できる世界にまで来たのだなと感じた。

ただ、"アプリ"と"環境"は挿げ替えリリースできるけど、そのシステムが持つ"データ"や"ログ"はどうするのか、決まらない様子だった。

2: Amazon WorkSpaces Deep Dive

Windows Office付きの環境が月単位でリモートで借りられるとのこと。なお、CPUは共有でない。

デモもネットワークが快調なら非常に便利に使えそうであることを示していた。

Visual Studioも付いていたら、会社でレンタルPCしなくてもいいかもと思ったが、そもそもここにアクセスするためのPCが必要なので、MacネイティブでWindowsを使うとき以外使わないなと思った。

ランチ

ELB(Elastic Lunch Box)が配られました!

3-1: RDS

http://www.slideshare.net/itabashimasayuki/jaws-day2014rds-32337898

Amazon RDSについての基礎的なお話。

EC2でRDBを構築しなくても、サーバ設定済みの使いやすい状態で、PaaSのように提供するよと言うもののようだ。

RDSを利用すれば、インフラ、管理、バックアップまでワンストップで提供される。

ただし、基本的にDBの管理アカウントはRDSが握っているため、RDS経由での設定しかできず、できることに制限があったり、OSレベルの細かいチューニング設定はできないとのこと。

  • ストレージ制限がある(SQL Server→1T、それ以外→3T)
  • ディスクサイズは縮小できない
  • SQL Serverに限っては、ディスクサイズ変更不可(えっ!)
  • ライセンス込みではないのもある
  • 標準の文字コードは日本語(UTF-8)ではないため、RBDS毎に設定変更や、工夫が必要
  • タイムゾーンは日本ではないため、工夫が必要
  • Oracle Enterprise Managerは設定すれば利用可能。

色々制限や、面倒なことはあっても、バックアップが自動で手軽にされるので、大規模でなく、ハイパフォーマンスを求めない利用ならば良いと思った。

3-2: ELB/AutoScaling

AutoScalingがうまく言ってるログが見れて、面白かった。

4: AWSクラウドデザインパターン for Enterprise

http://www.slideshare.net/c95029/enterprise-cdp-20140315public

Enterpriseで使う場合のやり方集。すごくためになった。

自社システムとAWSのつなぎ方とか、SAPなどハイパフォーマンス用途での使い方とか。クレジットカードを扱う業務システムのPCI-DSSの準拠の注意点とか、ディザスタリカバリでのAWSの活用とか。

これらのパターンすごく便利そうだけれど、このパターンを使うことでオンプレミスよりもメリットがあるよってところまで説明してくれているわけじゃないので、もっと考えなきゃいけない。

5: 世界で展開する新しいネットワークサービス「Miiverse」のAWS活用事例

参考 : http://aws.amazon.com/jp/solutions/case-studies/nintendo/?sc_ichannel=HA&sc_ipage=homepage&sc_iplace=hero1&sc_isegment=nc&sc_icampaigntype=customersuccess&sc_icampaign=ha_jp_customersuccess_nintendo&sc_icountry=JP

展開先が「各大陸」と言っていたのにスケールを感じた。各大陸にデータセンタを契約するか、AWSにするかとなった時に、契約には時間が掛かるから、AWSで迅速にとなったそうな。また、hi1前提とか、EC2が1000台規模とか、全リージョン使うとか、規模がすごかった。

また、システム自体は以下のようにつながってるとのこと。

  • アプリ
    • インターネット
    • Route 53
    • ELB
    • Revese Proxy(nginx)
    • ELB/HA Proxy
    • APP Servers
    • HA Proxy
    • DB MySQL
  • 画像データなど
    • Cloud Front
    • S3

MySQLは、Cross Region Replicationを行っているが、300msecほど遅延があるが、遅延があっても大丈夫なアプリ設計になっているらしい。

最後に、AWSを使って「リソース不足に悩まされなくなった」「ストレージ管理がS3で不要になった」と言っていて、意味は大きいなと思った。

6: 「東急ハンズを支える技術」はAWSか?

ほんとうに社内システムのほとんどをAWSに持ってきたという話+今後どうするかという話。

皆見えなくなっていたところに切り込んでいてかっこ良かった。

  • VPNやめたい。SSL通信で。
  • 夜間バッチ止めたい。夜は(作業を)止めたい。
  • POSをChromeアプリ化したい
  • マルチクライアントOS!Win、Macタブレットスマホ問わない!

いやー、VPN止めたいとか、夜間バッチ止めたいとか、OSバージョン気にしたくないとか、そうだよねッッ!!って感じ。VPN止めたいは、VPN前提で作っていた身としては、利便性考えるとそうだよねと納得するが、恐怖である。SIerは「動作保証」しなきゃいけないから、OSのバージョンアップとか知らないから!といいたいけど、HTML5標準化の流れで、それは違うよねと思えてくる。

7: Immutable Infrastructure パネルディスカッション〜オレにも一言言わせろ〜

内容をメモしていないからあまり覚えていないけど、覚えていることをメモ。

  • まずは、コードレビューとか、CIとか、Infrastructure as Codeとか、当たり前のことを当たり前のようにやりましょう。
  • Immutable Infrastructureになって、インフラもアプリのようにすげ替えて扱えるようになってきたけど、「DB」と「ログ」の解決は誰も見出していない。
  • Web屋さんが、Rubyで書いて規模が小さいシステムだから、HerokuなどのPaaSの上に乗っかれて、Immutable Infrastructureが通用する。SIはそこにおいてかれてるように見えるけど、仕事のパイとしては、SI屋の方が大きい。

行ってきてみて

僕はWeb屋じゃなくて、SIerなので、今の仕事をAWSに乗っけるだとか、リリースをImmutable Infrastructureに乗っけるだとか考えるのだけれど、絶対使うべきとかではなく、使えるところで使えるだけで提案したいと思った。

僕は、Google App Engineが出た時から、データ管理とロードバランサはPlatformに任せてしまって、開発者は業務に集中できるようなPaaSが流行るだろうと思っていた。しかし、大規模なところでは、PaaSでできることを要求が超えてしまって、IaaSが必要になってしまっている。だから、IaaSなのだろうかというと、それは極端な例なのではないかと思う。実は多くのケースがPaaSで提供できる範囲内に済んでいるのではと。

企業アプリも、PaaSになればなと思う。もっと業務のことだけを考えて、スケールやデータ管理は、定石をそのまま使えるようになればいい。ただ、企業アプリは他シストの連携がどうしても多いので、統一規格がない限り、それぞれアーキテクチャの決定が必要になってしまう。Microsoftが、Windowsストアアプリのように、企業アプリをデプロイ出来る環境を用意してくれないかなと思う。

行って、楽しかったです!