昔のシステム開発・運用時のサーバーの選択肢は、オンプレミスサーバーかレンタルサーバーであることがほとんどでした。
しかし近年では、インターネット上のクラウドサービスによる仮想サーバーを活用することで、同様のシステムを構築することができるようになりました。これにより、システム開発の際にクラウドサーバーを導入する企業や、既存のシステムを従来のものからクラウドサーバーに移行する企業が増加しています。
この記事では、主にシステム開発のクラウド化に必要な基礎知識を紹介します。クラウドサーバーの種類や利用する際のメリット、オンプレミスサーバーやレンタルサーバーとの違い、導入時の検討事項についてまとめました。この記事がお役に立ちましたら幸いです。
クラウドサーバーとは
クラウドサーバー(クラウド型)とは、クラウド環境上に仮想的な利用者専用のサーバーが提供されるサービスのことを指します。
そもそもクラウドとは、正式名称はクラウド・コンピューティングと呼ばれる、コンピューターの利用形態のひとつです。ハードウェアの購入やソフトウェアのインストールが不要な、インターネットを通じて利用できるサービスをクラウドサービスと呼んでいます。
クラウドサービスはインターネット経由で、コンピューティングやデータベースやストレージ、ソフトウェアといったさまざまなサービスを、必要な時に必要な分だけ利用することができます。
システム開発におけるクラウド型の提供のされ方としては、PaaSとIaaSの2点があります。※PaaSとIaaSについて、より詳しくは後述の「クラウドサーバーの種類」にて説明しています。
PaaS型
PaaS型は、アプリケーション開発するためのプラットフォームが利用できるサービスです。
プラットフォーム(ミドルウェアなど)のメンテナンスの必要がなく、アプリケーションの開発のみに注力できるのがメリットです。
デメリットとして、プラットフォームで提供されないソフトウェアを後述するIaaSのように柔軟にインストールできないことが挙げられます。
IaaS型
仮想的に独立したサーバーが提供されるサービスです。自由度が高く、専用のサーバーに必要なものをどんなものでもインストール可能です。
ただし、インストールしたソフトウェア、ミドルウェアのバージョンアップなどの保守や、OSのアップデートなどの保守は利用者側の責任で実施する必要があります。
実際の開発費用・期間をまとめた資料を無料で差し上げます。資料請求はこちら>>
オンプレミスサーバーとの違い
オンプレミスサーバー(オンプレミス型)は、自社やデータセンターなどに機器を設置して運用するサーバーです。サーバー本体やネットワーク機器、電源装置、サーバールームなどを自前またはレンタルで用意し、そのハードウェアも含めて保守を行ってゆく方式で利用します。昔はこの手段しかなく、大規模システムでは主流のサーバーでした。
クラウド型に比べて、システムを柔軟にカスタマイズしやすく、セキュリティの安全性が高いことがメリットです。しかし、費用対効果の観点ではクラウド型の方が優秀といえます。
オンプレミス型は、どうしても運用コストが高くついてしまいます。アプリケーションの保守以外に、ハードウェアの故障を想定した普及手順、計画的な部品の交換などハードウェアの保守が必須となるためです。また、機材は購入することが多く、固定資産の減価償却処理などの会計面での処理も煩雑となります。
クラウド型はハードウェアの保守を気にする必要がなく、利用料という形で費用計上するため固定資産の管理からも解放されるメリットがあります。
また、クラウド型を利用すると物理的なスペースが必要ないこと、インターネット上に仮想の専用サーバーがあるため社外からも安全にシステムにアクセスできることが大きな魅力です。
レンタルサーバーとの違い
レンタルサーバー(レンタル型共有サーバー)は、クラウド型よりも安価で使用することができるサーバーです。1台の物理サーバーを複数の利用者が共用で利用します。そのため、他の利用者が重たい処理を実行した場合、影響を受けることがあります。
クラウド型も1台の物理サーバーを複数の利用者が利用していますが、レンタル型との違いは、物理サーバーの中に仮想的な専用サーバーを複数たてられる点です。CPUやメモリはそれぞれの仮想サーバー内で仮想的に作成されます。これにより、他の利用者が重たい処理をしても影響を受けることはありません。
レンタル型はシェアハウス、クラウドサーバーはマンションと例えられることがあります。シェアハウスはキッチンや洗面所など共有するものが多く、共有部分に何かあった場合影響を受けやすいですが、マンションには部屋ごとにキッチンや洗面所が用意されているため、影響を受けません。
また、自分で管理できる範囲がレンタル型とクラウド型で異なります。サーバー全体を管理できる1番上の権限は「root権限」と呼ばれ、この権限はレンタル型にはありません。構築や運用、セキュリティ対策はレンタル事業者が行うため、簡単に使える反面カスタマイズはできません。
一方クラウド型では、仮想的に物理サーバーに近いサーバーを作成しているため、仮想サーバーを作成した方がroot権限を持っています。そのため、構築や運用、セキュリティ対策は仮想サーバーを作成したお客様が行います。
専用サーバーをレンタルできる会社もありますが、クラウド型との違いはプラン変更に大きな手間がかかるという点です。クラウド型ではプラン変更を行う場合、管理画面のボタンを押すだけで簡単に変更可能です。しかしレンタルの専用サーバーのプラン変更は、新しいプランを契約し、データを移行したうえで、現在契約しているプランを解約する手続きが必要です。
クラウドサーバー導入のメリット
オンプレミス型からクラウド型に移行する代表的なメリットは、以下の3つです。
①運用コストが抑えられる
②サーバーを設置するスペースが不要
③社外からも安全に簡単にアクセスできる
レンタル型からクラウド型に移行するメリットは、以下の3つです。
①他の利用者の影響を受けない
②カスタマイズが可能
③プラン変更の手間がかからない
この他にも、クラウド型ならではの大きなメリットが2つあります。
①必要になったときにサーバーを増強できる
クラウド型のメリットは、サーバーの処理性能を上げて増強できる「スケールアップ」「スケールアウト」が必要になったタイミングですぐに実現できることです
スケールアップとは、CPUユニット数や、メモリー容量を増やしてサーバーを増強することで処理性能を上げることをいいます。スケールアウトとは、サーバーの稼働台数を増やし、分散処理して処理性能を上げることです。分散処理に必要なロードバランサーなどの装置もIaaS型のクラウドサーバーでは提供されています。
迅速なスケールアップ・スケールアウトができることで、サービスローンチ時には費用をおさえて運用し、アクセス数の増加に伴ってサーバーを増強する対応が、レンタル型やオンプレミス型よりも容易に実現できます。
オンプレミス型でスケールアップ・スケールアウトを行う場合、新たなハードウェアを確保する必要があり、実現できるまでに数日〜数週間ほどかかってしまいます。レンタル型の場合は前述した通り、プラン変更に手間がかかります。
アクセス数の増加が緩やかであれば実現までに時間がかかっても問題ありませんが、予期せず突発的にアクセス数が増加した場合、間に合わない可能性があります。間に合わなかった結果、サーバーダウンや応答の遅延などによって機会損失をしたり、業務に滞りが発生したりしてしまう事態が起こってしまいます。
また、多くのクラウドベンダーでは、あらかじめ設定している数値を超える負荷がかかった際に自動的にサーバーの台数を追加・削除する「オートスケール」機能を提供しています。オートスケール機能を利用すると、突発的なアクセス数増加が起こっても、自動的にサーバー数を増減してかかっている負荷に適した状態にできるため、サーバーダウンなどの機会損失を回避することができます。
②拡張サービスが豊富に用意されている
システムを拡張してゆくためのサービスが豊富に用意されていることも大きなメリットです。
ロードバランサーやオートスケール、プッシュ通知、SMS通知、他システムとの連動など、システムを拡張してゆくための関連サービスが豊富に提供されています。特にAWSについてはサービスの種類が豊富で、最新のテクノロジーを活用したサービスが次々にローンチされています。
実際の開発費用・期間をまとめた資料を無料で差し上げます。資料請求はこちら>>
クラウドサーバーの種類
クラウドサーバーの種類は、SaaS型、PaaS型、IaaS型の3種類があります。どの種類を選ぶべきなのかは、どこまでの機能を自前で開発、運用するのかで変わってきます。
SaaS型
サースやサーズと呼ばれます。「Software as a Service」の略で、ソフトウェアをサービスとして提供するものです。クラウド上にあるアプリケーションソフトウェアを利用し、月額課金制などで提供されます。
アカウントを持っていれば、インターネット経由でどこからでもアクセスすることができることが特徴です。また、グループやチームでファイルやデータを共有して利用することができます。アカウントを作った即日に利用できるため、完成したシステムをすぐに使いたい場合、カスタマイズ性を求めない場合はSaaSの利用がおすすめです。
例:マネーフォワード、SmartHRなど多数
PaaS型
パースと呼ばれます。「Platform as a Service」の略で、クラウドにあるプラットフォーム(開発環境)を利用するサービスです。アプリケーション開発のために必要な動作環境が提供されており、そのプラットフォーム上でアプリケーションを開発してゆく、という利用方法です。
開発に必要な環境(データベースやプログラム実行環境など)が用意されているため、開発者はプログラムを書くことに専念して開発を進めることができます。そのため、開発環境を迅速に構築し、運用負荷を軽減したい場合に多く利用されます。
データ分析や人工知能、IoTなどのクラウドサービスならではの機能をアプリケーションに簡単に組み込むことができること、ミドルウェアの運用管理が必要ないことも大きな特徴です。
例:GoogleAppEngineなど
IaaS型
イアースやアイアースと呼ばれます。「Infrastructure as a Service」の略で、仮想サーバー、ハードディスク、ファイアーウォールなどのインフラ(CPU、メモリ、ストレージやネットワークといったコンピューターリソースそのもの)が提供されます。
サーバーを利用する際に必要なハードウェアのOSやスペックを自由に選んで、仮想マシンとしてネットワーク越しに利用することができます。また、コンピューターリソースを必要な分だけ確保、利用できる柔軟性があります。
使いたいOSやミドルウェアを好きなものに設定できるなど、PaaSと比べると自由度が高いことが特徴です。その反面、プラットフォームの用意からセキュリティ対策、アップデートまで自分で行わなくてはならないため、より専門的な知識が必要とされます。
例:AWS、さくらのクラウドなど
クラウド環境の種類
クラウド環境の種類には、「パブリッククラウド」と「プライベートクラウド」の2種類があります。
パブリッククラウド
クラウドサーバーをインターネットに公開された状態で構築することです。サーバーやソフトウェア、回線など、すべての環境をユーザー全体で共有して使うことが特徴です。リソースを共有して利用するため、費用を抑えることができます。
不特定多数のユーザーがアクセスするサーバーは、パブリッククラウド上に構築されている必要があります。
プライベートクラウド
インターネットからは直接アクセスできない状態でクラウドサーバーを構築することです。
直接アクセスされては困るデータベースサーバーや、プライベートクラウド上にVPNを構築し、限られた認証済みのユーザーのみがアクセスできるサーバーを構築することができます。
自社内に機器を設置してクラウドサービスを提供する「オンプレミス型プライベートクラウド」と、社外環境(パブリッククラウド内)からサービスを提供する「ホスティング型プライベートクラウド」が存在します。
実際の開発費用・期間をまとめた資料を無料で差し上げます。資料請求はこちら>>
クラウド導入時の検討事項
ここまで、ひととおりサーバーの基礎知識を説明してきました。この項では、実際にサーバーのクラウド化を行う際の検討事項や、注意点を紹介します。
新規のサーバーを構築するとき
クラウドサーバーを選択しない理由は特になく、コストパフォーマンス面、サービス面からクラウドの選択が現在最も合理的です。
クラウド上で適切に管理がされれば、オンプレミスサーバーより信頼性、堅牢性を高くすることが可能です。クラウド上に機密データを保管することにセキュリティー面での抵抗や、社内規定で禁止である場合でも、一度規定の見直しを行ってみてもよいかと思います。大手銀行でもクラウドサービスを利用している事例もあります。
現在、クラウドサービス以外でシステムを運用しているとき
サーバー運用費が下がるかもしれません。特にオンプレミスサーバーからの切り替えは、費用を抑えることが期待できます。さらに、サービスや事業の成⻑に合わせてサーバー拡張が可能です。
現時点では表面化していなくとも、事業の拡大が見込まれる場合は、柔軟に対応できるよう今のうちにクラウド型に移行しておく準備をしておいた方がよいでしょう。
導入する際の注意点
クラウドサーバーを導入する際は、どのクラウドサービスを使うのか(AWSやさくらのクラウド、GCPなど)決めておくとスムーズです。運用をしていくのはお客様ですので、使い方に慣れているものを選びましょう。
初めてクラウドサービスを利用する方や特に使いたいサービスが決まっていない場合は、システム会社に相談がおすすめです。アクシアではAWSの取り扱い実績が豊富なため、AWSを採用することが多いです。
使用するサービスが決まったら、誰のアカウントでサーバーをたてるか(お客様側かシステム会社側か)を決めます。クラウドでもアカウントをまたぐことができず、移行するとなると大変な作業になるため必ず最初に決めておきます。お客様側とシステム会社側、どちらが代金を支払うかにも関わってくるため双方でしっかり確認しましょう。
システム開発のクラウド化による効果は?まとめ
システムのクラウド化は、メリットが盛り沢山です。今回の記事ではテーマである「システム開発のクラウド化」で使用されるPaaS、IaaSのメリットを重点的に紹介しましたが、別の記事ではSaaS(マネーフォワード)の活用について紹介をしています。興味がありましたらぜひこちらもご覧ください。
クラウドサービスの利用について、もしご不明なことがありましたらお気軽にアクシアにご相談ください。この2つの記事が、クラウドサービス利用の理解を深めるきっかけとなりましたら幸いです。
最後までお読みいただき、ありがとうございました。