SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
mixiアプリ「the Actress」運用に
あたっての課題へのチャレンジ



                 appengine ja night #13
自己紹介

名前: 岡野真也
twitter: @tokibito
blog: http://d.hatena.ne.jp/nullpobug/
所属: 株式会社ビープラウド
弊社について

株式会社ビープラウド
http://www.beproud.jp/
主にWebサイトなどの受託開発(PC/モバイル)
プログラミング言語はPython(Django)
iPhone, Androidアプリもやってます
GAEのAPI Expertがいます(@IanMLewis) 
「the Actress」

  http://www.lux.co.jp/campaign/actress/
  mixiアプリ(PC+モバイル)
     PC側 - FlashからのAPIアクセス
     モバイル版 - 動的にhtml生成
  AppEngine/Python
  Kay framework(ver 0.8.0)
     アプリケーション数 - 80個ぐらい
  同時リクエスト数 - 100~200前後(2010/11)
     インスタンス数 - 100~250前後(2010/11)
リクエスト数
Kay frameworkについて

 AppEngine用アプリケーションフレームワーク
 url: http://code.google.com/p/kay-framework/
 作者: @tmatsuo
 ライセンス: New BSD License
Kay frameworkについて(2)

 アーキテクチャ
  Django風MVC(Model-Template-View)
  Jinja2テンプレートエンジン
  Werkzeug
  国際化(babel)
  遅延ロード
課題

短時間でDeadlineExceededErrorが連続して発生
する
短時間でImportErrorが連続して発生する
有効なはずのURLへアクセスすると404 NotFound
メモリ使用量の制限でインスタンスが落とされる
DeadlineExceededError

 タイムアウトで発生する例外
   どの行でも発生する可能性
     例外が発生しないのが前提なコードはダメ
 SDKでは2箇所で定義されている
   google.appengine.runtime.apiproxy_errors
   google.appengine.runtime
例.
DeadlineExceededError(対策)

 ロードや処理時間を短く
 例外が発生する可能性を常に考慮
 例外が発生しても破綻しない構造
ImportErrorの連続発生

 モジュールは存在するはず
 ロードに時間がかかるモジュール
  Jinja2
     初回ロード時にほとんどのモジュールをロー
     ドする
 ロード中にDeadlineExceededErrorが発生して中
 途半端な状態になることがある
ImportErrorの連続発生(2)

 try exceptで例外を握りつぶさないように
 http://code.google.
 com/p/googleappengine/issues/detail?id=1409
例.
ImportErrorの連続発生(対策)

 スピンアップ時のインポートを減らす
   遅延ロード
 warmupを使う
404 NotFound


   スピンアップ時のURL構築~キャッシュ部分で
  DeadlineExceededErrorが発生
  中途半端な状態でキャッシュされていた
  kayの問題
メモリ使用量制限

 GAE/Pyのインスタンス(PythonVM)でメモリを使用
 しすぎると強制終了
 メモリ使用量がおよそ150~250MB程度で発生?
 集計に注意
   大きすぎるリスト
   大きすぎる辞書
メモリ使用量制限(2)

 変数を使ってキャッシュする際に注意
  メモリリークの可能性
 アプリケーションの規模が大きい場合
  コード量、モジュール数が多い
    各ロジックで使えるメモリが少ない
Exceeded soft memory limit ...
メモリ使用量制限(対策)

 1リクエストの処理を減らす
   タスクキューで分割
 モジュールは遅延ロードする
   使用頻度の低いものは極力ロードしない
 変数によるキャッシュを減らす
   Memcacheやデータストアを使う
キャッシュ不具合のデモ

(時間があれば。)
まとめ

 例外を潰さないように!
 例外が発生しても破綻しないように!
 1リクエストの処理は小さく!
 AppEngineはスケールするよ!
ありがとうございました。

Mais conteúdo relacionado

Destaque

Django最速デバッグ指南 PyConAPAC 2013
Django最速デバッグ指南 PyConAPAC 2013Django最速デバッグ指南 PyConAPAC 2013
Django最速デバッグ指南 PyConAPAC 2013hirokiky
 
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Pythonではじめる野球プログラミング  - kawasaki.rb #15 2014/8/27Pythonではじめる野球プログラミング  - kawasaki.rb #15 2014/8/27
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27Shinichi Nakagawa
 
Webフレームワークパネル(Django) at PyConJP 2012
Webフレームワークパネル(Django) at PyConJP 2012Webフレームワークパネル(Django) at PyConJP 2012
Webフレームワークパネル(Django) at PyConJP 2012makoto tsuyuki
 
Djangoフレームワークの紹介 OSC2015北海道
Djangoフレームワークの紹介 OSC2015北海道Djangoフレームワークの紹介 OSC2015北海道
Djangoフレームワークの紹介 OSC2015北海道Shinya Okano
 
Python札幌201406
Python札幌201406Python札幌201406
Python札幌201406Shinya Okano
 
Gunma.web #24 MySQL HA
Gunma.web #24 MySQL HAGunma.web #24 MySQL HA
Gunma.web #24 MySQL HAYusuke Muraoka
 
素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集いTakayuki Shimizukawa
 
価値を届ける技術 #bpstudy 96
価値を届ける技術 #bpstudy 96価値を届ける技術 #bpstudy 96
価値を届ける技術 #bpstudy 96hirokiky
 
ゲームインフラとGoogle Cloud Platformと酒!
ゲームインフラとGoogle Cloud Platformと酒!ゲームインフラとGoogle Cloud Platformと酒!
ゲームインフラとGoogle Cloud Platformと酒!Hasegawa Yusuke
 
Pycon2014 django performance
Pycon2014 django performancePycon2014 django performance
Pycon2014 django performancehirokiky
 
ウマナリティクス#2資料『PAI競馬予測が1番人気に挑む!』
ウマナリティクス#2資料『PAI競馬予測が1番人気に挑む!』ウマナリティクス#2資料『PAI競馬予測が1番人気に挑む!』
ウマナリティクス#2資料『PAI競馬予測が1番人気に挑む!』predictori
 
Djangoアプリの実践的設計手法
Djangoアプリの実践的設計手法Djangoアプリの実践的設計手法
Djangoアプリの実践的設計手法Ian Lewis
 
AWS Lambda を使ってみた話 at づや会Vol.3
AWS Lambda を使ってみた話 at  づや会Vol.3AWS Lambda を使ってみた話 at  づや会Vol.3
AWS Lambda を使ってみた話 at づや会Vol.3ko ty
 
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk SessionPythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk SessionShinichi Nakagawa
 
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装Satoshi Nagayasu
 
データ分析スクリプトのツール化入門 - PyConJP 2016
データ分析スクリプトのツール化入門 - PyConJP 2016データ分析スクリプトのツール化入門 - PyConJP 2016
データ分析スクリプトのツール化入門 - PyConJP 2016Akinori Kohno
 
Django から各種チャットツールに通知するライブラリを作った話
Django から各種チャットツールに通知するライブラリを作った話Django から各種チャットツールに通知するライブラリを作った話
Django から各種チャットツールに通知するライブラリを作った話Yusuke Miyazaki
 

Destaque (20)

Django最速デバッグ指南 PyConAPAC 2013
Django最速デバッグ指南 PyConAPAC 2013Django最速デバッグ指南 PyConAPAC 2013
Django最速デバッグ指南 PyConAPAC 2013
 
hello waf, hello phoenix
hello waf, hello phoenixhello waf, hello phoenix
hello waf, hello phoenix
 
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Pythonではじめる野球プログラミング  - kawasaki.rb #15 2014/8/27Pythonではじめる野球プログラミング  - kawasaki.rb #15 2014/8/27
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
 
Webフレームワークパネル(Django) at PyConJP 2012
Webフレームワークパネル(Django) at PyConJP 2012Webフレームワークパネル(Django) at PyConJP 2012
Webフレームワークパネル(Django) at PyConJP 2012
 
Djangoフレームワークの紹介 OSC2015北海道
Djangoフレームワークの紹介 OSC2015北海道Djangoフレームワークの紹介 OSC2015北海道
Djangoフレームワークの紹介 OSC2015北海道
 
Python札幌201406
Python札幌201406Python札幌201406
Python札幌201406
 
Gunma.web #24 MySQL HA
Gunma.web #24 MySQL HAGunma.web #24 MySQL HA
Gunma.web #24 MySQL HA
 
素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い
 
Django learning Part2
Django learning Part2Django learning Part2
Django learning Part2
 
価値を届ける技術 #bpstudy 96
価値を届ける技術 #bpstudy 96価値を届ける技術 #bpstudy 96
価値を届ける技術 #bpstudy 96
 
ゲームインフラとGoogle Cloud Platformと酒!
ゲームインフラとGoogle Cloud Platformと酒!ゲームインフラとGoogle Cloud Platformと酒!
ゲームインフラとGoogle Cloud Platformと酒!
 
Pycon2014 django performance
Pycon2014 django performancePycon2014 django performance
Pycon2014 django performance
 
ウマナリティクス#2資料『PAI競馬予測が1番人気に挑む!』
ウマナリティクス#2資料『PAI競馬予測が1番人気に挑む!』ウマナリティクス#2資料『PAI競馬予測が1番人気に挑む!』
ウマナリティクス#2資料『PAI競馬予測が1番人気に挑む!』
 
Django 1.9
Django 1.9Django 1.9
Django 1.9
 
Djangoアプリの実践的設計手法
Djangoアプリの実践的設計手法Djangoアプリの実践的設計手法
Djangoアプリの実践的設計手法
 
AWS Lambda を使ってみた話 at づや会Vol.3
AWS Lambda を使ってみた話 at  づや会Vol.3AWS Lambda を使ってみた話 at  づや会Vol.3
AWS Lambda を使ってみた話 at づや会Vol.3
 
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk SessionPythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
 
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
 
データ分析スクリプトのツール化入門 - PyConJP 2016
データ分析スクリプトのツール化入門 - PyConJP 2016データ分析スクリプトのツール化入門 - PyConJP 2016
データ分析スクリプトのツール化入門 - PyConJP 2016
 
Django から各種チャットツールに通知するライブラリを作った話
Django から各種チャットツールに通知するライブラリを作った話Django から各種チャットツールに通知するライブラリを作った話
Django から各種チャットツールに通知するライブラリを作った話
 

Semelhante a mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ

2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalkShozo Okada
 
2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalkShozo Okada
 
mixiのiOSアプリ開発
mixiのiOSアプリ開発mixiのiOSアプリ開発
mixiのiOSアプリ開発Kenji Kinukawa
 
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションC# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションYoshito Tabuchi
 
ネイティブ機能を利用する Webアプリの実例 ~PhoneGap×Rails~
ネイティブ機能を利用するWebアプリの実例~PhoneGap×Rails~ネイティブ機能を利用するWebアプリの実例~PhoneGap×Rails~
ネイティブ機能を利用する Webアプリの実例 ~PhoneGap×Rails~Daisuke Futatsumori
 
2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalkShozo Okada
 
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! Masato Noguchi
 
Firefox Marketplace and Payment
Firefox Marketplace and PaymentFirefox Marketplace and Payment
Firefox Marketplace and Paymentdynamis
 
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介Yoshito Tabuchi
 
Amon2 で造られた api サーバを引き継いで課金の実装をしました話
Amon2 で造られた api サーバを引き継いで課金の実装をしました話Amon2 で造られた api サーバを引き継いで課金の実装をしました話
Amon2 で造られた api サーバを引き継いで課金の実装をしました話Tomoo Amano
 
アプリ開発新時代!オープンデータを活用したお得な企画&プログラミングテクニック
アプリ開発新時代!オープンデータを活用したお得な企画&プログラミングテクニックアプリ開発新時代!オープンデータを活用したお得な企画&プログラミングテクニック
アプリ開発新時代!オープンデータを活用したお得な企画&プログラミングテクニックTaisuke Fukuno
 
Xamarin.FormsでもCognitive Servicesを使おう!
Xamarin.FormsでもCognitive Servicesを使おう!Xamarin.FormsでもCognitive Servicesを使おう!
Xamarin.FormsでもCognitive Servicesを使おう!ayasehiro
 
ngCore engine for mobage platform
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platformToru Yamaguchi
 
Leapmotionとp5.js:DEMOと解説
Leapmotionとp5.js:DEMOと解説Leapmotionとp5.js:DEMOと解説
Leapmotionとp5.js:DEMOと解説光吉 浜谷
 

Semelhante a mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ (20)

アプリのバックグラウンド処理 | iOS 7エンジニア勉強会
アプリのバックグラウンド処理 | iOS 7エンジニア勉強会アプリのバックグラウンド処理 | iOS 7エンジニア勉強会
アプリのバックグラウンド処理 | iOS 7エンジニア勉強会
 
2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk
 
2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk
 
mixiのiOSアプリ開発
mixiのiOSアプリ開発mixiのiOSアプリ開発
mixiのiOSアプリ開発
 
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションC# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
 
cloudmix GAE slides
cloudmix GAE slidescloudmix GAE slides
cloudmix GAE slides
 
Rubykaigi2010
Rubykaigi2010Rubykaigi2010
Rubykaigi2010
 
Mobile + HTML5
Mobile + HTML5Mobile + HTML5
Mobile + HTML5
 
ネイティブ機能を利用する Webアプリの実例 ~PhoneGap×Rails~
ネイティブ機能を利用するWebアプリの実例~PhoneGap×Rails~ネイティブ機能を利用するWebアプリの実例~PhoneGap×Rails~
ネイティブ機能を利用する Webアプリの実例 ~PhoneGap×Rails~
 
2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk
 
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
 
Firefox Marketplace and Payment
Firefox Marketplace and PaymentFirefox Marketplace and Payment
Firefox Marketplace and Payment
 
Tapnow資料
Tapnow資料Tapnow資料
Tapnow資料
 
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
 
Amon2 で造られた api サーバを引き継いで課金の実装をしました話
Amon2 で造られた api サーバを引き継いで課金の実装をしました話Amon2 で造られた api サーバを引き継いで課金の実装をしました話
Amon2 で造られた api サーバを引き継いで課金の実装をしました話
 
Stargazer Meetup #1
Stargazer Meetup #1Stargazer Meetup #1
Stargazer Meetup #1
 
アプリ開発新時代!オープンデータを活用したお得な企画&プログラミングテクニック
アプリ開発新時代!オープンデータを活用したお得な企画&プログラミングテクニックアプリ開発新時代!オープンデータを活用したお得な企画&プログラミングテクニック
アプリ開発新時代!オープンデータを活用したお得な企画&プログラミングテクニック
 
Xamarin.FormsでもCognitive Servicesを使おう!
Xamarin.FormsでもCognitive Servicesを使おう!Xamarin.FormsでもCognitive Servicesを使おう!
Xamarin.FormsでもCognitive Servicesを使おう!
 
ngCore engine for mobage platform
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platform
 
Leapmotionとp5.js:DEMOと解説
Leapmotionとp5.js:DEMOと解説Leapmotionとp5.js:DEMOと解説
Leapmotionとp5.js:DEMOと解説
 

Mais de Shinya Okano

Djangoエンジニアの観点から見たHue
Djangoエンジニアの観点から見たHueDjangoエンジニアの観点から見たHue
Djangoエンジニアの観点から見たHueShinya Okano
 
Djangoフレームワークのユーザーモデルと認証
Djangoフレームワークのユーザーモデルと認証Djangoフレームワークのユーザーモデルと認証
Djangoフレームワークのユーザーモデルと認証Shinya Okano
 
Djangoフレームワークの紹介
Djangoフレームワークの紹介Djangoフレームワークの紹介
Djangoフレームワークの紹介Shinya Okano
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplibShinya Okano
 
Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016Shinya Okano
 
Djangoフレームワークの紹介
Djangoフレームワークの紹介Djangoフレームワークの紹介
Djangoフレームワークの紹介Shinya Okano
 
Djangoのエントリポイントとアプリケーションの仕組み
Djangoのエントリポイントとアプリケーションの仕組みDjangoのエントリポイントとアプリケーションの仕組み
Djangoのエントリポイントとアプリケーションの仕組みShinya Okano
 
Hadoopとその周辺の紹介
Hadoopとその周辺の紹介Hadoopとその周辺の紹介
Hadoopとその周辺の紹介Shinya Okano
 
Delphi ideを使わない開発スタイルの紹介
Delphi ideを使わない開発スタイルの紹介Delphi ideを使わない開発スタイルの紹介
Delphi ideを使わない開発スタイルの紹介Shinya Okano
 
2011.06.01 和歌山高専
2011.06.01 和歌山高専2011.06.01 和歌山高専
2011.06.01 和歌山高専Shinya Okano
 
電子書籍の話
電子書籍の話電子書籍の話
電子書籍の話Shinya Okano
 
写真共有アプリのバックエンドサーバー
写真共有アプリのバックエンドサーバー写真共有アプリのバックエンドサーバー
写真共有アプリのバックエンドサーバーShinya Okano
 
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用Shinya Okano
 

Mais de Shinya Okano (14)

Djangoエンジニアの観点から見たHue
Djangoエンジニアの観点から見たHueDjangoエンジニアの観点から見たHue
Djangoエンジニアの観点から見たHue
 
Djangoフレームワークのユーザーモデルと認証
Djangoフレームワークのユーザーモデルと認証Djangoフレームワークのユーザーモデルと認証
Djangoフレームワークのユーザーモデルと認証
 
Djangoフレームワークの紹介
Djangoフレームワークの紹介Djangoフレームワークの紹介
Djangoフレームワークの紹介
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplib
 
Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016
 
Djangoフレームワークの紹介
Djangoフレームワークの紹介Djangoフレームワークの紹介
Djangoフレームワークの紹介
 
Djangoのエントリポイントとアプリケーションの仕組み
Djangoのエントリポイントとアプリケーションの仕組みDjangoのエントリポイントとアプリケーションの仕組み
Djangoのエントリポイントとアプリケーションの仕組み
 
Spring4Dの紹介
Spring4Dの紹介Spring4Dの紹介
Spring4Dの紹介
 
Hadoopとその周辺の紹介
Hadoopとその周辺の紹介Hadoopとその周辺の紹介
Hadoopとその周辺の紹介
 
Delphi ideを使わない開発スタイルの紹介
Delphi ideを使わない開発スタイルの紹介Delphi ideを使わない開発スタイルの紹介
Delphi ideを使わない開発スタイルの紹介
 
2011.06.01 和歌山高専
2011.06.01 和歌山高専2011.06.01 和歌山高専
2011.06.01 和歌山高専
 
電子書籍の話
電子書籍の話電子書籍の話
電子書籍の話
 
写真共有アプリのバックエンドサーバー
写真共有アプリのバックエンドサーバー写真共有アプリのバックエンドサーバー
写真共有アプリのバックエンドサーバー
 
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
 

mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ