IIJ Technical WEEK 2013 1日目 #iij_tw2013

IIJのエンジニアによるイベント IIJ Technical WEEK 2013 1日目の模様です。 全日程のプログラム: http://techlog.iij.ad.jp/archives/815 * Stratosphereが提供するSDN/OpenFlow技術の現在と未来 * GIO-APIを支えるAPIプラットフォーム * MySQL互換DWHデータベース on IIJ GIO 続きを読む
3
前へ 1 2 3 ・・ 6 次へ
堂前@IIJ @IIJ_doumae

IIJのサービスの構成。お客様が操作するフロントシステム(WebUI)、契約を管理するバックオフィスシステムが全社横断的に提供されている。 #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 14:34:44
堂前@IIJ @IIJ_doumae

一方、クラウドを構成するHaaSシステムがあり、それを操作するクラウドオーケストレータがサービス固有のシステムとして存在する。これらが社内的にはXMLRPCで連携してサービスを提供している。 #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 14:35:36
堂前@IIJ @IIJ_doumae

従来フロント(WebUI)として提供されていたものと並列に、お客様向けのAPI(外部API)を開発した。APIプラットフォームが外部APIとXMLRPCで構成された内部APIを適切に中継している。 #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 14:36:42
堂前@IIJ @IIJ_doumae

外部APIと、内部APIは一対一で対応していない。外部APIの要求を適当に分割して内部APIを呼び出してゆく。メッセージフォーマットの変換、キャッシュ、リトライ、レート制御、さらに認証・認可機能など。 #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 14:38:26
堂前@IIJ @IIJ_doumae

APIプラットフォームの内部構成図をご紹介しています。(図版は後日公開の資料でご覧ください) 複数のサブシステムの連携をすべてMessageQueueを介して実現している。 #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 14:40:27
堂前@IIJ @IIJ_doumae

外部APIのリクエストをHTTPで受け、AMQPに変換してQueueに渡している。すべてのリクエストを渡すのではなく、事前にパラメータを検証することで不正なリクエストは落とすようにしている。 #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 14:42:00
堂前@IIJ @IIJ_doumae

補足/すべてのリクエストを内部APIに渡すのではなく、事前にパラメータを検証することで不正なリクエストは落とすようにしている。 #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 14:43:04
堂前@IIJ @IIJ_doumae

AMQP/RabbitMQについて説明しています。複数のMessage Queueのどこに投入するかはPublisher(クライアント)が指定する。Message本体はJSONで表現。 #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 14:45:54
堂前@IIJ @IIJ_doumae

APIコントローラーは、Request/ResponseをやりとりするRPCパターンを使う。Reqest/Responseの対応をとるために、correlation-idを使っている。 #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 14:47:39
堂前@IIJ @IIJ_doumae

最終的にどのプロセスにMessageを戻すかはreply-toで制御している。リクエストがバックエンドコントローラに処理が渡され、帰ってきた応答をXML/JSONに変換し、APIコントローラー経由で返却される。 #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 14:49:09
高玉 広和 @takatama_jp

IIJのパブリッククラウドで使われるAPIプラットフォーム。パブリック側はHTTP KeepAlive。内部はAdvanced Message Queueing Protocolで実現。Ruby + Javaで作った。RabbitMQ #iij_tw2013

2013-11-19 14:49:31
堂前@IIJ @IIJ_doumae

Queueの冗長化。RabbitMQはqueueを複数サーバでActive-Activeで管理できる。サーバ間はIPVSによるVIPで冗長化しており、サーバが落ちた場合でも同じアドレス向けにリトライすればよい。 #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 14:51:10
堂前@IIJ @IIJ_doumae

クライアント(Consumer)はActive-Standby。Queue内部でMessageが何回取り出されたかをカウントしており、回数が1回以下の場合Standby側の取り出し要求に応えるような仕組みがある #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 14:53:06
堂前@IIJ @IIJ_doumae

Queue構成したメリット。システムが疎結合になるため拡張が容易。デメリットは見通しが悪くなること。同期処理をわざわざRPCパターンで実現しなければならない。 #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 14:54:01
堂前@IIJ @IIJ_doumae

よい点。DBなどのコネクションプーリングが不要。短いリクエストが大量に来る環境でも、クライアントのプロセス毎にコネクションが張られるだけなので、大量のメッセージを処理する倍に都合がよい。 #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 14:55:33
堂前@IIJ @IIJ_doumae

API公開支援。複数のサービスに展開を容易にするための仕組み。入力チェックや権限管理、レートリミットなどを設定ファイルで投入することでAPI毎に定義できる。 #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 14:56:58
堂前@IIJ @IIJ_doumae

バックエンドがAPI化されているシステムでは、設定ファイルだけ適切に投入すれば、公開APIとして利用できるような環境を目指している。 #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 14:57:38
堂前@IIJ @IIJ_doumae

今後の予定。社内の複数サービスに展開する。DR対応も考えたい。社外のシステムと連携することもできるのではないか。トラフィックが増えたとしてもQueue構成なので拡張に耐えられると考えている。 #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 14:59:05
堂前@IIJ @IIJ_doumae

お知らせ。TechWEEK4日目の「インターネット最前線のゲームインフラを支えるパブリッククラウド」で今日紹介したAPIを実際に使ってみる例を紹介します。 #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 15:00:00
堂前@IIJ @IIJ_doumae

Q: 現在数千Req/日処理しているが、ボトルネックは?A:いまのところボトルネックが発生するほどのトラフィックではない。運用しながらチューニングを進めてゆきたい。 #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 15:01:10
堂前@IIJ @IIJ_doumae

Q:このAPIはすでに公開されているものか?A:IIJ GIOホスティングパッケージの利用者向けに公開されている。マニュアルは契約がなくてもご覧いただけます。http://t.co/HxoK2TGtni #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 15:03:08

MySQL互換DWHデータベース on IIJ GIO

IIJプラットフォーム本部 プラットフォームサービス部 データベース技術課 二ノ宮 務
トランザクション性能に定評のあるMySQLですが、データ分析では十分な性能が得られないと相談を受けるケースがあります。MySQL互換データベースの中には「列指向」「スケールアウト」「並列処理」といった本家MySQLとは異なるアーキテクチャーの「InfiniDB」と呼ばれるデータベースがあります。本セッションでは、IIJのクラウドサービス「IIJ GIO」を使い、InfiniDBの検索性能、スケーラビリティの効果等を測定しましたので、これらについてご紹介します。

堂前@IIJ @IIJ_doumae

【IIJ Technical WEEK 2013】MySQL互換DWHデータベース on IIJ GIO / IIJ プラットフォームサービス部 二ノ宮 務 #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 15:15:26
堂前@IIJ @IIJ_doumae

※この講演は私からのTweet中継はございません。次の講演より再開します。 #iij_tw2013 http://t.co/RRBdP8Dr1V

2013-11-19 15:16:48
まつもとりー / Ryosuke Matsumoto @matsumotory

ほー「本セッションでは、IIJのクラウドサービス「IIJ GIO」を使い、InfiniDBの検索性能、スケーラビリティの効果等を測定しましたので、これらについてご紹介します。」 #iij_tw2013

2013-11-19 15:17:59
前へ 1 2 3 ・・ 6 次へ