1985 年に設立され、クライアント運用管理ソフトウェア「SKYSEA Client View」で知られる Sky。同社は 1990 年から 30 年にわたって、学校向けに IT 機器販売とソフトウェア提供を行ってきた老舗企業でもあります。2020 年には、GIGAスクール構想を受けて、学習支援ソフトウェア「SKYMENU」のクラウド版を Azure 基盤上で開発しました。その際に採用されたのが「Azure Cosmos DB」を始めとした最新技術です。Sky の新サービス開発において、Azure や Cosmos DB はどのような役割を果たしたのか、副本部長にお話を伺いました。
GIGAスクール向けソフトウェア「SKYMENU Cloud」の基盤に Azure を採用
「青空のごとく大きな考えでシステムを創る」を企業理念に 1985 年に設立され、自社パッケージ商品の開発・販売、システムインテグレーションを中心とした ICT ソリューション事業と、カーエレクトロニクスをはじめとする組込みソフトウェアや業務系システムなどの開発を手掛けるクライアント・システム開発事業を展開する Sky。東京と大阪に本社を置き、グループ従業員は 3329 名 (2021 年 11 月 1 日現在)で、売上高は 1303 億円(2021 年 3 月期)に達します。
Sky が提供するパッケージ商品の中で特に広く知られているのは、企業・団体向けクライアント運用管理ソフトウェア「SKYSEA Client View」です。近年では、テレワークを中心とした新しい働き方への対応を受けて、大規模ユーザー向けシンクライアントシステム「SKYDIV Desktop Client」の採用も広がっています。
また、政府の推進する GIGAスクール構想を受けて、学習活動を支援するさまざまなソフトウェアの提供でも全国の数多くの学校で利用され存在感を放っています。Sky は会社設立から間もない 1990 年から、中学校・高校のコンピュータ教室向けに IT 機器販売事業を展開してきた教育ソフトウェア開発の老舗です。コンピュータ室で利用する学習支援ソフトウェア「SKYMENU」を MS-DOS 環境で開発し、Windows OS の登場と共に「SKYMENU Pro」としてバージョンアップし、タブレット端末の利用が進むと「SKYMENU Class」と、デスクトップアプリケーションの進化を重ねてきました。そして、現在では、Web アプリケーションへと 30 年にわたって SKYMENU シリーズを提供しています。Sky の ICT事業本部 副本部長の金井 孝三 氏は、こう話します。
「コンピュータ室にパソコンが入っていても、当時は管理するためのソフトウェアがほとんどありませんでした。授業中は生徒たちが自分のパソコンで自由にソフトを立ち上げ、教員はそれを止めることができなかったのです。そこで、教員のパソコンの指示で生徒たちのパソコンのアプリケーションを立ち上げたり、教員に注目させるために、キーボードやマウスのロックをしたりするソフトを作りました。その後、教員のお困り事を解決するためにさまざまな機能を追加開発し、SKYMENU を充実させていきました。現在の SKYMENU Cloud はクラウドに対応し、発表ノートやグループワークなど、児童生徒 1 人 1 台のパソコンを生かすさまざまな機能を提供するサービスとなっています。端末も Windows PC だけでなく、Chromebook、iPad に対応し、電子連絡板や出欠ノートなど学校と家庭をつなぐ仕組みも提供しています」(金井 氏)。
クラウドに対応した新サービス「SKYMENU Cloud」のインフラ基盤に採用されたのが、Microsoft Azure(以下、Azure)です。
クラウド化に伴うセッション情報・ログ管理では「Cosmos DB」がカギに
新サービスのインフラ基盤に Azure を採用した大きな背景には、Sky がこれまで長きにわたってマイクロソフトの技術をベースにソフトウェアを開発してきたという経緯があります。MS-DOS 版の開発はもちろん、Windows 版のデスクトップアプリーションや、クライアントサーバ環境での Web アプリケーションまで、Windows OS に最適化された開発言語や開発ライブラリを全面的に採用してきたのです。
「Sky にはお客様に Windows OS をベースとしたアプリケーションソフトウェアを過去から提供してきた実績があり、社内には Windows OS 環境における開発スキルやノウハウが蓄積しています。クラウドへの移行を検討する際にも、そうした資産を最大限に生かすことが大前提であり、Azure の採用はごく自然な選択でした」(金井 氏)。
Azure を採用することのメリットとして、これまでにマイクロソフトのパートナーとして多種多様な技術支援を受けていたことも挙げられます。最新技術の紹介や活用にあたっての充実したサポート体制が提供されるため、新しい環境で新サービス開発に取り組みやすかったといいます。
「Sky では長年の実績もあり、基本的にすべてのパッケージソフトウエア製品についてオンプレミスを前提としたシステムとして提供してきました。ただ、GIGAスクール構想ではクラウド・バイ・デフォルトの原則に則り、SaaS による提供が必須となり、サービス基盤についてもパブリッククラウドを利用することが求められており、その際には、オンプレミスで実現していたことと異なる技術要件のもと、機能を実装していかなければなりません。SKYMENU Cloud は、Sky として本格的に開発する初の SaaS であり、新技術の活用においてはマイクロソフトのサポート体制は大きな力になると考えました」(金井 氏)。
特に重要だったのがデータベースです。オンプレミス環境では Windows Server と SQL Server を組み合わせたシステムで十分な性能と安定性、信頼性を担保することができました。システム導入も学校などの利用環境のサイジングも行いやすく限られた範囲で行なうため、拡張性やセキュリティなども担保しやすい状況でした。しかし、クラウドサービスとして提供する場合、数十万、数百万といった規模でユーザーアカウント、セッション情報、ログなどを管理する必要があります。
「SQL Server や SQL Database などのリレーショナルデータベースだけでは、膨大なセッション情報やログなどを管理しにくいと感じていました。そこで目をつけたのが NoSQL サービスの Azure Cosmos DB(以下、Cosmos DB)です。2017 年に発表されたときから弊社内では注目しており、SKYMENU のクラウド化にあたってのポイントになると考えました。技術サポートを受けながら、Cosmos DB を活用できるかどうかが SKYMENU Cloud 成功のカギだったのです」(金井 氏)。
1 学年約 100 万人の利用を見越してデータベースに求められる要件を決定
SKYMENU Cloud の開発では、従来から提供してきた性能や安定性、信頼性を確保しつつ、サービスの拡大に備えて、拡張性や可用性、セキュリティをどう確保するかが課題となりました。特に、HTTP のセッション情報やログインのリトライ回数など不正アクセスに備えたログ情報といったデータは、データ長が不定形で、ユーザー数に応じて増加するため、データベース設計が難しかったといいます。
「データベースは、アカウント情報やライセンス情報といったデータが固定長で、ユーザー数が決まれば全体のサイズも決まるものには SQL Database を利用。一方、セッション情報やログなど不定形で全体のサイズが予測できないものは Cosmos DB を利用する構成です。Azure の東日本リージョンと西日本リージョンを使ってシステムの冗長性と信頼性を高め、PaaS を活用して保守性や運用管理性を高めています。これにより、オンプレミスのような性能や信頼性の高さと、クラウドの拡張性や保守性の高さを両立できるようになりました」(金井 氏)。
セッション情報やログを管理する仕組みを Azure 上で独自に開発することも検討しましたが、ユーザー数の増加とともにデータ量が大きく拡大していき、複数のインスタンスを管理していくことを考えた時に、メンテナンスが課題になったといいます。独自にデータ管理の仕組みを作ってしまうと、それがメンテナンスのしにくさにつながる懸念があったのです。
「バージョンアップやメンテナンスのために頻繁にシステムを止めると、学校の授業運営に支障が出る可能性があります。毎朝 7 時には確実にシステムを稼働させる必要がありますし、先生が採点などで昼間の授業時間外にサービスを利用することも想定しなければなりません。また、Azure の東西のリージョン間でデータをバックアップしてデータを保護していますが、タイミングによってはそれぞれのリージョンごとにシステムを止める仕組みを構築する必要があります。いま日本には 1 学年におよそ 100 万人の児童生徒が在籍しており、小中高等学校(6 年+ 3 年+ 3 年)で 1200 万人となります。現時点でも、SKYMENU Cloud は約 180 万人の児童生徒の方々にご利用頂いていますが、今後、サービスが拡大すれば、利用ユーザー数も教育委員会様単位で新規ご契約頂く度に数万人単位で増えていき、積み重なっていきます。しかし、利用ユーザー数の増加ペースに合わせること無く限られた人数で管理していく必要もあります。重要なことは、作るソフトウェアの規模は小さいほうがよく、自分たちの強みとなるアプリケーション以外の部分については、使えるものはできるだけ使ったほうがよいということです。こうしたさまざまな要件を考慮すると、自前でデータ管理の仕組みを作るのではなく、PaaS として Cosmos DB を利用することが最適な選択肢でした」(金井 氏)。
オンプレミス環境でデータベース試験を徹底的に行ない、開発を効率化
金井 氏によると、Cosmos DB を利用するメリットは、多種多様な非構造化データを効率良く扱えること、スケーラビリティに優れていること、複数リージョンに分散してデータベースを管理できること、PaaS としてメンテナンスを最小限にできることなどにあります。Cosmos DB の利用料金は別途必要になりますが、自作した場合のメンテナンスコストを含むトータルコストで比較すると、Cosmos DB を利用したほうが競争力のある価格を実現できたといいます。Cosmos DB を利用した効果について、金井 氏はこう話します。
「通常、新しい製品やサービスを利用する際には、学習のためのコストが追加でかかります。Cosmos DB も Sky として初めて利用するサービスでしたが、実際には特段困ることもなく、自然に使い始めることができました。開発者はマイクロソフトの開発環境を使い慣れていて、そのスタイルやノウハウを Cosmos DB を使ったデータベース設計でも生かすことができたためです。その際には、マイクロソフトのさまざまな面からの技術サポートも力になりました。特に、Cosmos DB についてはローカルでの検証評価環境の提供が役立ちました」(金井 氏)。
Cosmos DB 自体はクラウドネイティブな PaaS ですが、オンプレミスでさまざまな試験を行なうことができる環境として「Azure Cosmos DB Emulator」が提供されています。Sky では、Azure Cosmos DB Emulator も使って、リリース前に徹底的な試験や検証を行ないました。
「一般にソフトウェア製品の評価は、モジュール単位の試験や組み合わせでの試験、完成してからの試験など非常に多くの試験を走らせて行ないます。ソフトウェアの不具合によってデータベースが上書きされたり、破壊されたりすることもありますから、徹底的に実施することが重要です。特に SKYMENU Cloud は児童生徒が作成した成績評価にもつながるデータを取り扱うサービスですから、ソフトウェアの不具合でデータが消えることはあってはなりません。Azure や Cosmos DB は、すべての試験をクラウド上で実施するのは、もちろんですが、部分的にオンプレミスで Azure Cosmos DB Emulator も使いながら、開発を効率化することができます。そうしたハイブリッドな開発ができることも大きな魅力です」(金井 氏)。
Sky では、開発チームと運用チームは一体的に運用されています。本番リリース後の運用を見据えて開発段階から運用を見据えたシステム設計と、十分な評価を行うことが出来る環境を確保することで、リリース後の不具合を押さえ込むことが可能となり、リリース後、すぐに次のリリースに向けた開発が可能となり、結果的に、リリース速度はかなり速くなったといいます。
SQL Database と Cosmos DB を使い分け、お客様によりよいサービスを提供
初めてのクラウドサービス開発ということで、想定外の事態に直面したこともありました。Cosmos DB については、テスト段階で予想外の課金が発生したことがあったそうです。
「RU という単位で課金されるのですが、当初、十分に課金の仕組みを理解していないこともあって想定外のコストがかかってしまい、少し驚いたことがあります。そうしたときでも、Premier サポート契約のもとで、マイクロソフトから適切なアドバイスをもらえることは大きな安心材料でした。技術的なサポートだけでなく、利用料金や運用に関するアドバイスなど、さまざまなサポートを提供してもらうことで、安心して開発を進めることができました」(金井 氏)。
SKYMENU Cloud は 2020 年 6 月に正式リリースされ、全国で急速に採用が広がっている状況です。今後は、PaaS のスケーラビリティを生かしながら、ユーザー数の増加にスムーズに対応していきたいと金井 氏はいいます。また、運用についても、現在マニュアルで行なっている作業の自動化をさらに推進し、限られた人数で今後も増え続ける利用ユーザー数を運用が可能な体制を整備していく予定です。
Azure についても、SKYMENU Cloud 以外の製品で活用していく方針です。2021 年 9 月には SKYSEA Client View のクラウド版「SKYSEA Client View Cloud Edition」が Azure 基盤上で提供され始めました。また、オンプレミス版の製品でも一部機能ですでに Azure の活用が始まっています。
「いま自分たちが持っているデータはできるだけ Azure の PaaS に入れていきたいと考えています。特にデータベースは、リレーショナルデータベース以外の NoSQL データベース、非構造化データペースの特徴を把握し効率的にデータを管理することが求められています。Cosmos DB のメリットを把握しながら、SQL Database と Cosmos DB をうまく使い分け、お客様によりよいサービスを提供していくつもりです」(金井 氏)。
創業から 36 年。長年にわたりソフトウェア製品を提供してきた Sky。オンプレミスからクラウドへのインフラ基盤の移行を進めるなか最新技術を活用し、これからも顧客に寄り添ったサービスを提供していきます。
[PR]提供:日本マイクロソフト