H27 技術士(情報工学)ソフトウェア工学 III-1:クラウドサービス


(1)クラウド利用の利点
クラウドサービスはインターネット上のサーバでソフトウェアを動作させ、クライアントとはネット経由でインタフェースを行う形態なため、様々な利点がある。
技術的な利点としては、サーバ側を仮想化できることである。複雑なサービスを提供する場合、1台のサーバで全ての機能を実現する必要がなく、メインとなる1台のサーバを利用者との窓口にし、提供するサービスを複数台のサーバで分割して実現することが可能である。また、この複数台のサーバの機能は全てを自分たちで実現する必要はなく、既に提供されているクラウドサービスを活用することができるので、短期間で要求された機能を実現することができる。
運用面での利点としては、サーバのハードウェアやデータなどを一箇所に集中できるため、サーバ側の運用や保守作業を行いやすいということがある。具体的にはクラウドシステムではデータの全てをサーバで保有するので、データのバックアップをサーバ側の一箇所で行うことができる。また、サーバ側のソフトウェアの保守も一箇所で行えるので保守作業の不可は少ない。さらに、クライアント側のソフトウェアも多くはサーバからダウンロードする仕組みになっているので、クライアントソフトウェアのバージョンアップもサーバに格納しているソフトウェアの入れ替えで行うことができる。

(2)クラウド利用の課題
クラウドを利用すると利点だけでなく課題もある。
技術的な課題としては不特定多数の利用者が一度に利用するため、多重なアクセスの制御が必要である。具体的にはデータベースなどサーバ側リソースの排他制御をしっかり実施しないとデータに不整合が発生したり、リソースの競合が発生したりといった不具合が発生する。また、アクセス量の見込みを正しく行わないと、メモリリソースの不足が発生したりして、十分なサービスの提供が行えない。また、不特定多数が利用するため、情報セキュリティ面での考慮も必要であり、不正アクセスの防止や、不正アクセスの検出する機能が必要になる。
運用面の課題にはクラウドサービスは24時間のサービス提供が求められるので、データのバックアップやサーバソフトウェアのバージョンアップをどのタイミングで実施するかが問題になる。特にソフトウェアのバージョンアップではクライアント側のソフトウェアとのバージョンの不整合を防ぐための仕組みが必要で、Web系のサービスでクライアント側のソフトウェアがWebブラウザであってもこれを行う必要がある。

(3)クラウド利用の課題の解決策
技術的な課題である多重アクセスの課題については、最初から多数の利用を見込んだシステムにすることはサーバの性能面で難しいので、サーバ側ソフトウェアの許容量を変更できるような構成にすることが対策となる。サービス開始後は利用者数を監視して、適切な許容量に設定することで多重アクセスの問題の解決になる。また、利用者が非常に多くなるシステムであれば設計時からサーバを多重化しロードバランサによる負荷分散を行えるようにする必要がある。
また、情報セキュリティについての対策はインターネット経由でのサービス提供になるので、WAFなどクラウドサービスにカスタマイズしたファイアウォールを構築することでサーバ側ソフトウェアの負担を最小限にきめ細かい情報セキュリティ対策を行うことが可能となる。
運用面の課題であるバックアップや保守タイミングについては、サーバ側を二重化して運用系と待機系にして、バックアップや保守を行うときはサーバの切り替を行うことでスムーズな保守作業が行える。この場合も利用中のユーザ情報の引継ぎなどの課題はあるが、ユーザ側への影響を考えた場合、この方法が現実的には最適な方法と考える。


[Intermission]
組込み技術者にとって、とっつきにくいテーマと思われがちですが、クラウドシステムと連携してサービスの範囲を広げている組込システムは多く、実際にそういったシステムの開発を行ったことがあるので、それほどでもないです。
ただ、深い意味での知識が不十分なため解答内容は一般的なものになって、特徴がないですね。



戻る 一覧へ