App Engineとは
GCPのコンピューティングPaaS製品
デベロッパーやアプリケーション管理者は、仮想マシンの構成やKubernetes クラスタの指定について心配する必要がない
その代わり、デベロッパーはJava, Go, Python, Node.js などの人気のあるプログラミング言語でアプリケーションを作成し、作成したコードをサーバーレスアプリケーション環境にデプロイできる
モノリシックなサーバーサイドで、レンダリングされたWebサイトを構築できる
レンダリング
とは、何らかの抽象的なデータ集合を元に、一定の処理や演算を行って画像や映像、音声などを生成すること。
モノリシック
とは、一枚岩の、頑丈な、巨大な、などの意味を持つ英単語。組織や機器、システムなどの構造について、要素に分割されておらず全体が一体になっている様子を表す。
App Engineは、基盤となるコンピューティングとネットワークインフラを管理する
アプリケーションを保護するために仮想マシンを構成したり、ネットワークを強化したりする必要はない
App Engineは、Webアプリケーションやモバイルバックエンドアプリケーションに最適
App Engine の二つのタイプとは?
スタンダード環境用とフレキシブル環境用
スタンダード環境
言語固有のサンドボックスでアプリケーションを実行する
アプリケーションは、基盤となるサーバーのオペレーティングシステムや、オペレーティングシステムのサーバーで実行されている他のアプリケーションから分離される
サポートされている言語のいずれかで記述されたアプリケーションに適している
OSパッケージやアプリケーションコードと一緒にインストールする必要がある他のコンパイル済みのソフトウェアは必要ない
サンドボックス(sandbox)とは?
サンドボックス(sandbox)を日本語に訳すと「砂場」になりますが、ITの世界におけるサンドボックスとはコンピュータの中に設けられた「仮想環境」のことを指します。仮想環境とは、ソフトウェアによって実際のコンピュータの環境を模した「疑似環境」を作り出したものです。この仮想環境の中では、あたかも本物のコンピュータ環境の中にいるかのようにアプリケーションを動作させることができます。
コンパイルとは、特定のプログラミング言語
を用いて記述されたコンピュータープログラムを他の言語 (普通はコンピューターが実行できるバイナリ言語) を用いて記述された同じプログラムに形を変えることである。
フレキシブル環境
App Engine環境でDockerコンテナを実行する
フレキシブル環境は、アプリケーションコードはあるものの、ライブラリまたは他のサードパーティのソフトウェアをインストールする必要がある場合に適している
バックグラウンドプロセスでの作業やローカルディスクへの書き込みなど、ユーザーが使えるオプションを増やしてくれる