正直用語もさっぱりの状態からクラウドについて学ぶ
なぜこの記事を書こうと思ったのか
とりあえずメインキャリアとしてのReactに関する理解、
ちょっとしたPython/FastApiでの実装などは経験として積めたのですが
じゃあフルスタックになんか作ってみようかと思ったところで、「クラウドの知識全然無いんだよな〜」となってしまいました。
最近日本政府が国の情報をAWSなどで管理する動きが出ているとかをXで見て、今後また世間のクラウドへの関心は高まっていくだろうと思います。
そもそもクラウドって?
代表的なもの
- AWS (Amazon Web Services): 世界最大のシェアを誇るクラウドプラットフォーム。多様なサービスが提供され、スタートアップから大企業まで広く採用されています。
- Azure (Microsoft): 特にWindows環境やMicrosoft製品との相性が良いクラウドサービス。企業向けの導入が多いです。
- GCP (Google Cloud Platform): Googleのインフラを基盤にしたクラウド。特にデータ解析やAIに強いサービスが特徴。
シェア率はけっこう変動気味、SESで参画していますがAWSかAzure採用している現場がやっぱり多いかな〜と言う印象です。
クラウドの基礎
オンプレミスと、クラウドの違い
オンプレミスとは?
企業や組織が自社のサーバーやデータセンターを自前で構築し、管理する形態のこと。
一昔前のクラウド技術がまだまだ成熟していなかった頃、信頼性やセキュリティ面でクラウドよりもオンプレミスのほうが安全とされていた。機密性の高い情報などでは特に....データを外部に、「預ける」ことに関して不安しされていたわけですね。
クラウドとは?
Amazon Web Services, Microsoft Azure, Google Cloudなど)の普及とともに、コスト面やスケーラビリティ、運用の簡便さから多くの企業がクラウドを選択するようになっています。クラウドは以下の点でオンプレミスを上回る魅力があります。
- 初期コストの削減: ハードウェアの購入やデータセンターの維持管理が不要。(物理的にサーバー買ったりするのでベンチャーなどでは特にコストがかかりすぎてしまう点が改善)
- スケーラビリティ(拡張性): 必要に応じてリソース(CPU、メモリ、ストレージなどを簡単に増やしたり減らしたりできるため、アクセスが急増してもサーバーがダウンしにくい)を柔軟に拡張できる。
- 運用の手間削減: クラウドプロバイダーが多くの運用・保守作業を担うため、企業は運用にかかる手間を軽減できる
戸建とマンションで例えるクラウドとオンプレミス
クラウド(パブリッククラウド)はマンションのようなもの:
パブリッククラウドは、多くの人が同じ建物内で住むマンションのようなものです。多数の企業やユーザーが共有するインフラを利用します。セキュリティや管理はクラウドプロバイダー(=マンションの管理会社)が担当し、ユーザー(住民)は自分の使う範囲(部屋)だけを気にすればOK。例えば、エアコンのメンテナンスや建物全体のセキュリティ管理などはプロバイダーが行うため、ユーザーは手軽に利用できます。部屋の増改築は難しいものの、必要に応じてフロアを追加する(リソースを拡張する)ことが可能です。
-
メリット: 管理は外部に任せられるため、導入が手軽でコストが低い。すぐに使い始められる。
-
デメリット: 自由に設計やカスタマイズできる範囲が限られる。他の住民(他社ユーザー)とインフラを共有するため、完全に独立した環境にはならない。
-
採用例: Netflix、楽天、ZOZOなどのサービス業が多く利用。
オンプレミス(自社専用のクラウド環境)は戸建ての家のようなもの:
オンプレミスや自社専用のクラウド環境は、戸建ての家に例えられます。すべての決定権と管理責任が自分(企業)にあるため、土地や建物を完全にコントロールできます。セキュリティやカスタマイズも自由に設定でき、例えば塀を高くしたり、防犯カメラを設置するなど、必要に応じてコストをかけて好きなだけ強化できます。庭のデザインや部屋の増築も自由ですが、その分、メンテナンスや運用コストは自社で負担する必要があります。
-
メリット: 自由度が非常に高く、自社のニーズに完全に合わせたインフラを構築・運用できる。
-
デメリット: 初期費用やメンテナンスコストが高い。さらに、導入までに時間がかかる場合がある。(例:注文住宅を建てるのと同じ感覚)
-
採用例: 金融機関、政府機関、大手の製造業など、セキュリティやカスタマイズが非常に重要な業界で多く採用されている。
ホスティング型プライベートクラウドは賃貸住宅のようなもの
ホスティング型プライベートクラウドは、賃貸住宅に例えられます。この場合、建物の所有者(=クラウドプロバイダー)が存在しますが、自分専用の部屋を持ち、他の住民とは共有しません。クラウドプロバイダーとは、Amazon Web Services(AWS)やMicrosoft Azureのような、クラウドインフラを提供して管理する企業のことです。賃貸住宅の住人(企業)は、自分専用のリソースを使いながら、メンテナンスや大規模な設備の管理はクラウドプロバイダーに任せることができます。つまり、必要なセキュリティやカスタマイズは自由に行える一方で、インフラ全体の運用負担は軽減されます。
-
メリット: クラウドプロバイダーがインフラ管理を行うため、メンテナンスの手間が省けるが、自社専用のセキュリティとリソースを持てる。
-
デメリット: パブリッククラウドよりはコストが高いが、オンプレミスよりは管理の手間が少ない。
-
採用例: セキュリティや専用環境を重視しつつも、クラウドの利便性を活用したい企業。たとえば大手企業の一部業務や特定のアプリケーションなど。
ハイブリッドクラウドは、賃貸マンションと戸建ての両方を利用する生活のようなもの
ハイブリッドクラウドは、賃貸マンションと戸建ての両方を併用している状況に似ています。日常の手軽な生活(リソースの増減が頻繁な業務や一般的なデータ処理)はマンション(パブリッククラウド)で行い、セキュリティやカスタマイズが求められる重要な部分(勘定系システムや機密データ)は戸建て(オンプレミス)で運用します。この組み合わせによって、柔軟性と安全性を両立させています。
-
メリット: 業務に合わせた使い分けができ、最適なリソースとセキュリティが確保できる。
-
デメリット: 環境が分散するため、運用管理が複雑になる可能性がある。
-
採用例: BMWや銀行業界など、重要なシステムはオンプレミス、一般的な業務やデータ分析はクラウドというように使い分けている。
レンタルサーバーの概念もあるけれど
最近の状況を踏まえると、レンタルサーバーの需要は確かに減少傾向にあります。これは、クラウド(特にパブリッククラウド)の台頭によるものが大きいです。以下、具体的にその理由を説明します。
クラウドの柔軟性とスケーラビリティ
クラウドサービス(AWS、Azure、GCPなど)は、必要に応じてリソースをスケールアップ・スケールダウンでき、従量課金制を採用しているため、コストの面でも柔軟です。一方、レンタルサーバーはリソースの固定プランが多いため、トラフィックの変動に対応しにくいという課題があります。
- クラウド: リソースを動的に調整可能。特にトラフィックが不安定なスタートアップや、成長中のサービスにとって魅力的
- レンタルサーバー: 固定リソースでスケーリングが難しく、将来の成長やアクセス急増に対応しづらい。
クラウドのコスト効率
クラウドは、利用した分だけ支払う従量課金モデルが多く、特に初期費用がかからないため、小規模のプロジェクトから大規模のプロジェクトまで幅広く対応できます。一方、レンタルサーバーは月額固定の料金プランが主流で、リソースの使い方にかかわらず支払う必要があります。
- クラウド: 利用した分だけ支払うため、無駄なコストが発生しにくい。
- レンタルサーバー: リソースを使い切らなくても固定費がかかる。
セキュリティと運用の手軽さ
クラウドはセキュリティや運用面での管理が強化されており、AWSやGoogleなどの大手プロバイダーは高水準のセキュリティを提供しています。さらに、インフラ管理の手間が減り、企業はサービスに集中できます。レンタルサーバーは運用が比較的簡単なため、初心者には使いやすいですが、セキュリティ強化や管理の柔軟性ではクラウドに劣ることが多いです。
クラウド: セキュリティやバックアップの自動化など、運用負荷が低い。
レンタルサーバー: 基本的な管理は自動化されているが、カスタマイズや高度なセキュリティ対策には限界がある。
クラウドの普及による影響
大手企業やスタートアップはもちろん、小規模なウェブサイト運営でもクラウドが普及しており、特に成長の見込みがあるビジネスではクラウドの方が選ばれやすくなっています。レンタルサーバーは、個人ブログや小規模なウェブサイト運営にはまだ使われていますが、成長性や拡張性を考えるとクラウドの方が圧倒的に優位です。
なのでこれからサービスを作りたい、学習したい!と言う方はAWSやazureなどの「パブリッククラウド」の技術選定がBetterかなと思います。
最後に
技術の移り変わりは激しいのですが、昔からあるものとかの歴史を少しでも知っておくと、よりアウトプットの根拠につながっていくのかなと思います。
学習頑張らなければ....