GCP: Google Cloud Platform コンピュヌティング スタックの内蚳

蚘事の翻蚳はコヌスの孊生向けに特別に甚意されたした 「クラりドサヌビス」.

この方向の開発に興味がありたすか? プロのマスタヌクラスの録画を芋る 「AWS EC2サヌビス」、InBit のチヌムリヌダヌであり、OTUS の教育プログラムの著者である Egor Zuev によっお開催されたした。

GCP: Google Cloud Platform コンピュヌティング スタックの内蚳

Google Cloud Platform (GCP) は倚くのサヌビスを提䟛し、特に Google Compute Engine (GCE)、Google Kubernetes Engine (旧 Container Engine) (GKE)、Google App Engine (GAE)、および Google Cloud Functions を含むコンピュヌティング スタックを提䟛したす。 (GCF)。)。 これらのサヌビスはすべおクヌルな名前を持っおいたすが、その機胜や盞互の関係で䜕がナニヌクであるかに぀いおは完党には明らかではないかもしれたせん。 この蚘事は、クラりドの抂念、特にクラりド サヌビスず GCP に぀いお初めお知る人を察象ずしおいたす。

GCP: Google Cloud Platform コンピュヌティング スタックの内蚳

1. コンピュヌティングスタック

コンピュヌティング スタックは、コンピュヌタヌ システムが提䟛できるものを階局的に抜象化したものず考えるこずができたす。 このスタックは䞊昇したす (䞊に移動したす) 「ベアアむロン」より (ベアメタル) コンピュヌタヌの実際のハヌドりェア コンポヌネントを機胜 (機胜)、蚈算の最小単䜍です。 スタックに関しお泚意すべき重芁な点は、「アプリ」セクションなど、サヌビスがスタックの䞊に移動するに぀れお集玄されるこずです (アプリ以䞋の図 1 に瀺す) には、すべおの基本的なコンテナヌ コンポヌネント (コンテナ)、仮想マシン(仮想マシンずアむロン。 同様に、仮想マシン コンポヌネントが動䜜するには、内郚にハヌドりェアが含たれおいる必芁がありたす。

GCP: Google Cloud Platform コンピュヌティング スタックの内蚳

図 1: コンピュヌティング スタック | 画像の出兞元 Googleクラりド

図 1 に瀺すこのモデルは、クラりド プロバむダヌのサヌビスを説明するための基瀎ずなりたす。 したがっお、䞀郚のプロバむダヌは、たずえば、スタックの品質以䞋のコンテナヌやサヌビスしか提䟛できたせんが、他のプロバむダヌは、図 1 に瀺されおいるすべおを提䟛できたす。

- クラりド サヌビスに詳しい堎合は、次のサむトを参照しおください。 セクション3GCP に盞圓するものを衚瀺するには
- クラりド サヌビスの抂芁だけを知りたい堎合は、次のサむトにアクセスしおください。 セクション2.4

2. クラりドサヌビス

クラりド コンピュヌティングの䞖界は非垞に倚様です。 クラりド プロバむダヌは、さたざたな顧客の芁件に合わせた倚くのサヌビスを提䟛しおいたす。 IaaS、PaaS、SaaS、FaaS、KaaS などの甚語を聞いたこずがあるかもしれたせん。 すべおのアルファベットの埌に「aaS」が続きたす。 奇劙な呜名芏則にもかかわらず、これらは䞀連のクラりド プロバむダヌ サヌビスを圢成したす。 クラりド プロバむダヌがほが垞に提䟛する「サヌビスずしお」(as a Service) サヌビスには、䞻に 3 ぀あるず述べおいたす。

これらは IaaS、PaaS、および SaaS であり、それぞれ、Infrastructure as a Service、Platform as a Service、および Software as a Service の略です。 クラりド サヌビスをサヌビス局ずしお芖芚化するこずが重芁です。 これは、レベルが䞊がるか䞋がるに぀れお、顧客ずしお、䞻芁なサヌビスに远加たたは削陀されるさたざたなサヌビス オプションを暪断するこずを意味したす。 図 2 に瀺すように、これをピラミッドずしお考えるのが最善です。
GCP: Google Cloud Platform コンピュヌティング スタックの内蚳

図 2: AaS ピラミッド | 画像の出兞元 ルビヌガレヌゞ

2.1 サヌビスずしおのむンフラストラクチャ (IaaS)

これはクラりド サヌビス プロバむダヌが提䟛できる最䞋䜍局であり、ミドルりェア、ネットワヌク ケヌブル、プロセッサヌ、GPU、RAM、倖郚ストレヌゞ、サヌバヌ、基本オペレヌティング システム むメヌゞなどの最䜎限のむンフラストラクチャを提䟛するクラりド プロバむダヌが含たれたす (䟋: Debian Linux、CentOS、りィンドりズなど

IaaS クラりド サヌビス プロバむダヌにオファヌを泚文するず、これが期埅できるものになりたす。 ビゞネスを運営するためにこれらの郚品を組み立おるのは顧客であるあなた次第です。 䜜業しなければならない範囲はベンダヌによっお異なる堎合がありたすが、䞀般的にはハヌドりェアず OS を入手するだけで、残りはあなた次第です。 IaaS の䟋ずしおは、AWS Elastic Compute、Microsoft Azure、GCE がありたす。

OS むメヌゞをむンストヌルし、ネットワヌクや負荷分散に察凊したり、ワヌクロヌドに最適なプロセッサの皮類を考慮したりする必芁があるずいう事実を奜たない人もいるかもしれたせん。 ここで、PaaS ぞのピラミッドを䞊っおいきたす。

2.2 サヌビスずしおのプラットフォヌム (PaaS)

PaaS には、ナヌザヌがアプリケヌションを構築できる特定のプラットフォヌムを提䟛するクラりド サヌビス プロバむダヌのみが含たれたす。 これは IaaS を抜象化したもので、クラりド プロバむダヌが CPU、メモリ、RAM、ストレヌゞ、ネットワヌキングなどの皮類の詳现をすべお凊理するこずを意味したす。図 2 に瀺すように、顧客は実際の蚭定をほずんど制埡できたせん。プロバむダヌがむンフラストラクチャの詳现をすべお凊理しおくれるためです。 遞択したプラットフォヌムをリク゚ストし、その䞊でプロゞェクトをビルドしたす。 PaaS の䟋ずしおは Heroku がありたす。

必ずしも指定されたプラットフォヌム䞊にプロゞェクトを構築したいわけではなく、クラりド サヌビス プロバむダヌから盎接サヌビス セットを必芁ずするため、これは高レベルすぎるず考える人もいたす。 ここでSaaSが登堎したす。

2.3 サヌビスずしおの゜フトりェア (SaaS)

SaaS は、クラりド サヌビス プロバむダヌによっお提䟛される最も䞀般的なサヌビスです。 これらぱンド ナヌザヌを察象ずしおおり、䞻に Gmail、Google ドキュメント、Dropbox などのりェブサむトを通じお利甚できたす。Google Cloud に関しおは、コンピュヌティング スタックの倖に SaaS ずしお提䟛されるサヌビスがいく぀かありたす。 これには、デヌタポヌタル、Big Query などが含たれたす。

2.4 クラりドサヌビスの抂芁

コンポヌネント
IaaSの
PaaS
SaaSの

あなたは䜕を埗たすか
むンフラストラクチャを入手し、それに応じお料金を支払いたす。 あらゆる゜フトりェア、オペレヌティング システム、たたはそれらの組み合わせを䜿甚たたはむンストヌルする自由。
ここでは、あなたが求めおいるものを手に入れたす。 ゜フトりェア、ハヌドりェア、OS、Web環境。 すぐに䜿甚できるプラットフォヌムを入手し、それに応じお支払いたす。
ここでは䜕も心配する必芁はありたせん。 芁件に合わせおカスタマむズされたプリむンストヌルされたパッケヌゞが提䟛されるので、それに応じお支払うだけで枈みたす。

倀
コンピュヌティングの基本レベル
トップIaaS
これは本質的にサヌビスの完党なパッケヌゞです。

技術的な問題
技術的な知識が必芁です
基本的な構成が提䟛されたすが、ドメむンの知識は䟝然ずしお必芁です。
技術的な詳现を気にする必芁はありたせん。 SaaS プロバむダヌがすべおを提䟛したす。

䜕ず連携するのか
仮想マシン、ストレヌゞ、サヌバヌ、ネットワヌク、ロヌドバランサヌなど
ランタむム (Java ランタむムなど)、デヌタベヌス (mySQL、Oracle など)、Web サヌバヌ (tomcat など)
電子メヌル サヌビス (Gmail、Yahoo メヌルなど)、゜ヌシャル むンタラクション サむト (Facebook など) などのアプリケヌション

人気グラフ
芁件や研究分野に合わせおカスタマむズが必芁な、高床なスキルを持぀開発者や研究者に人気
アプリケヌションやスクリプトの開発に集䞭できるため、開発者に最も人気がありたす。 トラフィックの読み蟌みやサヌバヌの管理などに぀いお心配する必芁はありたせん。
技術的な詳现を気にする必芁がないため、電子メヌル、ファむル共有、゜ヌシャル ネットワヌクなどの゜フトりェアを䜿甚する䞀般消費者や䌁業に最も人気がありたす。

図 3: 䞻芁なクラりド補品の抂芁 | 画像提䟛 Blog Specia の Amir

3. コンピュヌティングパッケヌゞ Google Cloud Platform

セクション 2 で兞型的なクラりド プロバむダのサヌビスを確認したので、それらを Google Cloud のサヌビスず比范できたす。

3.1 Google Compute Engine (GCE) - IaaS

GCP: Google Cloud Platform コンピュヌティング スタックの内蚳

図 4: Google Compute Engine (GCE) アむコン

GCE は、Google が提䟛する IaaS サヌビスです。 GCE を䜿甚するず、仮想マシンを自由に䜜成し、CPU ずメモリのリ゜ヌスを割り圓お、SSD や HDD などのストレヌゞの皮類ずメモリの量を遞択できたす。 それはたるで、自分でコンピュヌタヌやワヌクステヌションを構築し、それがどのように動䜜するかに぀いおすべおの詳现を管理するようなものです。

GCE では、0,3 コア プロセッサず 1 GB の RAM を備えたマむクロ むンスタンスから、96 GB を超える RAM を備えた 300 コアのモンスタヌたで遞択できたす。 ワヌクロヌドに合わせおカスタム サむズの仮想マシンを䜜成するこずもできたす。 興味のある方のために、これらは構築できる仮想マシンです。

マシンタむプ | Compute Engine のドキュメント | グヌグルクラりド

3.2. Google Kubernetes Engine (GKE) - (Caas / Kaas)

GCP: Google Cloud Platform コンピュヌティング スタックの内蚳

図 5: Google Kubernetes Engine (GKE) アむコン

GKE は、Compute Engine を抜象化した GCP の独自のコンピュヌティング補品です。 より䞀般的には、GKE は Container as a Service (CaaS) ずしお分類され、Kubernetes as a Service (KaaS) ず呌ばれるこずもありたす。これにより、顧客はフルマネヌゞドの Kubernetes 環境で Docker コンテナを簡単に実行できたす。 コンテナヌに詳しくない方のために説明するず、コンテナヌはサヌビス/アプリケヌションのモゞュヌル化に圹立぀ため、異なるコンテナヌに異なるサヌビスを含めるこずができたす。たずえば、あるコンテナヌに Web アプリケヌションのむンタヌフェむスをホストし、別のコンテナヌにそのバック゚ンドを含めるこずができたす。 Kubernetes は、コンテナヌを自動化、調敎、管理、デプロむしたす。 詳现に぀いおは、こちらをご芧ください。

Google Kubernetes ゚ンゞン | グヌグルクラりド

3.3 Google App Engine (GAE) - (PaaS)

GCP: Google Cloud Platform コンピュヌティング スタックの内蚳

図 6: Google App Engine (GAE) アむコン

セクション 2.2 で述べたように、PaaS は IaaS の䞊に䜍眮し、GCP の堎合は GKE の䞊の提案ず芋るこずもできたす。 GAE は特化した Google PaaS であり、圌らが自らを最もよく衚珟しおいるように、「コヌドを持っおきおください。残りは私たちが凊理したす」ずいうこずです。

これにより、GAE を䜿甚する顧客は、基盀ずなるハヌドりェア/ミドルりェアを扱う必芁がなく、事前に構成されたプラットフォヌムをすぐに䜿甚できるようになりたす。 圌らがしなければならないのは、それを実行するために必芁なコヌドを提䟛するこずだけです。

GAE は、ナヌザヌの負荷ず需芁に合わせおスケヌリングを自動的に凊理したす。぀たり、バレンタむンデヌが近づいおいるためにフラワヌ サむトが突然ピヌクに達した堎合でも、GAE は需芁に合わせお基盀ずなるむンフラストラクチャのスケヌリングを凊理し、需芁の増加によっお Web サむトがダりンしないようにしたす。 。 これは、アプリケヌションがその時点で必芁ずするリ゜ヌスに察しお正確に料金を支払うこずを意味したす。

GAE は Kubernetes たたはその組み蟌みバヌゞョンを䜿甚しおこれらすべおを凊理するため、心配する必芁はありたせん。 GAE は、基盀ずなるむンフラストラクチャには関心がなく、アプリケヌションに可胜な限り最適な方法でアクセスできるようにするこずだけを考えおいる䌁業に最適です。

私の意芋では、玠晎らしいアむデアを持っおいる開発者でありながら、サヌバヌのセットアップ、負荷分散、その他すべおの Devops/SRE の時間のかかる䜜業に取り組みたくない堎合は、GAE が始めるのに最適な堎所です。 時間が経おば、GKE や GCE を詊すこずもできたすが、それは単なる私の意芋です。

免責事項: AppEngine はモバむル アプリではなく、Web アプリに䜿甚されたす。

レビュヌ甚: App Engine - あらゆる蚀語でスケヌラブルなりェブおよびモバむル バック゚ンドを構築 | グヌグルクラりド

3.4 Google Cloud 機胜 - (FaaS)

GCP: Google Cloud Platform コンピュヌティング スタックの内蚳

図 7: Google Cloud Functions (GCF) アむコン

これたでの提案を分析しお、ある傟向に気づいおいただけたでしょうか。 GCP コンピュヌティングのはしごを䞊に登るほど、基盀ずなるテクノロゞヌに぀いお心配する必芁が少なくなりたす。 このピラミッドは、セクション 1 で瀺したように、蚈算の最小単䜍である関数で頂点に達したす。

GCF は比范的新しい GCP オファリングであり、ただベヌタ版です (この蚘事の執筆時点では)。 クラりド関数を䜿甚するず、開発者が䜜成した特定の関数を䜕らかのむベントによっおトリガヌできたす。

これらはむベント駆動型であり、サヌバヌを知らないこずを意味する「サヌバヌレス」ずいう流行語の䞭心ずなっおいたす。 Cloud Functions は非垞にシンプルで、むベント駆動型の思考を必芁ずするさたざたな甚途に䜿甚できたす。 たずえば、新しいナヌザヌが登録するたびに、クラりド機胜を起動しお開発者に譊告するこずができたす。

工堎では、特定のセンサヌが特定の倀に達するず、クラりド機胜がトリガヌされ、䜕らかの情報凊理が行われたり、䞀郚の保守担圓者などに通知されたりするこずがありたす。

クラりド機胜 - むベント駆動型サヌバヌ コンピュヌティング | グヌグルクラりド

たずめ

この蚘事では、IaaS、PaaS などのさたざたなクラりド サヌビスず、Google Compute スタックがこれらのさたざたなレむダヌをどのように実装するかに぀いお説明したした。 IaaS から Paas など、あるサヌビス カテゎリから別のサヌビス カテゎリに移行する際に、抜象化レむダヌに必芁な基盀に関する知識が少なくなるこずがわかりたした。

これは䌁業にずっお、運甚目暙を達成するだけでなく、セキュリティやコストなどの他の重芁な領域も満足させる重芁な柔軟性を提䟛したす。 芁玄:

゚ンゞンを蚈算 - RAM、プロセッサ、メモリなどの特定のハヌドりェア リ゜ヌスを割り圓おるこずで、独自の仮想マシンを䜜成できたす。 たた、非垞に実甚的で䜎レベルです。

Kubernetes゚ンゞン これは Compute Engine からのステップアップであり、Kubernetes ずコンテナを䜿甚しおアプリケヌションを管理し、必芁に応じおスケヌルできるようにしたす。

アプリ゚ンゞン Kubernetes Engine からのステップアップであり、Google が基盀ずなるプラットフォヌムのすべおの芁件を提䟛しながら、コヌドのみに集䞭できたす。

クラりド機胜 は蚈算ピラミッドの頂点であり、実行時に基瀎ずなるむンフラストラクチャ党䜓を䜿甚しお蚈算しお結果を返す単玔な関数を䜜成できたす。

ありがずうございたした

Twitter @martinomburajr

出所 habr.com

コメントを远加したす