B氏(仮名)はアプリケーション開発を担当してきた32歳。学生のときからサービスを自ら開発して公開してきた経験があり、本職である勤務先の仕事の傍ら、コンシューマーに受け入れられるサービスを自ら開発を続けてきた。前回の記事では無事に独立開業を果たした様子を紹介。
前回の記事で、「ニフティクラウドを使い倒したエンジニア」であるA氏から新規事業に適したインフラとしてニフティクラウドを紹介されたB氏。後編となる今回は、サービスが軌道に乗り、順調に成長してきたB氏を紹介する。B氏は「ニフティクラウドだったからこそ回避できたトラブルがたくさんありました」と語る。
アクセス数が急増! そのときニフティクラウドは自動で対処
サービスのPRも順調に進み、アクセス数も安定して伸びて来たB氏のアプリ。この頃のB氏の生活は、サービス開発と外部との打ち合わせが中心だった。グラフにすると下のようになる。
B氏の一日
11時に起床。夜間の負荷状況やアクセス数をチェック。
午前中は自分の時間に当て、アプリ開発やサービス企画に集中する。予兆監視(後述)で負荷が増えている処理に気づいた場合はサーバ台数を増やすかアプリを改善してサーバ台数をそのままにするかなどを判断する。
午後2時頃に昼食。ゆっくりできる店を選び、新しいアプリの企画を考える。
夕方は社外スタッフやタイアップのクライアントとの打ち合わせが多い。いかにしてユーザーの心をつかみ、人気アプリにするかを議論する。
夜間は問い合わせ対応や、集中してアプリ開発を行う。
午前5時頃、就寝。
B氏はこのように、アプリ開発に軸足を置いた生活をしているため、就寝中や外出中のトラブルに対処することは難しい。ある朝、B氏が起床してサービスを確認したところ、就寝中にアクセス数が爆発的に伸びていた。以前、アクセス過多でサービス停止を招いた苦い経験(詳しくは第1部を参照)をB氏はとっさに思い出した。
正直言って青ざめました。アクセス数を見るとケタが増えている。サービスが落ちずにユーザーへ提供できていたかがすぐに気になりました。急いで状態を確認したら、事前に設定しておいた『オートスケール』が機能し、動的に増設されたサーバがユーザーをさばききっていました。
その後、アクセス急増の理由を調べたら、なんとアプリランキングでトップ10に入っていたのです! ホッとしたことも合わせて、喜びがこみ上げてきました(B氏)
A氏のワンポイント!
オートスケールは、サーバー負荷等をトリガーとして動的にサーバを増設し、役目を終えたら再び縮小する機能です。一般的な月額課金のみのサービスではここまで柔軟にはいきません。しかもニフティクラウドは、サーバの用途に合わせて、1時間単位の従量課金や割安な月額課金を柔軟に選択可能なので、コストを最適化することができます。
スケールアウトする間隔などの情報はこちらの資料に記載されています。
面倒な監視系業務がラクに! 稼働監視・予兆監視が標準搭載
ひとりで開発から保守までを担当していると監視業務の負荷の大きさに苦労する。特に元々インフラ保守の分野に不慣れな場合はなおさらだ。
独立したばかりのエンジニアや社内ベンチャーなどで新規事業を立ち上げた直後は、保守で使えるリソースは自分だけです。監視システムを一から作って取り組もうとすると、本来やるべき開発業務に手が回らなくなってしまう不安がありました
(B氏)
その相談に乗ったA氏はB氏に次のようにアドバイスしたと言う。
サービス立ち上げ当初のサーバーは10台程度でしょう。それならば、最初はニフティクラウド標準の稼働監視と予兆監視で十分だと思います
(A氏)
ニフティクラウドでは、標準でPING監視やステータス監視ができ、これらをまとめると稼働監視として利用できる。また、「パフォーマンスチャート」でCPU、HDD、メモリのリソース監視をすれば、予兆監視として機能する。これによりたとえば「直近の10日間での容量の増加傾向から予測して、あと10日以内にスペックアップが必要だ」といった判断材料に利用可能だ。
A氏のワンポイント!
本格的な監視システムを作るのは、管理するサーバが数十台規模になったり、細かな項目を監視する必要が出てからでも十分でしょう。監視システムを作らないことで、サーバ台数を削減し、コスト節約もできますし、本来の目的であるアプリケーション開発に集中できます。
インフラをAPIで管理できるので保守業務がより簡単に
A氏が過去の記事で述べているように、ニフティクラウドはAPIがある事で、アプリのエンジニアがインフラを自分のものに出来る。
B氏も「プログラムからAPIを叩いて、サーバ増減やリソース増強が制御できるので、アプリエンジニアの得意の領域にインフラをもってくることができます」と使い勝手の良さを語る。
例えば、APIを利用して、サービス毎の独自コントロールパネルを作成し、サービス管理に利用するといった事も可能です。
APIのイメージ
HA(高可用性)環境により、万が一のハードウエア故障も迅速解決
自らハードウェアの保守をしなくて良いとはいえ、クラウドもハードウェア故障と100%無縁というわけではない。実際、メンテナンス作業の度に自分の管理するサーバが再起動されるクラウドもある。しかし、ニフティクラウドの場合、完全な冗長構成を備えるため、メンテナンス作業時を含め原則無停止で動作する。しかも、万が一自分の管理するサーバがハードウエア故障に遭遇した場合もHA(高可用性)を備えているため、約5分で復旧する。そのため、ハードウエア故障を気にする必要はほとんどない。
B氏はニフティクラウドへの信頼の高さについて、次のように話す。
ユーザーからクレームが来るほどの障害には直面していません。予兆監視でリソース増強の時期も予測して対処してきましたので、安心しています。
成長中のサービスにとって、いつでも安心して使えることがなによりも重要だと思います。自分の開発したアプリやサービスを、多くのユーザーさんに快適に使っていただきたいですから。
ひとまずインフラ環境については整ったので、今後はニフティのサポートも利用しながらさらにビジネスを改善していきたいです。
(B氏)