事務所の住民たち
おごちゃん
Orcinusのリリースエントリの第四弾です。
先日Orcinusをプリインストールしたサーバをリリースしまました。
色々前後してしまいますが、CassetteServerについて説明します。
このサーバを購入して箱から出してLANに接続するだけで、すぐにOrcinusが動き、アプリストア上のアプリケーションをインストールして使えるようになります。
概要
CassetteOSのインストールはとても簡単なので、ちょっと試してみたい人はCassetteOSをインストールすればCassetteOSを動かすことは可能です。 要求ハードウェアも(中身がDockerなので)メモリこそそれなりに要求しますが、CPUは業務の内容見合いのものがあれば十分です。
しかし、実際にサーバとして運用するとなると、「それ用」のハードウェアが必要となりますし、スペックのこととか考えることになると思います。 なまじ要求するスペックが低いものですから、よけいに選択に迷うと思います。 技術のある人、多少のトラブルも平気な人であれば、「その辺のハードウェア」でも問題なく使えるはずですが、業務を安定して稼動させたいと思うと、ちょっと考えてしまうことだと思います。
それであれば、最初から専用ハードウェアを用意した方が楽だと思いますし、それであれば最初から動く状態になっている方が嬉しいんじゃないかと思って、ハードウェアとセットで販売することにしました。
ハードウェアについて
元々Cassette Serverはシングルボードコンピュータで動かすことを考えて設計を始めました。 ごく初期にはRaspberry Piをベースにデザインしていましたし、かなり最近までOrange Pi5を使うことを考えていました。 普段使いにしている分には不足はありませんし、サーバとしては十分過ぎる程度には使えます。 さすがにLLMを動かすのはしんどいですけど。
ところが実際に運用したりスペックを検討していると、
- SBC系だとハードウェアの制約が厳しい。特にメモリ増設が困難
- CPUや周辺機器の選択肢が少ない
- ミニPCベースの方が安定でコスパが良い
ということに気がつきます。 つまり、「普通の使い方」であれば、SBC系を使うよりはいわゆるミニPCの方が高コスパで安全で使いやすいものが作れるということです。
ポータブルにしたいとか電池駆動とか考えた時にはSBC系は良いですし、ノマド的な使い方をするのであればそれは都合が良いのですが、「普通のオフィス」に置いて使うのであれば、そういったことはあまり必要性がありません。 そうなるとハードウェアの制約の厳しさの方が目立ってしまって良くありません。 そこで、とりあえずリリースするものに関してはミニPCを元に作ることにしました。
最近のミニPCは良くしたもので、かつてお手軽サーバに「古いノートPC」を使っていた時にはしばしば連続運転が問題になったのですが(火災寸前とか)、今のミニPCは連続運転に関しては実にタフで、デスクトップPCと同等の安定さがあります。 つまり、普通のオフィス環境で使うサーバとしては十分の安定さがあります。
一番上のSBCが普段開発で使っているOrangePi5、その下がOrangePi5につないでいるHDD、一番下が普段使いのミニPCです。 このミニPC、購入してから電源落としたことはない気がします。 こういった酷い環境で連続稼動させても、特に不安になるようなことは起きません。 発熱も少ないですし。 SBCであるOrangePiは、ちょいちょい手動でrebootする必要があったりするのですが、ミニPCの方はそういったこともありません。
最近のミニPCであればM.2のソケットが複数ありますし、メモリも64GBくらいまでは後付けで簡単に増設できます。 Wi-Fiも技適の問題のないモジュールが搭載されています。 ケースもかなりしっかりしていて、SBCの最大の問題であった「ケースの適当なものがない」という問題もありません。
そういった意味で、現在のところ特に他の要求(ポータブルにしたいとか)がなればミニPCをサーバにするのが一番コスパが良くて安心だと言えます。
もちろん「電池内蔵でHDDくらいのサイズ」というSBCの魅力も捨て難いのでいずれそういったものも作ろうとは思っていますが、当初のリリースはミニPCを使ったものとします。
ベースOSについて
CassetteOSはDockerを中心に据えたソリューションです。 DockerとPostgreSQLが動けば(そのうち詳しく説明します)、どんなOSの上でも動かすことができます。
ですが、CassetteServerでは普通のUbuntu serverを割とストイックなパッケージ選択をして使うことにしています。 いわゆるDocker用のOSは使っていません。
理由はいくつかあって、
- CassetteOSは開発途上なので、極度に絞り込んだ環境を作ると面倒臭い
- CassetteOSはハードウェア操作を含んでいるので、「全てがDocker上」という運用がしづらい
- いわゆるDockerOSの類はデータセンター指向が強い
ということで、現状のCassetteOSにとってはあまり都合が良くないという判断です。 デプロイして動かすだけであれば、DockerOSの類でもいいと思うのですが、CassetteOSの場合は「実行環境」を作ってやる必要があるからですね。 PostgreSQLはCassetteOS自身も使っていますから、ここをDocker上のものにするとレイヤーバイオレーションが起きます。 それにそもそもの話として、いわゆるDocker OSの類はデータセンター等で使われることを想定しているものが多くて、CassetteServerの使い方だと面倒の方が大きくなってしまいます。
そういったこともあって、CassetteServerにはUbuntuがインストールされています。 Ubuntuは「小型にできる普通のdistro」という意味でしかないので、Ubuntuであることに依存したものではありません。
メンテナンス等
有料オプションでサーバのメンテナンスをするメニューがあります(月額5000円より)。 と言うか、ハードウェアとしてのCassette Serverを購入された場合は、メンテナンスもセットにされた方がいいと思います(任意ですが)。
メンテナンス契約は、
- Orcinusネットワークへの参加
- リモートメンテナンス
- いわゆる技術サポート
- リモートバックアップ
等がセットとなっています。
しばしば必要になるシステムのアップデート等も、自動あるいはリモートから実行することで、利用者はエンドユーザに徹することが可能となります。
Orcinusネットワーク
これはサポートからリモートでシステムの健全性を確認したり、軽微な異常はリモートから修正したりということを第一の目的としています。
この他に、バックアップデータをクラウドに保存するというようなサービスも提供する予定です。 基本的にはP2P暗号化で所有者以外には中身が読めないようにしますが、万一ローカルのサーバが使えなくなった場合には、クラウドサーバを使って運用を継続するようなことも可能にすることも予定しています。 もちろん原則はオンプレミス運用ですから、平時はローカルサーバを使うことが基本です。
このネットワークを経由して、必要であれば外部—と言っても顧問税理士等ですが—との連携も可能にします。 「先生、ちょっと見て下さい」ができるようにしたいという考えです。 もちろんそれは契約した士業との関係の上での話ですが、それを許容するところとは接続ができるようにするということです。
可能であれば、様々な連携を可能にしたいと思いますが、最初から大風呂敷を拡げてもしょうがありませんので、「これ以上」については今は考えないでおきます。
リモートメンテナンス
基本的にCassetteServerは「バックアップ以外はメンテナンスフリー」と考えています。 と言うよりも、載せるアプリケーションがそういった性質のものになるだろうと考えています。
とは言え、
- ストレージ等を増設したい
- 何かの理由でシステムがおかしくなった
- なんか調子が悪い
というような時には、何らかのアクションが必要になります。
そのような時でも、基本的には簡単に対処できるようにCassetteOSを作って行くのですが、それでも限界はあるでしょうし、当初は対応しきれない問題も発生すると思います。
そういった時に、リモートで対処可能なものはリモートで対処するというサービスを提供します。 また、リモートで対処不可能な事象が発生した場合は、その旨連絡ができるようにします。
現在のところ物理的な「サービスネットワーク」が存在していないので、オンサイトでのメンテナンスは不可能ですが。
技術サポート
サポートで一番期待されるのはこれだと思います。
当面はメールかチャットでの対応となると思いますが、ある程度の規模になれば相互サポートのためのコミュニケーションツールの提供とか、電話対応とかも考えたいと思います。
ただ、それ以前にアプリケーションのドキュメント等をちゃんと整備して、「技術サポートの金返せ」とか言われるくらいにした方が良いなとも思っています。 使いやすさは正義ですからね。
まとめ
このように「お手軽にオフィス用サーバ」をハードウェアレベルで実現したものがCassette Serverです。
中小零細の法人のIT化の決定版という地位を目指して改良を続けたいと思っています。