01. 営業中に止まると、何が起きるか
レジが使えないというのは、お店にとって「少し不便」では済みません。
会計:お会計ができない
施術を終えたお客様を、レジの前でお待たせすることになります。手書きの控えで対応しても、後からの入力作業が残ります。
予約:予約が確認できない
次にどなたが来店されるのか、何のメニューなのかが分かりません。電話でのお問い合わせにもお答えできなくなります。
顧客情報:カルテが見られない
前回の施術内容や使用した薬剤が確認できず、いつもの仕上がりをご提供することが難しくなります。
まず何も起きない事!備えとして障害時に自動で最速の復旧を準備していること 復旧まで数十秒・・・「障害に気づかない」そんなレベルでの復旧の仕組みをご用意しております!
saasjp.com は、異常を見つけたシステム自身が、人を待たずに切り替わるように作られています。
02. 一般的なPOSとの、決定的な違い
saasjp.com は、1ご契約者・企業さんにつき専用のサーバーを2台ご用意しております。他のご契約者さんと分け合うことはありません。
多くの業務システムは、1つの大きなサーバーを、たくさんの利用者で分け合う作りになっています。 設備を共有すれば安く提供できるため、広く使われている方式です。
ただしこの方式には、避けられない性質があります。どこか1つの利用者に起きたことが、他の利用者にも伝わってしまうことです。
隣のご契約者さんが大量のデータを
扱えば処理が重くなり、共有しているサーバーが止まれば、そこに集まっているすべてのお店が同時に止まります。
saasjp.com は、その逆の作り方をしています。ご契約者さん(お店)ごとに専用のサーバーを1台お渡しし、その控えをもう1台、離れた場所に用意します。
他社の影響を受けない。あなたのための1店舗につき「2台」の専用サーバーです!
何が変わるのか
| 比べる点 | 大部屋に多数同居型 | ✨ saasjp.com:贅沢なシングルテナント ✨ |
|---|---|---|
| 他店の影響 | 隣のお店の処理が重ければ、自分の店も遅くなります | 受けません。使えるのは、あなたのお店だけです |
| 障害が起きたとき | 同じ設備に乗っている全店が同時に止まります | 障害の他影響は0(ZERO)サブシステムへ自動切替 |
| データの置き場所 | 同じデータベースの中に、各店のデータが同居します | ご契約者毎に別のデータベース。共有しません! |
| 控え(予備) | 用意されていても全店で共有されます | ご契約者お店ごとに専用の控えが1台。 |
理由ははっきりしています。お金がかかるからです。 1つのサーバーを100店舗で分け合えば必要なサーバーは1台ですが、saasjp.com の方式では200台が必要になります。
それでも私たちがこの作り方を選んでいるのは、「他店の障害で、あなたのお店が止まる」という事態を、構造としてなくしたいからです。
運用の手間と設備の費用は
私たちSaaSjp.comの、みなさんに対する「想い」です! みなさんには、安心して営業して頂きたいと考えます。
03. お店ごとに、もう1台 しかも離れた場所に
2台目の設置稼動場所にも理由があります。控えのサーバーは、通常時利用のサーバーとは距離を離した別の場所に設置しています。
あなたの専用サーバー2台が「どこにあるか」を図にすると
ご利用者ごとのサーバー2台は、必ず別々の場所に分かれて設置あなたのシステムの控えは、あなたのためだけに、スタンバイしています。
2台を同じ建物に置くと、停電・回線の断線・火災・水害といった「建物ごとの事故」で、2台とも同時に失われます。 それでは控えを用意した意味がありません。saasjp.com は、普段のサーバーを自社で運用する設備に、 控えのサーバーを離れた場所に置き、片方が丸ごと失われても、もう片方で営業を続けられるようにしています。
04. 何かあったとき、何が起きるか
起きたことの大きさによって、対応が変わります。いずれの場合も人の操作は要りません。
ケース1:サーバーが1台だけ壊れた
控えのサーバーが自動的に役割を引き継ぎます。お店の画面には一度エラーが出ますが、読み込み直せば続きから操作できます。
ケース2:データセンターごと止まった(回線断災害等)
離れた場所の控えが引き継ぎ、お店からの接続先も自動的に切り替わります。接続先の切り替えが行き渡るぶん、少し時間がかかります。
お店の画面では、こう見えます
| タイミング | 画面の様子 |
|---|---|
| 切り替わる直前 | 操作の途中だった場合、一度だけエラーが表示されます |
| 切り替わった後 | 画面を読み込み直すと、ログインしたまま、続きから操作できます |
| その後 | 普段どおりです。お店側で設定を変えていただく必要はありません |
ログインし直していただく必要はありません。ログインの状態も、会計データと一緒に控えのサーバーへ送られているためです。
05. 3つの場所に分けている理由
ここが、saasjp.com でいちばん手をかけている部分です。「切り替えるべきか」を正しく判断するために、3つ目の場所を用意しています。
2つの場所だけでは、困ったことが起きます。「相手が本当に壊れたのか」それとも「連絡が取れないだけなのか」を区別できないのです。 区別できないまま切り替えてしまうと、無事に動いているサーバーを捨てて、営業を止めてしまうことになります。
冗長化というと「すぐ切り替わること」ばかりが語られがちですが、切り替えなくていい場面で切り替えてしまうと、それ自体が障害になります。
saasjp.com は、切り替える判断と、切り替えない判断の両方を正しく行えるように設計しています。
06. データ・システムも、二重に守っています
「動き続けること」と「データが残ること」は、別の備えが必要です。saasjp.com は両方を用意しています。
| 備え | 守れること |
|---|---|
| 控えのサーバー 常時コピー |
サーバーの故障、ディスクの故障、データセンターごとの停止 |
| 毎日のバックアップ 別の場所に保管 |
誤操作による削除等バックアップ実行時点に戻す(手動) |
控えのサーバーは「今の状態」をそのまま写し取っています。つまり間違って消した操作も、忠実に写し取られます。
だからこそ、過去の時点に戻せるバックアップを別に毎日取り、3つの場所のいずれとも違う場所に保管しています。
07. 出来事への対応一覧です
電気・ネット環境双方が供給されていれば守られます。
| 起こりうること | 対応 | お店への影響 |
|---|---|---|
| サーバー1台の故障・フリーズ | 自動で復旧 | 約30〜40秒の中断 |
| 建物の停電・回線断・災害 | 自動で復旧 | 約1〜2分の中断 |
| 控え側だけの障害 | 影響なし | 中断なし |
| 操作ミスによるデータの削除 | バックアップから復元が必要 | 手動作業による復元 |
| お店側のインターネット回線の不通 | 別の接続に切替 | テザリングなど別のインターネット接続に切り替えれば、そのままご利用いただけます |
| お店の端末(レジ・タブレット)の故障 | 対応できません | 別の端末からはご利用いただけます |
離れた場所の控えへ切り替わりますが、その直前の数秒ぶんの操作が、控えに届いていない可能性があります。
私たちは、日々の営業の速さを優先し、ごくまれな建物障害の際に数秒ぶんが失われる可能性を受け入れるという選択をしています。
失われうるのは「最後の数秒の操作」であり、当日の売上記録がまとめて消えるようなことはありません。
08. 使っている技術について
技術方面に興味が強い方に、説明します。
| 項目 | 内容 |
|---|---|
| データベース | PostgreSQL。金融機関や公共機関でも採用されている、実績のあるデータベース管理ソフトウェアです |
| 複製の方式 | データベース標準のレプリケーション(複製)機能を使い、更新の履歴をそのまま控えへ送っています。 表の構造変更や連番も自動的に追従します |
| 切り替えの判断 | 3か所に分けて設置した仕組みによる多数決。過半数の合意がなければ切り替えは起こらないため、両方が同時に「自分が本番だ」と思い込む事態が起きません |
| 接続の振り分け | 各サーバーが「今、実際に処理できる状態か」を返す専用の確認先を持ち、その応答を見て振り分けています |
| 拠点の切り替え | 接続先の名前(ホスト名)の向き先を書き換える方式。反映までの秒数を短く設定しています |
| 監視 | 2系統。1つは内側からサーバーと切り替えの発生そのものを、もう1つは外側からお店の画面が開けるかを確認しています |
| バックアップ | 日次の取得に加え、任意の時点へ戻せる方式を併用。定期的に「実際に戻せること」の訓練を行っています |
「自動で切り替わったこと」自体も監視しています。自動で復旧する仕組みは、放っておくと 「いつの間にか控えで動いていて、本番側は壊れたままだった」という状態を招きます。 切り替えが起きたこと自体を通知の対象にし、その日のうちに元の状態へ戻す運用としています。
09. よくあるご質問
切り替わったとき、お店で何か操作は必要ですか?
いいえ、不要です。画面を読み込み直していただくだけで、ログインしたまま続きから操作できます。設定の変更やアプリの入れ直しは必要ありません。
切り替わったことは、お店に知らされますか?
切り替わりは自動で完了するため、通常は意識していただく必要はありません。営業に影響が出た場合は、こちらからご連絡いたします。
夜間や休日に起きた場合も、同じように復旧しますか?
はい。切り替えの判断も実行も、担当者の操作を介さずに行われます。時間帯による差はありません。
他のお店で障害が起きたら、うちも止まりますか?
止まりません。お店ごとに独立したサーバーをご用意しているため、他店の状況があなたのお店の動作に影響することはありません。
会計データが消えることはありませんか?
通常の運用で失われることはありません。建物ごとの障害という、ごくまれな場合に限り、直前の数秒ぶんの操作が控えに届いていない可能性があります。
また、これとは別に毎日バックアップを取得しており、誤って削除してしまった場合も過去の時点へ戻すことができます。
メンテナンスのために止まることはありますか?
更新作業は、控えのサーバーから順に行い、途中で役割を入れ替える手順を取ります。この方式により、営業時間を止めずに更新できます。
お店のインターネットが切れた場合はどうなりますか?
saasjp.com が備えているのは「システム側の障害」に対してであり、お店側の回線そのものを代わることはできません。
ただし、ご利用の機器をテザリングなど別のインターネット接続に切り替えていただければ、お店の回線が復旧するまでの間もそのままご利用いただけます。データはすべてサーバー側にあるため、接続の経路が変わっても、会計も予約も続きから操作できます。
回線が復旧したら、元の接続に戻していただくだけです。
10. 用語集
このページに出てくる言葉を、ご存じない前提でまとめました。ここだけ読んでも分かるようにしています。
このページの中心になる言葉
| 言葉 | 意味 |
|---|---|
| サーバー | 会計・予約・カルテのデータを預かり、処理をしているコンピューターのこと。お店の端末から、インターネット越しに使っています |
| 控えのサーバー 別の呼び方:待機系、スタンバイ | 普段使うサーバーとまったく同じ中身を持ち、離れた場所で待っているサーバー。普段は処理をせず、いつでも代われる状態を保っています |
| 切り替え(自動切替) 別の呼び方:フェイルオーバー | 普段のサーバーが使えなくなったとき、控えのサーバーが役割を引き継ぐこと。saasjp.com では人の操作なしに行われます |
| シングルテナント このページでの言い方:お店ごとに専用 | 利用者(お店)ごとに、専用のサーバーとデータベースを用意する方式。設備が分かれているため、他のお店の状況に影響されません。saasjp.com はこの方式です |
| マルチテナント このページでの言い方:みんなで分け合う | 1つのサーバーを多くの利用者で共有する方式。安く提供できる反面、その設備が止まると、乗っているすべての利用者が同時に止まります |
| 冗長化(じょうちょうか) | 同じ働きをするものを2つ以上用意しておき、片方が壊れても続けられるようにすること。このページ全体のテーマです |
| コピー(複製) 別の呼び方:レプリケーション | 普段のサーバーで起きた変更を、控えのサーバーへ送り続け、同じ中身に保つこと |
| バックアップ | 別の場所に保存しておく、過去の時点のデータ。コピーとは目的が違います。コピーは「今の状態」、バックアップは「過去の状態」を残すものです |
| データセンター | サーバーを置くための専用の建物。電源・空調・通信回線・入退室の管理が整えられています |
| クラウド | 他社が運営するデータセンターの設備を、必要なぶんだけ借りて使う仕組み |
仕組みにかかわる言葉
| 言葉 | 意味 |
|---|---|
| 多数決(過半数) 別の呼び方:クォーラム | 切り替えるかどうかを決めるための投票。3票のうち2票以上の合意が必要です。これがあるため、2台が同時に「自分が本番だ」と思い込む事態を防げます |
| 3か所目 | 普段の場所とも控えの場所とも独立した、3つ目の設置場所。投票の1票だけを置いています。「本当に落ちたのか、通信が切れただけなのか」を区別するために必要です |
| ホスト名 | お店の端末がつなぎに行く先の名前。〇〇.example.com のような文字列です |
| 接続先の切り替え 別の呼び方:DNS切替 | ホスト名の向き先を書き換えて、つなぎに行く場所を変えること。端末側で覚えている時間があるため、反映まで数十秒かかります |
| 稼働監視(死活監視) 別の呼び方:ヘルスチェック | 相手が生きているかを、定期的に確認し続けること。saasjp.com では数秒ごとに確認しています |
| 常時コピーの遅れ | 普段のサーバーから控えへデータが届くまでの、ごくわずかな時間差。ここが「建物ごと止まったときに数秒ぶんが失われうる」理由です |
| ログインの状態 別の呼び方:セッション | 「このブラウザは、この担当者としてログイン済み」という記録。saasjp.com ではこれもデータベースに保存しているため、切り替わっても引き継がれます |
製品・ソフトウェアの名前
| 名前 | 意味 |
|---|---|
| PostgreSQL ポストグレスキューエル | saasjp.com が使っているデータベース管理ソフトウェア。誰でも使える形で公開されており、世界中で長く使われています |
| データベース | データを整理して保存し、素早く取り出すためのソフトウェア。会計・予約・カルテはすべてここに入っています |
| オープンソース | 設計の中身が公開されているソフトウェアのこと。多くの技術者の目に触れているため、問題が見つかりやすく、修正も早い傾向があります |
時間にかかわる言葉
| 言葉 | 意味 |
|---|---|
| 約30〜40秒 | サーバー1台が使えなくなってから、お店で操作を再開できるまでの目安 |
| 約1〜2分 | 建物ごと止まった場合の目安。接続先の切り替えが端末に行き渡る時間を含みます |
| 24時間監視 | 営業時間に関係なく、常に稼働状態を確認し続けていること |