1時間3円でEC2を監視!「SIOS Coati」の魅力をあのエバに聞いた

文●大谷イビサ/TECH.ASCII.jp 写真●曽根田元

2017年06月27日 07時00分

サイオステクノロジーの「SIOS Coati」はAmazon EC2をエージェントレスで監視し、障害時にインスタンスを再起動してくれるサービス。1時間3円という低価格で利用できるSIOS Coati登場の背景や製品コンセプトについて、エバンジェリストのコーティー君に聞いた。えっ? コーティー君?(以下、敬称略 インタビュアー TECH.ASCII.jp 大谷イビサ)

イマイチ表情のわかりにくいコーティー君と私オオタニ

HAクラスターソフト「LifeKeeper」はクラウド時代にどうする?

コーティー:こんにちは。SIOS Coatiエバンジェリストのコーティーです。

オオタニ:どうも。えーっと、人間の人でもいいんですが、やっぱりコーティー君にお話しを伺うという企画でいいんですよね。

コーティー:はい。AWS Summit 2017のサイオスブースで終日お客様対応していたので、ちょっと疲れてますが、ちゃんとコーティーが対応しますよ。

オオタニ:あ、わかりました。では、まずSIOS Coati開発の経緯について教えてください。

コーティー:もともとサイオステクノロジーでは「LifeKeeper」というHA(High Availability)クラスターソフトを販売しています。2台のサーバーでアクティブ-スタンバイの構成をとっておき、もしアクティブ側のサーバーやアプリケーションがダウンしたら、自動的にスタンバイ側に切り替えて、処理を継続するというものです。お客様から見れば、瞬断はするかもしれませんが、ビジネス自体は継続できます。こういうビジネスコンティニュイティを実現するツールがHAクラスターソフトと呼ばれるものです。

オオタニ:サイオスさんといえば、OSS関係に明るいというのと、LifeKeeperのイメージがありますね。

コーティー:このLifeKeeperのビジネスはグローバルで20年以上展開しています。ただ、2014年の後半くらいからクラウドが一気に台頭してきたのを横目にしながら、オンプレミスのサーバーにインストールする形態のソフトウェアを、この先クラウドネイティブにするにはどうすればいいのかという議論が社内にわき起こりました。

エバンジェリストなので、さすが開発背景までよくわかっているコーティー君に取材

オオタニ:なるほどパブリッククラウドの台頭が製品登場の背景なんですね。

コーティー:LifeKeeper自体の市場にも課題がありました。もともとLifeKeeperはHAクラスターソフトという製品の性格上、落ちたら困るところに使われてきました。たとえばOracle DBのシステムはダウンしたら困るのでLifeKeeperを導入してもらえるのですが、社内用のWebサイトは落ちてもしょうがないからとLifeKeeperは我慢してしまいます。本当はもっといろいろなユーザーさんにも使ってもらいたいのです。こういう話から、社内で2014年末にクラウド時代の新しいサービスを考えようということになりました。

オオタニ:LifeKeeperに比べて、どういったところを変えようと考えたのですか?

コーティー:もちろん、LifeKeeperの実績は活かしたいという気持ちがありました。でも、LifeKeeperのコードを使うという前提に立ってしまうと、どうしても今までのビジネスの延長に終わってしまう。そこで、いままでのノウハウを生かしつつも、ゼロから完全に新しいモノを作ることにしたんです。

LifeKeeperにはOracle DBだったり、Apacheなどのサービスを立ち上げ直すリカバリキットがオプションで用意されていました。でも、これだと開発側はアプリケーションに併せてキットを作らなければならないし、お客様の導入の敷居も高い。結局、大事なサービスしか使わないことになってしまいます。SIOS Coatiはそのコンセプトを全部見直し、とにかくシンプルにして、誰でも使えるようにしました。

1時間3円でいいの? 男気あふれたSIOS Coati

オオタニ:なぜAWSを選んだか教えてください。

コーティー:正直、2014・2015年は各社のクラウドで、どんなビジネスができるのか、どうすればお客様に喜んでいただけるか、くまなく調べました。調査を経て、2015年後半、これから延びる先進的なプラットフォームとして当時一強だったAWSを選択しました。

オオタニ:で、サービス名の「Coati」を調べると、アカハナグマということなんですが、よく意味が……。コーチとか、放置じゃないんですよね。

コーティー:教える柄でもないですし、放置してどうするんですか。まあ、後発ですからね。キャラできちんと認知してもらって、あわよくばキャラクタービジネスまで進めたらいいなみたいな感じです。動物だとなんだかオ●イリーっぽいし、キャッチーじゃないですか。

オオタニ:マジレスありがとうございます。では、Coatiのできることをまじめに説明してください。

コーティー:具体的にはAmazon EC2のOS上で動いているすべてのサービスを監視して、OSのサービスコマンドで死活監視し、異常があったら、立ち上げ直すようにします。サービス自体がうまく再起動しない場合は、OSを再起動します。ここではOSのコマンドを使うのではなく、AWSのAPIを使っているので、インフラ側から確実に起動しなおせます。

SIOS Coatiの特徴

オオタニ:なるほど。実際にどうやって使うのか教えてください。

コーティー:SIOS Coatiは、AWSで提供するクラウドサービスであり、お客様のEC2があるVPCにVPC Peeringでつながせていただきます。ですから、エージェントを1つ1つインストールする手間もありません。リモート接続することで、OS上で動作しているサービスを監視し、落ちていたら、再起動します。また、再起動や復旧前後のログを記録し、レポートもメールで通知します。運用管理者の負荷を下げたいというのがCoati全体に流れる思想ですね。

オオタニ:インストール不要で、エージェントレスというのはいいですね。

コーティー:料金体系も完全従量課金にしていて、1時間あたり1インスタンスあたり3円。監視対象のインスタンスに対して、稼働した分だけ請求させていただくという形です。タグ付けすれば、監視対象から外すことも可能です。

オオタニ:1時間3円ということですが、けっこう思い切ってますね。

コーティー:やっぱりインパクトは必要ですし、AWSと同じ課金体系じゃないといけないとも思いました。お客様はやはりインフラのコストを下げようと思って、AWSを導入しているので、あまり高価なのはいけない。もちろん、監視していないのにお金をいただくのもフェアじゃないので、きちんと使った分だけお支払いしていただこうと思います。AWSと一緒でクレジットカード決済で、すぐに利用を開始いただけます。

オオタニ:なるほど。それならAWS使っている人からすると、親しみやすいですね。せっかくなのでリンクを張っておきましょう。

■関連サイト

コーティー:今までLifeKeeperはパートナー様経由での販売だけでした。でも、SIOS CoatiはAWS同様にクレジットカード決済で、すぐに使ってもらえるようにしました。システム面での苦労は意外とありませんでしたが、社内の立て付けとか業務部門との調整はけっこう大変でした。課金対象の動作をきちんと把握するというところが多少大変だったくらいですかね。

Python 3採用やスクラムなど開発も初めてづくし

オオタニ:サイオスさんがAWS上でサービスを作るのは初めてですか?

コーティー:いえ、すでに複数のサービスを提供しています。SIOS Coatiの開発メンバーの中には初めての開発メンバーもいましたが、もともとAWSのコンサルティングパートナー(2016年にテクノロジーパートナーに変更)として2012年から取り組んでいます。機能に関しては、AWSが提供しているサービスを利用できる場合は利用し、難しかったら自前で実装するという方法で開発しました。とはいえ、自前で実装後、AWSで実装された部分もけっこう多かったです。

SIOS Coatiの開発体制について語るコーティー君。表情からも一途な性格が受け取れる

たとえば、WebブラウザからバックエンドのEC2サービスをいろいろ操作しようと思って、当初はCloudFrontを組み合わせて実装しましたが、あとからAPI Getewayでサポートされてしまいました(笑)。

オオタニ:AWSは進化が速いので、そういうこともありますよね。開発環境はどんな感じだったのでしょうか?

コーティー:開発⾔語でPython使うのも初めてです。しかもPython3。最初からスクラム開発も初めてだし、Gitやdjango、Ansibleなど、OSSをここまで使ったのも初めてだと思います。

オオタニ:Pythonも新しいものを使ったんですね。

コーティー:どの言語を使うかは、2015年の開発当初はいろいろ議論がありました。みんなが詳しいもの、安定性を考えたら、たとえばPerl、Python2という選択肢もありましたが、3年後、5年後を見据えて、Python3にしました。実際にバージョン依存などPython3で、はまったこともありましたが、数年後を考えたら、すごい古い言語でメンテナンスすることになりますので。

オオタニ:開発体制はどんな感じだったんでしょうか?

コーティー:今までもアジャイルっぽい開発はやってきたのですが、今回は7人でスクラムを組んで、バックログ単位でローテーションしてやっています。1週間単位でスプリントサイクル回しながら、毎週反省を重ねながら開発を進められたと思います。

われわれも20年くらい仕様書のしっかりしたウォーターフォール型でやってきましたが、スクラムで進めているSIOS Coatiは品質の作り込みがよくなると思います。ただ、イメージに合った機能を作り込んでいくのがなかなか大変でした。どれくらいのスプリントで作り込めるのかの勘がつかめず、1週間かかると思ったのが、延びてしまい、バックログが芋づる式に膨らんでしまいました。ここは反省ですね。

オオタニ:なるほど。クラウドサービスは日々更新という世界ですからね。

コーティー:はい。テストの自動化も徹底的に進めました。オンプレミス型のプロダクトの場合、次のバージョンアップまでということで、テストの準備もできます。しかし、Coatiのようなクラウドサービスで、しかもお客様のサービスを監視するという役割を持っていると、品質の悪いバージョンアップは許されません。

今回はチーム内でコードをテストする体制を導入しました。他のエンジニアのコードをチェックするとともに、テストコードを必ず書くようにしました。そして、そのテストコードを別のエンジニアがまだレビューします。あと、コードを先行するのではなく、テストケースを必ず作るというルールをやりきっています。この仕組みを導入したことで、同じ箇所でも必ず3人がコードをチェックすることになるので、後々メンテナンスするのに役立つと思います。

監視に加え、EC2を立ち上げ直してくれるサービスはない

オオタニ:SIOS CoatiのようにAWSのシステムを監視するようなツールで競合はありますか?

コーティー:監視という意味では、それこそ純正のCloudWatchのほか、Zabbix、DataDog、Mackarelなどさまざまなサービスがあります。ただ、監視サービスはどこまで行っても監視なので、通知はくれますが、復旧まではしてくれません。その意味では、SIOS Coatiに完全に競合するサービスはないんですよね。

オオタニ:強いて言えば、MSP事業者ですかね。

コーティー:そう思われかもしれませんが、MSP事業者の方々も競合ではありませんね。MSPの方々は人手をかける分、月々でそれなりの料金がかかりますが、きめ細かく障害やトラブルに対応してくれます。一方、SIOS Coatiは監視と復旧までできて月額3万円なので、市場ニーズもそれなりにあると思っています。有人監視の精度までは必要ない、コストはかけられない、監視だけでは物足りないといった方々に選択肢を与えられるシンプルなサービスです。なのでむしろMSP事業者の方々は協業できるのではと思っています。

オオタニ:どんなユーザーをターゲットにしていますか?

コーティー:特定の重要なシステムに対して使ってきたLifeKeeperと異なり、SIOS CoatiはありとあらゆるAWSユーザーに使ってもらいたいです。クラウドは落ちると知って使っても、いざ落ちたらたぶんIT部門の人は怒られるんですよ(笑)。そんなIT部門のために「安心」を売るというサービスかもしれません。極論、障害ではなく、誤操作でEC2が落ちても、きちんと立ち上げ直してくれます。だから、復旧したあとにメールだけ確認すればOKです。ちなみにわれわれのCoati Manager自体もCoatiで監視しているので、サービス自身も安定的に運用しています。

AWS上でアプリケーション開発やWebサイト運営しているところは、インフラにあまり興味がないし、エンジニアもいません。こうした方々は、SIOS Coatiを使って運用を省力化していただけると思います。

オオタニ:今後のSIOS Coatiの進化の方向性について教えてもらえますか?

コーティー:機能的にはシンプルさを保ったまま、自動化やレポートの充実を進めていきます。今まではパートナー経由で、エンドユーザーさんの顔が見えなかった。でも、SIOS Coatiはお客様の声を直接吸い上げられるので、いろいろなフィードバックを活かしていきたいです。もう1つはグローバルを見据えています。日本市場専門のサービスではなく、世界中で受け入れられるサービスを目指しています。

オオタニ:ありがとうございました。そろそろ脱いでOKですよ。

コーティー:いや、だから。かぶり物じゃないですって。

取材の方、ありがとうござました!

■関連サイト

(提供:サイオステクノロジー)

■関連記事