自宅サーバかEC2かGAEか

ちょっとサービスを作ろうと思っているが、ホスト先を悩んでいる。
選択肢は大きく3つ

  • 自宅サーバ
  • Amazon EC2/S3
  • Google App Engine (GAE)

いずれも Java を動かすつもりでいるが、決定打がない。

自宅サーバ

【メリット】

  • 今すぐ始められる(検証目的では設置済み)
  • OS環境面など自由がきく

【デメリット】

  • 安定性(回線、サーバダウン)
  • 動的IP(固定IPは有料)
  • 実は電気代って結構かかるらしい

Amazon EC2/S3

【メリット】

  • 今すぐ始められる
  • OS環境面など自由がきく
  • 複数インスタンスの確保が簡単

【デメリット】

  • 有料(アクセス数が多くなると高い!?)
  • レイテンシー(遅いといわれている)
  • ディスク保存などにややくせがある?
  • 負荷分散とかいろいろ考える必要あり?

【参考になる記事】

Google App Engine for Java

【メリット】

  • 今すぐ始められる(アカウント取得済み)
  • スケールアウトが自動

【デメリット】

  • 有料(アクセス数が多くなっても大丈夫そう?)
  • 永続化を中心にアプリが GAE 専用になってしまう

【参考になる記事】

なやむ。
落ちてもごめんなさいで自宅サーバで始めるかなぁ・・・・。

JJUG アマゾン EC2 ナイトセミナ 第2回

JJUGナイトセミナー「アマゾン EC2 ナイトセミナ 第2回」と題して以下のお話が聞けるようです。

  • 自宅サーバからEC2へ
  • AWSから見るクラウドコンピューティング

私もお世話になっているモバツイの中の人(藤川真一さん @fshin2000)とAmazon EC2関連本の著者(匿名希望様)のお話が聞けるそうです。
ぜひ参加しましょう。って、参加者多数の場合、抽選じゃん!
宣伝した人枠とかで入れないかな。

クラウドに関する勘違い。まぁそれもありか

社内の偉い人たちのクラウドに関する認識のなかでどうもしっくりこない件がある。

みんな「クラウドに乗せるとスケーラビリティーがアップする」と思っている点である。

そもそも、お偉い方はスケールアップとスケールアウトを理解していないし、クラウドサービスを使うと、簡単にリソース追加でいろいろ解決してくれると思っているようだ。
スケールアウトは少なくともネックになっている部分がサーバ増やすことで解決できなければ意味がなく、それって大抵の場合ちゃんと設計ができていない場合も多く、サーバを増やしても効果ないというか、ちゃんと動かない。

そもそもクラウドサービスってなにか、語る人によって違うレイヤーの話題も混ざってて会話がかみ合っていないことも。
たとえば Amazon EC2 なのか Google Apps Engine なのかで全然違うでしょ。Azure しかり。
いわゆる IaaS や PaaS やら仮想サーバのホスティングサービスやら。

ちなみに「Amazon EC2で「スケールアップ」のジレンマ」(7/3 ITpro) ということもあるそうな。
まぁ、それでもスモールスタートとかはしやすいし、キャンペーンなど一時的なトラフィック増加などで、時間貸しでリソース追加できるのも事実可能でありがたいと思うわけで、完全に間違っているというわけでもなく。

クラウド移行に適するパターン」(8/11 InfoQ) などを参考にいまいち勘違いしてそうな人へは引き続き啓蒙活動をしていくのも役割なのかなと。
自分が間違った認識とならないようにいろんな記事に目を通していこうっと思う今日このごろであった。

そういえば「オープンガバメントクラウド・コンソーシアム」ってなんか、儲けるための自分たちに有意な仕組みを作ろうと必死な感じがして、あまり好きになれないなぁ。

独り言っぽくて申し訳ない。

“on behalf of” を付けないように Gmail で SMTP サーバを指定する

Send mail from another address without “on behalf of”」(7/30 Official Gmail Blog)

Gmail から送信するメールの From を Gmail 以外のメアドになるよう設定変更している場合に、Gmail は 実際の Gmail アカウントのアドレスを Sender ヘッダに記録して送信します。

この場合、一部のメールクライアント(Microsoft Outlook)などでは、受信者の表示が “From username@gmail.com On Behalf Of customaddress@mydomain.com” となってしまい、なんだかなぁな状態になってしまいます。

From さえちゃんとしてくれれば Sender ヘッダは気にしないつもりでも、これではさすがに困ります。
これを回避するために、利用者が用意した SMTP サーバを使用してメール送信できる機能が追加されました。

日本語環境だと「設定」→「アカウントとインポート」→名前:「情報を編集」で、「次のステップ」に行くと設定できます。

残念ながら「さくらインターネット」の SMTP サーバでは STARTTLS (Port25 or 587) にしか対応していなためか、SSL 接続では送信できませんでした。もしかしたら証明書検証の問題かもしれません。
仕方なく SSL のチェックははずしました。

それでもこの機能はありがたい。Google 良い仕事してます。

IT業界で楽しく仕事をするための10カ条

新書なんかで「○○にするための××つの法則」などよくありますが、今回紹介するのは「IT業界で楽しく仕事をするための10カ条」 (@IT 2009/3/11)です。

ちょっと昔の記事ですが、入社前の新人に向けた内容となってまして、この8月にうちのチームにも新人が来たことであらためて紹介しようかなと思ったわけです。

箇条書き部分だけ引用すると以下のとおり。記事ではそれぞれに理由など色々と書かれています。

  • 本や雑誌を買って読むべし
  • 分からないことは、なるべく自分で調査するべし
  • お気に入りのWebサイトを見つけて読むべし
  • 社内外に向けて情報発信するべし
  • 勉強会やセミナーに出席するべし
  • 専門家であるべし、さらに多くの“基本”を網羅的に知っておくべし
  • 誰が何を知っているのか、人的ネットワークを広げるべし
  • 自分のコンピュータと気に入った新しい携帯電話を持つべし
  • 1つのプログラミング言語だけではなく複数の言語を使いこなすべし
  • 適切なメモを取るクセを付けるべし

もうこれね、ほとんど私が昔からずっと言ってきていることとかなりのところでかぶるんですよ。

Webアプリを作るのに HTTP がどうなっているかも良く分からずに、リダイレクトとリライト(Apache だと mod_rewrite でリダイレクトも書けるからか?)を混同したりしてるけど、とりあえず作れているみたいな。これ以上書くと愚痴になるけど、本当に基本をしっかり押さえてほしい。

もし、この日記を読んでいる新人SEがいましたら是非、先の記事を熟読してください。旧人も初心に帰りましょう。

私は最近、リバースプロキシの pound のソースを読んでて、ソケット通信の IPv6 対応コードを見て、自分が作った当時の基本は IPv4 でしたが、これからは IPv6 になるわけで、ちゃんと語れる技術者は育っているのだろうかと不安になってきたりしました。