
こんにちは。エンジニアデータバンク です。
クラウドサービスは、現代のIT業界で欠かせない存在です。
企業が業務効率化やコスト削減を実現するために導入するケースが増え、クラウドに対する需要は年々高まっています。
総務省が発表したデータによると、企業のクラウド利用率はどんどん上昇していき、令和5年度時点ですでに8割近くの企業が「クラウドサービスを利用している」と答えています。
このように、企業におけるクラウドサービスの利用が大きく進んでいます。
特に、「全社的にクラウドを利用している」と答えている企業が多いことから、クラウドを前提としたシステムを構築していることが分かります。
エンジニアとしても、クラウドネイティブのアプリ開発の手法を抑えておくことが非常に重要、ということになります。
本記事では、そのクラウドサービスの基本知識や、2大サービスであるAWSとAzureの詳細比較、認定資格、初心者におすすめのセミナーまでを解説します。
現役エンジニアとしての視点で解説していますので、ぜひ最後まで読んでみてください。
なお「SEの副業に興味がある!」という方は、以下記事でSEの方におすすめの案件や仕事の探し方について解説しているので、ぜひ読んでみてください。
(準備中)
それでは解説していきます。
まずは、クラウドサービスとは何なのか?という点から解説します。
クラウドサービスとは、インターネットを通じてコンピューティング、データストレージ、アプリケーション、ネットワーキングなどのITリソースをオンデマンドで提供するサービスを指します。
端的にいうと、「インターネットを経由して使えるサーバー」とまずは考えてください。
この仕組みにより、企業や個人は物理的なハードウェアを所有・管理する必要がなく、必要なリソースを柔軟かつ効率的に利用することができます。
たとえば、企業が新しいウェブサービスを立ち上げる際、従来の方法ではサーバーを購入し、設置し、運用するまでに数週間から数カ月を要しました。
しかし、クラウドサービスを利用すれば、数分で仮想サーバーをセットアップし、サービスを開始することが可能です。
また、以下のような特徴がクラウドサービスの魅力です:
①スケーラビリティ
需要に応じてリソースを増減できるため、急に利用者が増えたとしてもすぐに対応できます。
また、利用者が少ない時には自動でサーバー数を減らすこともできますので、過剰投資や不足のリスクを回避できます。
②コスト効率
利用した分だけ課金されるため、初期コストや運用コストを大幅に削減できます。
特に、開発中は利用者も少ないので、最小限の構成で運用できます。非常に少ないコストで開発・検証環境の構築が可能です。
③アクセスの柔軟性
どこからでもインターネット接続があればアクセスできるため、どこからでも利用可能です。
特に、クラウドサービスの多くは日本だけでなく海外にも展開されています。クラウドサービスをうまく利用することで、リモートワークやグローバルな事業展開も容易に実現できます。
クラウドサービスは、大きく分けると以下の3つの形態に分類されます。
提供するサービスの種別に応じて、「XaaS(X as a Service)」と呼ばれます。
そのほか、現在ではクラウドサービスの提供形態も多岐にわたるようになり、プログラムの実行環境を提供する「FaaS(Function as a Service)」やデータベースのサービスを提供する「DBaaS(Database as a Service)」など、多くのサービスが提供されています。
これらの形態により、企業のニーズに応じて柔軟なサービス選択が可能、という点が大きな特徴です。
クラウドに移行する前は、一般的に企業の社屋にサーバー室を設置し、そこにサーバーを設置して運用していました。
このような自社内の運用を「オンプレミス」と読んでいます。
実際には、多くの企業はクラウドとオンプレミスを併用していることが多く、新しく構築するものはクラウド上に構築し、オンプレミスのサービスと連携させて運用しています。
クラウドサービスとオンプレミスには、以下のような主な違いがあります。
①初期コスト
オンプレミスの場合、サーバーやストレージを自社で購入・設置するため、高額な初期投資が必要です。
さらに、設備の導入には時間がかかるため、迅速な対応が難しい場合があります。
一方で、クラウドの場合は初期投資を抑えられ、利用した分だけ支払う従量課金制が一般的です。
また、サーバーのスペックも後から容易に変更可能です。
これにより、小規模なスタートアップから大企業まで、予算に応じた利用が可能です。
このように、初期コストについてはクラウドの方が有利に立てると言えるでしょう。
特に稼働前のコストを抑えられるという点は、クラウドが浸透した大きな理由と言えるでしょう。
②管理に関する負担
オンプレミスの場合、社内にサーバーを設置することになるため、サーバーの設置・保守・アップデートなどの管理をすべて自社で行う必要があります。
これにより、IT部門の負担が大きくなることが課題となっていました。
クラウドの場合、サービスを提供するプロバイダーがインフラの管理を行うため、ユーザーは利用している範疇の運用にのみ専念すればよくなります。
つまり、アプリケーションやサービスの運用に専念できるのです。
また、セキュリティやバックアップもサービスに含まれることが多いため、稼働率をプロバイダーに依存できる点は大きな利点です。
一方で、クラウドサービスそのものに障害が発生した場合には、自社での対応が何もできないことがありますので、そのリスクはあらかじめ考慮しておく必要があります。
③拡張性
オンプレミスの場合、利用者の増加などに伴いサーバーリソースが足りなくなった場合、増やすために新たなハードウェアの購入や設置が必要で、コストや時間がかかります。
そのため、需要が急増した際に柔軟に対応するのが難しいことから、あらかじめ利用者数などからサーバースペックをあらかじめ算出し、余裕を持ったサーバースペックを用意することが一般的でした。
それに対し、クラウドは必要に応じてリソースを即時に追加・削減できます。
たとえば、ECサイトでセール期間中にアクセスが集中しても、サーバーを瞬時にスケールアップし、終了後はスケールダウンしてコストを抑えることが可能です。
ただし、クラウドサービスの多くは従量課金であるため、「使った分だけ」課金されます。
そのため、非常に多くのアクセスが発生する場合などは高額になりがちです。
クラウドにするかオンプレミスにするか悩んだ場合には、やはり料金面での比較をする必要があります。
クラウドとオンプレミスの料金を比較し、損益分岐点を見つけることが必要になります。
様々なクラウドベンダーがサービスを展開していますが、その中でも日本企業での利用率が高いのがAWSとAzureの2サービスです。
ここでは、その2つのサービスについて解説します。
概要
AWSは、Amazonが提供するクラウドサービスで、世界最大のシェアを持つ業界リーダーといえる存在です。
300以上のサービス(コンピューティング、ストレージ、AI/MLなど)を提供し、幅広い業種・規模の企業で利用されています。
もちろん、同社が運営するAmazon.comもAWS上で構築されており、Amazonに蓄積されたデータを活用したAIサービスなども提供サービスに含まれています。
料金
AWSの料金はすべて従量課金制であり、利用に応じて課金が発生します。
クラウドサーバーであるEC2(Elastic Compute Service)は、スペックと稼働時間に応じて金額が発生します。
例として、1vCPU/1GBメモリのt2.microを米国東部のリージョンで利用した場合、1時間当たり$0.0116です。一ヶ月稼働し続けると1300円程度となります。
また、無料利用枠として、新規アカウントには以下の無料枠が12ヵ(一年間)提供されます。
| Amazon EC2(仮想サーバー):750時間/月(t2.micro) Amazon S3(ストレージ):5GB Amazon RDS(リレーショナルデータベース):750時間/月 |
そのほか、様々な無料枠が設定されており、無料枠を活用することで小規模な学習やプロトタイプの作成が可能です。
12ヶ月を超過した後も、一部の機能に無料枠が設定されています。
| Amazon DynamoDB(NoSQLデータベース):25GB AWS Lambda(関数アプリ):100万リクエスト/月 Amazon SQS(Push通知):100万リクエスト/月 |
これらのサービスの無料枠をうまく活用することで、無料でスタートアップサービスを構築することも可能です。
AWSの無料枠については、AWSの公式サイトを参照してください。
サポート
AWSは豊富な公式ドキュメントを提供しており、ドキュメントを参照することで多くのサービスの概要や料金を調べることが可能です。
そのほか、AWSを業務利用している企業向けの有料サポートプランを提供しています。AWSの基本的な質問はもちろん、プランによってはサービス構築のコンサルティングを受けることが可能ですので、初心者からエンタープライズユースまで、幅広いニーズに対応可能です。
メリット・デメリット
AWSの一番のメリットは、サービスの多様性と高い柔軟性にあります。採用企業が非常に多いことも特徴であり、グローバルなデータや学習リソースが存在します。企業としての採用数が非常に多いことから、これからクラウドを学習しようという場合にはAWSを選択すると良いでしょう。
一方で、AWSはサービスの多さ故、初心者には難しいと感じる場面が多いことがデメリットとして挙げられます。ある程度熟練のインフラエンジニアが利用する前提のサービスでもあるため、慣れるまで時間がかかる可能性があります。
また、料金体系も複雑であることが多く、実際に運用してみると想像以上のコストがかかってしまった、という場合もあります。
概要
AzureはMicrosoftが提供するクラウドサービスで、特にWindows環境との連携に強みがあります。
エンタープライズ向けに最適化された設計で、Office 365やDynamics 365とのシームレスな統合が可能です。
料金
Azureの料金体系も、AWSと同様に従量課金制となっており、利用した分だけ課金されます。
B2ats の 2vCPU/1GBメモリプランを米国東部のリージョンで利用した場合、1カ月当たり$6.8620となるため、1000円程度で利用できます。
また、無料枠として、新規アカウントに対して$200のクレジットが付与されます。AWSと異なり、ほぼすべてのサービスで利用できますので、自由にAzureのサービスを利用した学習が可能です。
無料クレジットを使い切ったあとも、常に無料で利用できる無料枠が存在します。
| Azure App Service(Webアプリのデプロイ):1日あたり1時間の実行時間 Azure SQL Database:100,000仮想コア秒/月 Conmos DB(NoSQLデータベース):1,000要求ユニット/秒、25GBのストレージ Azure Functions(関数アプリ):100万回リクエスト/月 |
詳しい無料枠については公式サイトをご確認ください。
サポート
Microsoftによる公式ドキュメントの他に、有料サポートが用意されています。
Azureに限らずMicrosoft製品全般のサポートをしてくれるなど、 Microsoft製品に詳しいエンジニアによるサポートが強みです。
また、MicrosoftはMicrosoft Learnという学習サイトを用意しており、誰でも無料でAzureの学習を始めることが可能です。
後述の資格取得にもつながるコンテンツもありますので、学習・実務の両方で役に立ちます。
メリット・デメリット
Azureは、WindowsやMicrosoft365(Office 365)を提供する企業であるMicrosoftが提供しているため、同社サービスとの高い親和性を持っています。
特に、オンプレミスで動作しているWindows Server等との連携や、Active Directory連携などが容易に実現できることが大きなメリットです。
また、日本企業向けのサービスも用意されており、高いセキュリティとコンプライアンス対応が魅力です。
そのため、金融機関などの高いセキュリティが要求されるような場合にはAzureが選択されやすいです。
一方で、提供サービスの種類はAWSほど多くありません。
開発者の裁量が大きく、クラウドリソースを効率的に利用したいようなハイスキルエンジニアにとっては、Azureは物足りなくなる可能性があります。
一方で、特にエンタープライズ用途で利用するようなサービスに特化して提供されているため、利用用途が限られている場面ではあまりデメリットに感じられないかもしれません。
また、Azureは主にWindows ServerをはじめとするMicrosoft製品の運用をしてきたエンジニア向けにUIが構築されているため、初心者はもちろんのこと、開発をメインで実施しているようなエンジニアには少しハードルが高く感じられるかもしれません。
AWSとAzureの比較は以下の通りです。
両サービスとも同様のサービスを提供していますが、用途に応じた使い分けをすることで効果的に活用できるでしょう。
| 機能 | AWS | Azure |
|---|---|---|
| 運営会社 | Amazon | Microsoft |
| 主な特徴 | サービス数が多い 業界リーダー的存在 | Microsoft製品と統合が容易 |
| 向いている構成 | クラウドネイティブ | クラウドとオンプレミスのハイブリッド利用 |
| 無料利用枠 | 1年間無料の基本プラン多数 一部サービスの無料枠 | 初月クレジット付与 一部サービスの無料枠 |
| サポート体制 | 多層的な有料サポート | Microsoft製品に関する包括的なサポート |
AWS、Azureともに認定資格試験が用意されています。
クラウドを活用するエンジニアを目指すのであれば、ぜひ取得してみると良いでしょう。
クラウドの基本知識を問う初級資格で、用語の基礎的かつ高度な理解を持っていることを証明できる資格です。
初心者向けの資格であるため、まずは本試験からチャレンジしてみると良いでしょう。
コストとパフォーマンスが最適化されたソリューションの設計に重点を置いて出題されますので、インフラに関する設計スキルが問われます。
ある程度インフラの知識を持っている中級者向けの資格です。
高度な設計能力を問う上級資格です。
「AWS Certified Solutions Architect – Professional は、AWS でのクラウドアーキテクチャの設計とデプロイにおいて 2 年以上の実践的な経験を持つ個人を対象とする」とあり、AWSを利用した実務経験があるエンジニア向けの出題となりますので、知識と経験の両方が身についた、という自身がついたらぜひチャレンジしたい資格です。
Azureの基本的なサービスや用語を理解する資格であり、Azureに関する基礎的な知識が出題されます。
初心者向けの資格と言えますので、Azureを利用したサービス開発を目指す際にはまずここからスタートすると良いでしょう。
Azureの開発、および管理業務の両方に関する知識が問われる中級車向けの資格です。
主にAzureを活用する企業の管理者向けの知識が問われます。Azureを選択する企業の多くはクラウドとオンプレミスの両方を活用することが多いため、管理者としての知識も問われることが多いです。
本資格を通して、開発・運用の両方の知識があることを証明しましょう。
複雑なシステム設計を行うためのスキルを証明できる資格で、開発から運用、管理といった幅広いAzureの知識が求められます。
特に、Azureを利用したクラウドの知識だけでなく、エンタープライズを意識したセキュリティに関する事項も範囲に含まれます。
企業におけるアーキテクトを目指すのであれば、本資格の取得を目指すと良いでしょう。
ここでは、初学者におススメのセミナーを紹介します。
AWS公式が提供する初心者向けセミナーで、オンラインまたは対面で受講できます。
クラウドの基礎やAWSの基本サービスについて、わかりやすく学べますので、「まずはAWSについて知りたい」という場合には参加してみると良いでしょう。
Microsoft公式が主催する無料セミナーである「Microsoft Virtual Training Days」の中には、Azureを学べるコースが存在します。
Azureの基礎や主要機能を体験しながら学べるのが特徴です。
開催するセミナーの回に応じて様々なテーマが設定されていますので、興味のあるテーマがあるのであれば、気軽に参加してみると良いでしょう。
以上、2大クラウドサービス「AWS」と「Azure」について解説しました。
クラウドサービスは、インターネットを通じて計算能力やデータストレージ、アプリケーションを提供し、企業や個人が物理的なハードウェアを持つことなく柔軟に利用できる画期的な仕組みであり、多くの企業がクラウドを採用しています。
クラウドへの移行は、多くの企業にとって多くのメリットをもたらします。
ただし、オンプレミスの利点を生かすケースもあるため、企業のニーズに応じた選択が求められますので、クラウド・オンプレミス両方のメリットやデメリットを正しく理解することが必要不可欠です。
クラウドサービスを効果的に学ぶためには、目的に合ったサービスを選択することが重要です。
AWSやAzureの違いや、それぞれが提供するサービスの違いを深く理解することで、エンジニアとしてのスキルアップにつながります。
ぜひ本記事を参考に、学習を始めてみてはいかがでしょうか。
エンジニアとしての転職や独立をお考えの方には、エンジニアデータバンクがおすすめです。
エンジニアデータバンクには、副業案件からフリーランス、転職求人が多数掲載されています。
エンジニアデータバンク