初心者としてクラウド コンピューティング技術を学ぶにはどうすればよいでしょうか?

初心者としてクラウド コンピューティング技術を学ぶにはどうすればよいでしょうか?

2010 年は業界では「中国におけるクラウド コンピューティング元年」と呼ばれています。 2010年から現在までの10年間で、クラウドコンピューティング、ビッグデータ、人工知能、ブロックチェーン、モノのインターネット、インダストリアルインターネットなどの技術が産業界、学界、政界から認知されてきました。

ABCD は、人工知能、ブロックチェーン、クラウド コンピューティング、ビッグ データという 4 つの新興テクノロジーを表す、覚えやすい英語の略語です。しかし実際には、中国でこれらの技術が受け入れられ適用される順序は、CDBA、次にクラウドコンピューティング、ビッグデータ、ブロックチェーン、最後に人工知能AIの順になるはずです。

ブロックチェーン技術は過去数年間かなり人気がありましたが、過去2年間でその人気は低下しました。主な理由は技術的な問題ではなく、ブロックチェーン技術に基づくビットコインなどのデジタル通貨への投資の減少です。諺にもあるように、「ビットコインユーザーになると、ビットコインのせいで失敗する」のです。

これらの新世代情報技術の中で、クラウドコンピューティング、ビッグデータ、人工知能が最良であると考えられるでしょう。市場の注目を集めると、学界、産業界、政府が協力して開発を推進してきました。これら 3 つのテクノロジーは、あらゆる分野で常に特に好まれ、実際に広く使用されてきました。

近年、教育省は「データサイエンスとビッグデータ技術」と「人工知能」という2つの新しい工学専攻も追加しました。それに応じて、多くの大学がコンピュータサイエンスやその他の学部にこの2つの新しい専攻を開設したり、独自に「ビッグデータ学部」や「人工知能学部」を設立したりしています。

ここでは、これらの関連技術を一つずつ紹介します。これにより、コンピュータサイエンスの大学生や、これらの技術に興味がある学生が、これらの技術の基礎知識を理解し、理解不足による盲目的な選択を避けることができます。関連技術分野で働いていなくても、新興技術について学ぶのは良いことです。

[[358444]]

クラウドコンピューティングのコンセプト
業界では、米国国立標準技術研究所 (NIST) が提供するクラウド コンピューティングの定義が一般的に受け入れられています。クラウド コンピューティングとは、インターネットを介してコンピューティング リソース (ネットワーク、サーバー、ストレージ、アプリケーション、サービスなど) を、便利な従量課金制で取得する機能です。これらのリソースは、共有された構成可能なリソース プールから取得され、最も労力を節約し、無人化する方法によって取得および解放できます。

クラウド コンピューティングに関する上記のテキストの説明はまだ理解しにくいため、NIST はクラウド コンピューティングの定義をさらに説明し、クラウド コンピューティングには 5 つの基本特性、4 つの展開モデル、3 つのサービス モデルがあると指摘しました。理解と記憶を容易にするために、これを「543 クラウド フレームワーク」と呼ぶことにします。

5つの基本的な特徴

オンデマンドのセルフサービス、共有リソース プール、測定されたサービス、迅速なスケーラビリティ、ユビキタス ネットワーク アクセス。上記の 5 つの主要機能のうち、「ユビキタス ネットワーク アクセス」はハードウェア基盤、「オンデマンド セルフサービス」は目標、「迅速なスケーラビリティ、測定可能なサービス、共有リソース プール」はソフトウェアによって実装される管理方法です。

4つの展開モデル

プライベートクラウド(エンタープライズプライベートクラウドなど、組織自身が構築するクラウド)、パブリッククラウド(Alibaba Cloudなど一般向けのクラウド)、コミュニティクラウド(共通の問題を解決するために協力する複数の組織によって構築され共有されるクラウド)、ハイブリッドクラウド(プライベートクラウド、パブリッククラウド、コミュニティクラウドのうち2つ以上で構成されるクラウド)があります。

3つのサービスモデル

IaaS (Infrastructure as a Service): IaaS は、コンピューティング、ストレージ、ネットワーク、およびその他の基本的なコンピューティング リソース サービスをユーザーに提供し、ユーザーはこれらのインフラストラクチャ上でオペレーティング システムやアプリケーションを含むあらゆるソフトウェアを展開して実行できます。 IaaS サービス モデルでは、顧客は基盤となるインフラストラクチャを管理および保守する必要はありませんが、インフラストラクチャ上のオペレーティング システム、展開されたアプリケーション、および一部のネットワーク コンポーネント (ファイアウォール、ロード バランサーなど) を管理および保守できます。

IaaS サービスの代表的なもの: Amazon が先駆けて開発した 2 つの IaaS サービス: Amazon Elastic Compute Cloud (EC2) が提供するコンピューティング サービス。 Amazon Simple Storage Service (S3) が提供するストレージサービス。中国のAlibaba Cloudが提供するクラウドサーバーECSとクラウドストレージ。

PaaS (Platform as a Service): PaaS は、さまざまなアプリケーションを作成、テスト、および展開するためのプラットフォームをユーザーに提供します。一般的に、このプラットフォームはサービスプロバイダーによってクラウドインフラストラクチャ IaaS 上に構築され、ユーザーはプラットフォームでサポートされているプログラミング言語とツールを使用して独自のアプリケーションを作成できます。 PaaS プラットフォームでは、ユーザーはネットワーク、サーバー、オペレーティング システム、ストレージ デバイスなどの基盤となるクラウド インフラストラクチャを管理および保守する必要がありません。ただし、ユーザーは依然としてアプリケーションとアプリケーションの実行環境を管理する必要があります。

PaaS サービスの代表的なもの: Python および Java での Web アプリケーションの開発をサポートする Google App Engine。 .Net アプリケーションをサポートする Microsoft Windows Azure。アプリケーションホスティングとマイクロサービス管理のための Alibaba Cloud のクラウドネイティブ PaaS プラットフォーム、エンタープライズレベルの分散アプリケーション サービス EDAS。

SaaS (Software as a Service): SaaS が顧客に提供するサービスは、クラウド プラットフォーム上で実行される完全なアプリケーション ソフトウェアです。顧客は、さまざまなシンプルな顧客インターフェイス (主に Web ブラウザー) を通じてソフトウェア サービス (Web ベースの電子メール システムなど) を取得します。特定のアプリケーションに必要な単純な構成を除き、ユーザーは、基盤となるクラウド インフラストラクチャ (ネットワーク、サーバー、オペレーティング システム、ストレージ デバイスを含む) と、インフラストラクチャ上で実行されるソフトウェア アプリケーション全体を管理および保守する必要がなくなります。

一般的に、Software as a Service (SaaS) は、PaaS プラットフォーム サービスまたは IaaS インフラストラクチャ サービスに基づいて構築され、これら 2 つの基盤サービスを使用して、完全なインターネット ベースのアプリケーション ソフトウェア サービスを提供します。

実際、PaaS は SaaS モデルでソフトウェア開発プラットフォームをユーザーに提供するサービスです。したがって、PaaS も SaaS モデルのアプリケーションです。 IaaS と PaaS の出現により、SaaS の開発、特に SaaS アプリケーションの開発と展開が加速します。

一般ユーザーにとって、この SaaS サービス モデルは最も便利で使いやすいものです。 IEなどのWebブラウザを通じて、従来は個人のパソコン(または企業サーバー)にインストールする必要があったソフトウェアを利用でき、ソフトウェアの機能は従来とまったく同じです。これにより、バージョン更新やアップグレードなど、これまでユーザーを悩ませてきたソフトウェア障害やシステムメンテナンスの問題を回避できます。

最も有名な SaaS サービスは、SalesForce のオンライン顧客関係管理ソフトウェア CRM です。 Alibaba Cloud の DingTalk Office や Tencent Cloud の Tencent Meeting も人気の SaaS サービスです。

[[358445]]

クラウドコンピューティング関連の技術とプラットフォーム
KVMおよびその他の仮想化テクノロジー

クラウド コンピューティングのコアとなる技術基盤は仮想化技術です。仮想化は一般的に、ハードウェア レベルの仮想化とオペレーティング システム レベルの仮想化に分けられます。ハードウェア レベルの仮想化は、ハードウェア上で実行される仮想化テクノロジです。その管理ソフトウェアは、通常、ハイパーバイザーまたは仮想マシン モニターと呼ばれます。

主流のハードウェア レベルの仮想化テクノロジには、KVM、Xen、Hyper-V、VMWare などがあります。最初の 2 つはオープンソース テクノロジであり、最後の 2 つはそれぞれ Microsoft と VMware のプライベート テクノロジであり、一般には公開されていません。オープンソース仮想化テクノロジーである KVM と Xen のうち、KVM の方が人気があります。仮想化技術の研究に興味のある学生は、KVM 技術に重点を置くことができます。

オペレーティング システム レベルの仮想化は、オペレーティング システム上で実行されます。これは、オペレーティング システム上で実行される複数の異なるプロセスをシミュレートし、それらを閉じたコンテナーにカプセル化します。これはコンテナー化テクノロジーとも呼ばれます。 Docker は現在、コンテナ仮想化の最も人気のある実装です。この記事で紹介したクラウドコンピューティング技術はハードウェアレベルの仮想化技術のみであり、Dockerなどのコンテナ化技術については後ほど紹介します。

リブバート

libvirt は、KVM を含むさまざまな仮想化ツールに便利で信頼性の高いプログラミング API を提供することを目的とした無料のオープンソース C 関数ライブラリであり、C、C++、Ruby、Python などの複数の主流開発言語とのバインディングをサポートしています。

libvirt は、仮想マシンや、ストレージおよびネットワーク インターフェイス管理などのその他の仮想化機能を管理するための統合インターフェイス API を提供し、KVM、Xen、VMware、QEMU などの仮想化テクノロジを管理できます。これらの API は、クラウド コンピューティング ソリューションで広く使用されています。

virt-manager (グラフィカル) や virt-install (コマンドライン モード) など、現在主流の Linux プラットフォーム上のデフォルトの仮想化管理ツールはすべて libvirt に基づいて開発されています。主流のオープンソース IaaS プラットフォーム Openstack も、さまざまな仮想化テクノロジーを管理するために libvirt を使用しています。

オープンソースのIaaSプラットフォーム Openstack

OpenStack は、組織や企業がインフラストラクチャ IaaS クラウド サービスを構築および提供できるようにするために、NASA と Rackspace によって開発されたオープン ソースのクラウド コンピューティング インフラストラクチャ ソフトウェアです。

OpenStack プロジェクトのコアには、クラウド コンピューティングの Nova、クラウド ストレージの Swift、イメージ サービスの Glance という 3 つのコア サブプロジェクトが含まれます。 3 つのサブプロジェクトは互いに独立しており、個別にインストールできます。その中でも、クラウドコンピューティングの Nova は Amazon EC2 に似ており、主に仮想サーバーの自動作成と管理を提供します。クラウド ストレージ Swift は、業界で有名な Amazon S3 のように、TB レベルまたは PB レベルのデータを保存できる大規模でスケーラブルなオブジェクト ストレージを作成できます。 OpenStack イメージ サービス Glance は、クラウド コンピューティングの Nova 仮想マシン イメージの検出、保存、および取得機能を提供します。

実際、国内の多くの企業が自社内にプライベートクラウドを構築しており、一般向けにサービスを提供するパブリッククラウドも基本的にはOpenStackクラウドプラットフォームの拡張をベースに開発されています。これは、国内の大手携帯電話メーカーの携帯電話オペレーティングシステムが基本的にオープンソースの Android システムから派生しているという事実に少し似ています。

[[358446]]

クラウドコンピューティング技術を学ぶ方法
コンピュータサイエンスの学生にとって、新しいテクノロジー(クラウドコンピューティングテクノロジーを含む)を学習するための基本的な手順は同じです。私はこれを「学習の三部作」と呼んでいます。まず、関連する理論的知識を学んで理解します。次に、一般的なオープンソース フレームワークについて詳細な調査を実施します。そして最後に、オープンソースフレームワークに基づいた実践を行います。

以下では、クラウド コンピューティング テクノロジーの学習を例に、この「学習の三部作」について詳しく説明します。

1. クラウドコンピューティングに関する理論的な知識を学ぶ

関連する理論的知識を学ぶには、オンライン資料や書籍を参照することができます。少なくとも、前述の「543 Cloud Framework」など、クラウド コンピューティングの関連概念を理解する必要があります。

クラウド コンピューティングのコア技術基盤。いかなる新しい技術も技術的伝統を持ち、何もないところから生まれるものではないことを私たちは認識しなければなりません。クラウドコンピューティングの仮想化技術も、これまでの技術をベースに開発されています。

クラウドコンピューティングのアプリケーションシナリオ。新しいテクノロジーは万能薬ではなく、長所と短所があり、いくつかの問題を解決できる一方で、いくつかの問題に対しては無力でもあります。したがって、クラウド コンピューティングの最適なアプリケーション シナリオを理解する必要があります。この方法でのみ、クラウド コンピューティング テクノロジーの力を最大限に活用できます。

クラウド コンピューティングに最適なアプリケーション シナリオは何ですか?簡単に言えば、「4 つの主要なシナリオ」があります。それは、大規模なマシン ボリューム、大規模なデータ ボリューム、大規模なコンピューティング ボリューム、および大規模なアクセス ボリュームです。つまり、より多くのサーバー、より多くのデータ、より多くの計算能力、より多くのサービス アクセスを備えた環境です。これらの「4つの主要なシナリオ」の中に、他の技術では解決が難しい問題がある場合は、クラウド コンピューティング技術を検討することができます。

2. 代表的なオープンソースフレームワークの詳細な研究

現在のコンピュータ技術の発展には、一般的に多くのオープンソース フレームワークやプラットフォームの出現が伴います。コンピュータの専門家は、まずオープンソースのものを適用し、その後、より多くの人が使用するようになると、人気の新しいテクノロジー用語(クラウド コンピューティング、ビッグ データ、ブロックチェーンなど)が登場することがよくあります。振り返ってみると、過去に登場した多くのものが、最終的にこの新しい専門用語に分類されました。たとえば、グリッド コンピューティング、パフォーマンス コンピューティング、ハイパフォーマンス コンピューティング (HPC) などは、総称して「クラウド コンピューティング」と呼ばれます。

クラウド コンピューティングに関連するオープン ソース テクノロジは数多くあります。個人的な観点から言えば、初心者は KVM、libvirt、Openstack から始めることができます。 KVM は、Linux オペレーティング システムに統合された仮想化テクノロジです。 Libvirt を使用すると、単一のマシン上の仮想マシンを管理できます。もちろん、KVM 仮想マシンに加えて、Xen などの他の仮想化テクノロジも管理できます。 Openstack は、サーバー クラスター環境で仮想化テクノロジを管理できる IaaS プラットフォーム レベルのフレームワークです。

3. オープンソースフレームワークに基づく実践

クラウドコンピューティングの理論的知識を習得し、KVM、libvirt、Openstackなどのオープンソーステクノロジーを研究しました。クラウド コンピューティング テクノロジーを深く理解し、習得したいのであれば、今こそ実践するときです。

Linux オペレーティング システムの virt-manager に似た、libvirt API に基づくシンプルな仮想マシン管理システムを作成します。または、Openstack API に基づくシンプルな IaaS プラットフォームを開発します。

スタンドアロンの仮想マシン管理システムであっても、サーバー クラスターの IaaS プラットフォームであっても、自分で実践する場合は、仮想マシンの作成、仮想マシンの削除、仮想マシンの状態の照会など、いくつかの基本的な機能を実装するだけで済みます。 もちろん、より多くの機能を実現するには、市場のクラウド コンピューティング製品 (Alibaba Cloud など) を参考にするとさらに良いでしょう。より多くの機能が実現されるにつれて、クラウド コンピューティング テクノロジーに対する理解が深まります。

[[358447]]

ここで、黒板をノックして、黒板をノックして、黒板をノックして、大事なことなので3回言いたいです!

新しいテクノロジーを学ぶ唯一の方法は、実践的な練習です。しかし、コンピュータサイエンスを専攻する大学生の多く、あるいは大多数(学校によって差があるかもしれない)は、この点に関して成績が悪く、満足のいく成績をあげていません。

彼らは理論的な知識を習得するために本を読むのが好きですが、理論的には十分に準備ができていないと常に感じています。理論的な準備だけでは決して十分ではないということを私たちはほとんど知りません。成功する方法:今すぐ始めることです!実践的な練習と絶え間ない失敗を通じて、スキルを本当に習得します。

間違いを犯すことへの恐怖は、多くのコンピュータサイエンスの学生が知識を実践することを恐れる心理的な理由です。練習を重ねれば完璧になる世界において、私たちは生きている限り間違いを犯し続けるだろうとわかっています。意図的に間違いを避ける人は、間違いなく自分の世界がどんどん狭くなっていくのを目にするでしょう。チャーチルはかつてこう言いました。「成功とは、失敗から失敗へと揺るぎない熱意を持って進む能力である。」成功した人は、自分の失敗を将来への投資とみなします。彼らはそこから学び、成長します。

<<:  Inspur Cloud が福建省人民病院の「1+1+N」スマート病院構築を支援

>>:  百度クラウドインテリジェンスサミット2020:業界のインテリジェント化を促進する17の新製品とソリューションを発表

推薦する

クラウド回帰がパブリッククラウドからオンプレミス環境への単なる移行以上の意味を持つ理由

企業がクラウドに移行した後、一部のワークロードがクラウドでは動作しないことが判明した場合、どうなるで...

SKYCCイベントの盛り上がりからビデオマーケティングについて語る

最近、「IT敗者の告白」という動画が、多くの動画プラットフォーム、特にYoukuで見られるようになり...

A5 Taobao特集の事例スキルを読みましたか?

A5 電子商取引部門は最近、A5 淘宝網衣料品トピック http://www.admin5.net/...

リンクだけでなく、マーケティングソフト記事の役割も

Yue Zhixuan 氏の「リンクのためだけではなく、ソフトテキストの書き方の品質を無視することは...

Baidu のウェブサイトの掲載とランキングの要因の分析例

インターネットで何年も活動した後、私はそれなりの成功を収めましたが、それはほんの一瞬の成功に過ぎませ...

スマート輸送を実現するには?江蘇省交通投資グループの「六つの雲」が答えを教えてくれる

[51CTO.comからのオリジナル記事] 「新インフラ」のトレンドに牽引され、5G、モノのインター...

letbox - $15/年/512M メモリ/20G ハードディスク/10T トラフィック/40G DDOS 保護

letbox の VPS の安定性は常に良好ですが、パフォーマンスはひどいです。要求の厳しいものを実...

SEOの成功への道は、退屈な機械労働に楽しみを見出すことから始まります

「毎日同じことを繰り返すのは疲れる!」ウェブマスターの友人が私のブログにこのメッセージを残しました。...

皆さん、あなたのウェブサイトはユーザー向けに構築されていますか?

「ウェブマスターツール」はウェブマスターやSEO担当者にとって非常に馴染み深いものです。国内の有名な...

hostvenom: 米国専用サーバー、月額 65 ドル、I7-6700K/32g メモリ/500g SSD/50T トラフィック/1G 帯域幅/30G 防御

Hostvenom は、10 年間運営されており、プロモーション用に 4 台のマシンを特別に提供して...

エンタープライズ ネットワーク マーケティングで SEO と入札の両方を実現できますか?

ほとんどの企業ウェブサイトでは、ネットワークマーケティングの重要性を認識しています。しかし、認識はあ...

特別なサイトレイアウトを構築するにはどうすればいいですか?

私たちがやりたいサイト内レイアウトは、一般的に言われているサイト内内部リンクレイアウトではなく、別の...

百度がオリジナルコンテンツと疑似オリジナルコンテンツを区別できるかどうかの分析

百度関係者は、常にオリジナル記事の奨励と、寄せ集めや疑似オリジナル記事の取り締まりを強調しているが、...