]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
🌐 Add Japanese translation for `docs/ja/docs/deployment/concepts.md` (#10062)
authorYusuke Tamura <62091034+tamtam-fitness@users.noreply.github.com>
Mon, 14 Aug 2023 09:14:37 +0000 (18:14 +0900)
committerGitHub <noreply@github.com>
Mon, 14 Aug 2023 09:14:37 +0000 (11:14 +0200)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
docs/ja/docs/deployment/concepts.md [new file with mode: 0644]

diff --git a/docs/ja/docs/deployment/concepts.md b/docs/ja/docs/deployment/concepts.md
new file mode 100644 (file)
index 0000000..38cbca2
--- /dev/null
@@ -0,0 +1,323 @@
+# ãƒ‡ãƒ—ロむメントのコンセプト
+
+**FastAPI**を甚いたアプリケヌションをデプロむするずき、もしくはどのようなタむプのWeb APIであっおも、おそらく気になるコンセプトがいく぀かありたす。
+
+それらを掻甚するこずでアプリケヌションを**デプロむするための最適な方法**を芋぀けるこずができたす。
+
+重芁なコンセプトのいく぀かを玹介したす:
+
+* ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ - HTTPS
+* èµ·å‹•時の実行
+* å†èµ·å‹•
+* ãƒ¬ãƒ—リケヌション実行䞭のプロセス数
+* ãƒ¡ãƒ¢ãƒªãƒŒ
+* é–‹å§‹å‰ã®äº‹å‰ã®ã‚¹ãƒ†ãƒƒãƒ—
+
+これらが**デプロむメント**にどのような圱響を䞎えるかを芋おいきたしょう。
+
+最終的な目的は、**安党な方法で**APIクラむアントに**サヌビスを提䟛**し、**䞭断を回避**するだけでなく、**蚈算リ゜ヌス**䟋えばリモヌトサヌバヌ/仮想マシンを可胜な限り効率的に䜿甚するこずです。🚀
+
+この章では前述した**コンセプト**に぀いおそれぞれ説明したす。
+
+この説明を通しお、普段ずは非垞に異なる環境や存圚しないであろう**将来の**環境に察し、デプロむの方法を決める䞊で必芁な**盎感**を䞎えおくれるこずを願っおいたす。
+
+これらのコンセプトを意識するこずにより、**あなた自身のAPI**をデプロむするための最適な方法を**評䟡**し、**蚭蚈**するこずができるようになるでしょう。
+
+次の章では、FastAPIアプリケヌションをデプロむするための**具䜓的なレシピ**を玹介したす。
+
+しかし、今はこれらの重芁な**コンセプトに基づくアむデア**を確認したしょう。これらのコンセプトは、他のどのタむプのWeb APIにも圓おはたりたす。💡
+
+## ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ - HTTPS
+
+<!-- NOTE: https.md written in Japanese does not exist, so it redirects to English one  -->
+[前チャプタヌのHTTPSに぀いお](./https.md){.internal-link target=_blank}では、HTTPSがどのようにAPIを暗号化するのかに぀いお孊びたした。
+
+通垞、アプリケヌションサヌバにずっお**倖郚の**コンポヌネントである**TLS Termination Proxy**によっお提䟛されるこずが䞀般的です。このプロキシは通信の暗号化を担圓したす。
+
+さらにセキュアな通信においお、HTTPS蚌明曞の定期的な曎新を行いたすが、これはTLS Termination Proxyず同じコンポヌネントが担圓するこずもあれば、別のコンポヌネントが担圓するこずもありたす。
+
+### HTTPS ç”šãƒ„ヌルの䟋
+TLS Termination Proxyずしお䜿甚できるツヌルには以䞋のようなものがありたす
+
+* Traefik
+    * èšŒæ˜Žæ›žã®æ›Žæ–°ã‚’自動的に凊理 âœš
+* Caddy
+    * èšŒæ˜Žæ›žã®æ›Žæ–°ã‚’自動的に凊理 âœš
+* Nginx
+    * èšŒæ˜Žæ›žæ›Žæ–°ã®ãŸã‚ã«Certbotのような倖郚コンポヌネントを䜿甚
+* HAProxy
+    * èšŒæ˜Žæ›žæ›Žæ–°ã®ãŸã‚ã«Certbotのような倖郚コンポヌネントを䜿甚
+* Nginx ã®ã‚ˆã†ãª Ingress Controller ã‚’持぀ Kubernetes
+    * èšŒæ˜Žæ›žã®æ›Žæ–°ã« cert-manager ã®ã‚ˆã†ãªå€–郚コンポヌネントを䜿甚
+* ã‚¯ãƒ©ã‚Šãƒ‰ãƒ»ãƒ—ロバむダヌがサヌビスの䞀郚ずしお内郚的に凊理䞋蚘を参照👇
+
+もう1぀の遞択肢は、HTTPSのセットアップを含んだより倚くの䜜業を行う**クラりド・サヌビス**を利甚するこずです。 ã“のサヌビスには制限があったり、料金が高くなったりする可胜性がありたす。しかしその堎合、TLS Termination Proxyを自分でセットアップする必芁はないです。
+
+次の章で具䜓䟋をいく぀か玹介したす。
+
+---
+
+次に考慮すべきコンセプトは、実際のAPIを実行するプログラム䟋Uvicornに関連するものすべおです。
+
+## ãƒ—ログラム ãš ãƒ—ロセス
+
+私たちは「**プロセス**」ずいう蚀葉に぀いおたくさん話すので、その意味や「**プログラム**」ずいう蚀葉ずの違いを明確にしおおくず䟿利です。
+
+### ãƒ—ログラムずは䜕か
+
+**プログラム**ずいう蚀葉は、䞀般的にいろいろなものを衚珟するのに䜿われたす
+
+* ãƒ—ログラマが曞く**コヌド**、**Pythonファむル**
+* OSによっお実行するこずができるファむル䟋: `python`, `python.exe` or `uvicorn`
+* OS䞊で**実行**しおいる間、CPUを䜿甚し、メモリ䞊に䜕かを保存する特定のプログラム**プロセス**ずも呌ばれる
+
+### ãƒ—ロセスずは䜕か
+
+**プロセス**ずいう蚀葉は通垞、より具䜓的な意味で䜿われ、OSで実行されおいるものだけを指したす先ほどの最埌の説明のように
+
+* OS䞊で**実行**しおいる特定のプログラム
+    * ã“れはファむルやコヌドを指すのではなく、OSによっお**実行**され、管理されおいるものを指したす。
+* ã©ã‚“なプログラムやコヌドも、それが**実行されおいるずきにだけ機胜**したす。぀たり、**プロセスずしお実行されおいるずきだけ**です。
+* ãƒ—ロセスは、ナヌザヌにあるいはOSによっお、 **終了**あるいは "kill"させるこずができたす。その時点で、プロセスは実行/実行されるこずを停止し、それ以降は**䜕もできなくなりたす**。
+* ã‚³ãƒ³ãƒ”ュヌタで実行されおいる各アプリケヌションは、実行䞭のプログラムや各りィンドりなど、その背埌にいく぀かのプロセスを持っおいたす。そしお通垞、コンピュヌタが起動しおいる間、**倚くのプロセスが**同時に実行されおいたす。
+* **同じプログラム**の**耇数のプロセス**が同時に実行されおいるこずがありたす。
+
+OSの「タスク・マネヌゞャヌ」や「システム・モニタヌ」たたは同様のツヌルを確認すれば、これらのプロセスの倚くが実行されおいるの芋るこずができるでしょう。
+
+䟋えば、同じブラりザプログラムFirefox、Chrome、Edgeなどを実行しおいるプロセスが耇数あるこずがわかりたす。通垞、1぀のタブに぀き1぀のプロセスが実行され、さらに他のプロセスも実行されたす。
+
+<img class="shadow" src="/img/deployment/concepts/image01.png">
+
+---
+
+さお、**プロセス**ず**プログラム**ずいう甚語の違いを確認したずころで、デプロむメントに぀いお話を続けたす。
+
+## èµ·å‹•時の実行
+
+ほずんどの堎合、Web APIを䜜成するずきは、クラむアントがい぀でもアクセスできるように、**垞に**䞭断されるこずなく**実行される**こずを望みたす。もちろん、特定の状況でのみ実行させたい特別な理由がある堎合は別ですが、その時間のほずんどは、垞に実行され、**利甚可胜**であるこずを望みたす。
+
+### ãƒªãƒ¢ãƒŒãƒˆã‚µãƒŒãƒãƒŒäžŠã§ã®å®Ÿè¡Œ
+
+リモヌトサヌバヌクラりドサヌバヌ、仮想マシンなどをセットアップするずきにできる最も簡単なこずは、ロヌカルで開発するずきず同じように、Uvicornたたは同様のものを手動で実行するこずです。 ã“の方法は**開発䞭**には圹に立぀ず思われたす。
+
+しかし、サヌバヌぞの接続が切れた堎合、**実行䞭のプロセス**はおそらくダりンしおしたうでしょう。
+
+そしおサヌバヌが再起動された堎合アップデヌトやクラりドプロバむダヌからのマむグレヌションの埌など、おそらくあなたはそれに**気づかないでしょう**。そのため、プロセスを手動で再起動しなければならないこずすら気づかないでしょう。぀たり、APIはダりンしたたたなのです。😱
+
+### èµ·å‹•時に自動的に実行
+
+䞀般的に、サヌバヌプログラムUvicornなどはサヌバヌ起動時に自動的に開始され、**人の介入**を必芁ずせずに、APIず䞀緒にプロセスが垞に実行されるようにしたいず思われたすUvicornがFastAPIアプリを実行するなど。
+
+### åˆ¥ã®ãƒ—ログラムの甚意
+
+これを実珟するために、通垞は**別のプログラム**を甚意し、起動時にアプリケヌションが実行されるようにしたす。そしお倚くの堎合、他のコンポヌネントやアプリケヌション、䟋えばデヌタベヌスも実行されるようにしたす。
+
+### èµ·å‹•時に実行するツヌルの䟋
+
+実行するツヌルの䟋をいく぀か挙げたす:
+
+* Docker
+* Kubernetes
+* Docker Compose
+* Swarm ãƒ¢ãƒŒãƒ‰ã«ã‚ˆã‚‹ Docker
+* Systemd
+* Supervisor
+* ã‚¯ãƒ©ã‚Šãƒ‰ãƒ—ロバむダヌがサヌビスの䞀郚ずしお内郚的に凊理
+* ãã®ã»ã‹...
+
+次の章で、より具䜓的な䟋を挙げおいきたす。
+
+## å†èµ·å‹•
+
+起動時にアプリケヌションが実行されるこずを確認するのず同様に、倱敗埌にアプリケヌションが**再起動**されるこずも確認したいず思われたす。
+
+### æˆ‘々は間違いを犯す
+
+私たち人間は垞に**間違い**を犯したす。゜フトりェアには、ほずんど垞に**バグ**があらゆる箇所に隠されおいたす。🐛
+
+### å°ã•な゚ラヌは自動的に凊理される
+
+FastAPIでWeb APIを構築する際に、コヌドに゚ラヌがある堎合、FastAPIは通垞、゚ラヌを匕き起こした単䞀のリク゚ストに゚ラヌを含めたす。🛡
+
+クラむアントはそのリク゚ストに察しお**500 Internal Server Error**を受け取りたすが、アプリケヌションは完党にクラッシュするのではなく、次のリク゚ストのために動䜜を続けたす。
+
+### é‡å€§ãªã‚šãƒ©ãƒŒ - ã‚¯ãƒ©ãƒƒã‚·ãƒ¥
+
+しかしながら、**アプリケヌション党䜓をクラッシュさせるようなコヌドを曞いお**UvicornずPythonをクラッシュさせるようなケヌスもあるかもしれたせん。💥
+
+それでも、ある箇所で゚ラヌが発生したからずいっお、アプリケヌションを停止させたたたにしたくないでしょう。 å°‘なくずも壊れおいない*パスオペレヌション*に぀いおは、**実行し続けたい**はずです。
+
+### ã‚¯ãƒ©ãƒƒã‚·ãƒ¥åŸŒã®å†èµ·å‹•
+
+しかし、実行䞭の**プロセス**をクラッシュさせるような本圓にひどい゚ラヌの堎合、少なくずも2〜3回ほどプロセスを**再起動**させる倖郚コンポヌネントが必芁でしょう。
+
+!!! tip
+    ...ずはいえ、アプリケヌション党䜓が**すぐにクラッシュする**のであれば、い぀たでも再起動し続けるのは意味がないでしょう。しかし、その堎合はおそらく開発䞭か少なくずもデプロむ盎埌に気づくず思われたす。
+
+    ãã“で、**将来**クラッシュする可胜性があり、それでも再スタヌトさせるこずに意味があるような、䞻なケヌスに焊点を圓おおみたす。
+
+あなたはおそらく**倖郚コンポヌネント**がアプリケヌションの再起動を担圓するこずを望むず考えたす。 ãªãœãªã‚‰ã€ãã®æ™‚点でUvicornずPythonを䜿った同じアプリケヌションはすでにクラッシュしおおり、同じアプリケヌションの同じコヌドに察しお䜕もできないためです。
+
+### è‡ªå‹•的に再起動するツヌルの䟋
+
+ほずんどの堎合、前述した**起動時にプログラムを実行する**ために䜿甚されるツヌルは、自動で**再起動**するこずにも利甚されたす。
+
+䟋えば、次のようなものがありたす
+
+* Docker
+* Kubernetes
+* Docker Compose
+* Swarm ãƒ¢ãƒŒãƒ‰ã«ã‚ˆã‚‹ Docker
+* Systemd
+* Supervisor
+* ã‚¯ãƒ©ã‚Šãƒ‰ãƒ—ロバむダヌがサヌビスの䞀郚ずしお内郚的に凊理
+* ãã®ã»ã‹...
+
+## ãƒ¬ãƒ—リケヌション - ãƒ—ロセスずメモリヌ
+
+FastAPI ã‚¢ãƒ—リケヌションでは、Uvicorn ã®ã‚ˆã†ãªã‚µãƒŒãƒãƒŒãƒ—ログラムを䜿甚し、**1぀のプロセス**で1床に耇数のクラむアントに同時に察応できたす。
+
+しかし、倚くの堎合、耇数のワヌカヌ・プロセスを同時に実行したいず考えるでしょう。
+
+### è€‡æ•°ã®ãƒ—ロセス - Worker
+
+クラむアントの数が単䞀のプロセスで凊理できる数を超えおおりたずえば仮想マシンがそれほど倧きくない堎合、か぀サヌバヌの CPU ã«**耇数のコア**がある堎合、同じアプリケヌションで同時に**耇数のプロセス**を実行させ、すべおのリク゚ストを分散させるこずができたす。
+
+同じAPIプログラムの**耇数のプロセス**を実行する堎合、それらは䞀般的に**Workerワヌカヌ**ず呌ばれたす。
+
+### ãƒ¯ãƒŒã‚«ãƒŒãƒ»ãƒ—ロセス ãš ãƒãƒŒãƒˆ
+<!-- NOTE: https.md written in Japanese does not exist, so it redirects to English one  -->
+
+[HTTPSに぀いお](./https.md){.internal-link target=_blank}のドキュメントで、1぀のサヌバヌで1぀のポヌトずIPアドレスの組み合わせでリッスンできるのは1぀のプロセスだけであるこずを芚えおいたすでしょうか
+
+これはいただに同じです。
+
+そのため、**耇数のプロセス**を同時に持぀には**ポヌトでリッスンしおいる単䞀のプロセス**が必芁であり、それが䜕らかの方法で各ワヌカヌ・プロセスに通信を送信するこずが求められたす。
+
+### ãƒ—ロセスあたりのメモリヌ
+
+さお、プログラムがメモリにロヌドする際には、䟋えば機械孊習モデルや倧きなファむルの内容を倉数に入れたりする堎合では、**サヌバヌのメモリRAM**を少し消費したす。
+
+そしお耇数のプロセスは通垞、**メモリを共有したせん**。これは、実行䞭の各プロセスがそれぞれ独自の倉数やメモリ等を持っおいるこずを意味したす。぀たり、コヌド内で倧量のメモリを消費しおいる堎合、**各プロセス**は同等の量のメモリを消費するこずになりたす。
+
+### ã‚µãƒŒãƒãƒŒãƒ¡ãƒ¢ãƒªãƒŒ
+
+䟋えば、あなたのコヌドが **1GBのサむズの機械孊習モデル**をロヌドする堎合、APIで1぀のプロセスを実行するず、少なくずも1GBのRAMを消費したす。
+
+たた、**4぀のプロセス**4぀のワヌカヌを起動するず、それぞれが1GBのRAMを消費したす。぀たり、合蚈でAPIは**4GBのRAM**を消費するこずになりたす。
+
+リモヌトサヌバヌや仮想マシンのRAMが3GBしかない堎合、4GB以䞊のRAMをロヌドしようずするず問題が発生したす。🚚
+
+### è€‡æ•°ãƒ—ロセス - äŸ‹
+
+この䟋では、2぀の**ワヌカヌ・プロセス**を起動し制埡する**マネヌゞャヌ・ ãƒ—ロセス**がありたす。
+
+このマネヌゞャヌ・ ãƒ—ロセスは、おそらくIPの**ポヌト**でリッスンしおいるものです。そしお、すべおの通信をワヌカヌ・プロセスに転送したす。
+
+これらのワヌカヌ・プロセスは、アプリケヌションを実行するものであり、**リク゚スト**を受けお**レスポンス**を返すための䞻芁な蚈算を行い、あなたが倉数に入れたものは䜕でもRAMにロヌドしたす。
+
+<img src="/img/deployment/concepts/process-ram.svg">
+
+そしおもちろん、同じマシンでは、あなたのアプリケヌションずは別に、**他のプロセス**も実行されおいるでしょう。
+
+興味深いこずに、各プロセスが䜿甚する**CPU**の割合は時間ずずもに倧きく**倉動**する可胜性がありたすが、**メモリRAM**は通垞、倚かれ少なかれ**安定**したす。
+
+毎回同皋床の蚈算を行うAPIがあり、倚くのクラむアントがいるのであれば、**CPU䜿甚率**もおそらく**安定**するでしょう垞に急激に䞊䞋するのではなく。
+
+### ãƒ¬ãƒ—リケヌション・ツヌルず戊略の䟋
+
+これを実珟するにはいく぀かのアプロヌチがありたすが、具䜓的な戊略に぀いおは次の章(Dockerやコンテナの章など)で詳しく説明したす。
+
+考慮すべき䞻な制玄は、**パブリックIP**の**ポヌト**を凊理する**単䞀の**コンポヌネントが存圚しなければならないずいうこずです。
+
+そしお、レプリケヌトされた**プロセス/ワヌカヌ**に通信を**送信**する方法を持぀必芁がありたす。
+
+考えられる組み合わせず戊略をいく぀か玹介したす
+
+* **Gunicorn**が**Uvicornワヌカヌ**を管理
+    * Gunicornは**IP**ず**ポヌト**をリッスンする**プロセスマネヌゞャ**で、レプリケヌションは**耇数のUvicornワヌカヌ・プロセス**を持぀こずによっお行われる。
+* **Uvicorn**が**Uvicornワヌカヌ**を管理
+    * 1぀のUvicornの**プロセスマネヌゞャヌ**が**IP**ず**ポヌト**をリッスンし、**耇数のUvicornワヌカヌ・プロセス**を起動する。
+* **Kubernetes**やその他の分散**コンテナ・システム**
+    * **Kubernetes**レむダヌの䜕かが**IP**ず**ポヌト**をリッスンする。レプリケヌションは、**耇数のコンテナ**にそれぞれ**1぀のUvicornプロセス**を実行させるこずで行われる。
+* **クラりド・サヌビス**によるレプリケヌション
+    * ã‚¯ãƒ©ã‚Šãƒ‰ãƒ»ã‚µãƒŒãƒ“スはおそらく**あなたのためにレプリケヌションを凊理**したす。**実行するプロセス**や䜿甚する**コンテナむメヌゞ**を定矩できるかもしれたせんが、いずれにせよ、それはおそらく**単䞀のUvicornプロセス**であり、クラりドサヌビスはそのレプリケヌションを担圓するでしょう。
+
+!!! tip
+    ã“れらの**コンテナ**やDockerそしおKubernetesに関する項目が、ただあたり意味をなしおいなくおも心配しないでください。
+    <!-- NOTE: the current version of docker.md is outdated compared to English one. -->
+
+    ã‚³ãƒ³ãƒ†ãƒŠãƒ»ã‚€ãƒ¡ãƒŒã‚žã€Docker、Kubernetesなどに぀いおは、次の章で詳しく説明したす: [コンテナ内のFastAPI - Docker](./docker.md){.internal-link target=_blank}.
+
+## é–‹å§‹å‰ã®äº‹å‰ã®ã‚¹ãƒ†ãƒƒãƒ—
+
+アプリケヌションを**開始する前**に、いく぀かのステップを実行したい堎合が倚くありたす。
+
+䟋えば、**デヌタベヌス・マむグレヌション** ã‚’実行したいかもしれたせん。
+
+しかしほずんどの堎合、これらの手順を**1床**に実行したいず考えるでしょう。
+
+そのため、アプリケヌションを開始する前の**事前のステップ**を実行する**単䞀のプロセス**を甚意したいず思われたす。
+
+そしお、それらの事前のステップを実行しおいるのが単䞀のプロセスであるこずを確認する必芁がありたす。このこずはその埌アプリケヌション自䜓のために**耇数のプロセス**耇数のワヌカヌを起動した堎合も同様です。
+
+これらのステップが**耇数のプロセス**によっお実行された堎合、**䞊列**に実行されるこずによっお䜜業が**重耇**するこずになりたす。そしお、もしそのステップがデヌタベヌスのマむグレヌションのような繊现なものであった堎合、互いに競合を匕き起こす可胜性がありたす。
+
+もちろん、事前のステップを䜕床も実行しおも問題がない堎合もあり、その際は察凊がかなり楜になりたす。
+
+!!! tip
+    ãŸãŸã€ã‚»ãƒƒãƒˆã‚¢ãƒƒãƒ—によっおは、アプリケヌションを開始する前の**事前のステップ**が必芁ない堎合もあるこずを芚えおおいおください。
+
+    ãã®å Žåˆã¯ã€ã“のようなこずを心配する必芁はないです。🀷
+
+### äº‹å‰ã‚¹ãƒ†ãƒƒãƒ—の戊略䟋
+
+これは**システムを**デプロむする方法に**倧きく䟝存**するだろうし、おそらくプログラムの起動方法や再起動の凊理などにも関係しおくるでしょう。
+
+考えられるアむデアをいく぀か挙げおみたす
+
+* ã‚¢ãƒ—リコンテナの前に実行されるKubernetesのInitコンテナ
+* äº‹å‰ã®ã‚¹ãƒ†ãƒƒãƒ—を実行し、アプリケヌションを起動するbashスクリプト
+    * åˆ©ç”šã™ã‚‹bashスクリプトを起動再起動したり、゚ラヌを怜出したりする方法は以前ずしお必芁になるでしょう。
+
+!!! tip
+   <!-- NOTE: the current version of docker.md is outdated compared to English one. -->
+   ã‚³ãƒ³ãƒ†ãƒŠã‚’䜿った具䜓的な䟋に぀いおは、次の章で玹介したす: [コンテナ内のFastAPI - Docker](./docker.md){.internal-link target=_blank}.
+
+## ãƒªã‚œãƒŒã‚¹ã®åˆ©ç”š
+
+あなたのサヌバヌは**リ゜ヌス**であり、プログラムを実行しCPUの蚈算時間や利甚可胜なRAMメモリを消費たたは**利甚**するこずができたす。
+
+システムリ゜ヌスをどれくらい消費利甚したいですか ã€Œå°‘ない方が良い」ず考えるのは簡単かもしれないですが、実際には、**クラッシュせずに可胜な限り**最倧限に掻甚したいでしょう。
+
+3台のサヌバヌにお金を払っおいるにも関わらず、そのRAMずCPUを少ししか䜿っおいないずしたら、おそらく**お金を無駄にしおいる** ðŸ’žã€ãŠãã‚‰ã**サヌバヌの電力を無駄にしおいる** ðŸŒŽã“ずになるでしょう。
+
+その堎合は、サヌバヌを2台だけにしお、そのリ゜ヌスCPU、メモリ、ディスク、ネットワヌク垯域幅などをより高い割合で䜿甚する方がよいでしょう。
+
+䞀方、2台のサヌバヌがあり、そのCPUずRAMの**100%を䜿甚しおいる**堎合、ある時点で1぀のプロセスがより倚くのメモリを芁求し、サヌバヌはディスクを「メモリ」ずしお䜿甚しないずいけたせん。䜕千倍も遅くなる可胜性がありたす。
+もしくは**クラッシュ**するこずもあれば、あるいはあるプロセスが䜕らかの蚈算をする必芁があり、そしおCPUが再び空くたで埅たなければならないかもしれたせん。
+
+この堎合、**1぀䜙分なサヌバヌ**を甚意し、その䞊でいく぀かのプロセスを実行し、すべおのサヌバヌが**十分なRAMずCPU時間を持぀ようにする**のがよいでしょう。
+
+たた、䜕らかの理由でAPIの利甚が急増する可胜性もありたす。もしかしたらそれが流行ったのかもしれないし、他のサヌビスやボットが䜿い始めたのかもしれないです。そのような堎合に備えお、䜙分なリ゜ヌスを甚意しおおくず安心でしょう。
+
+䟋えば、リ゜ヌス䜿甚率の**50%から90%の範囲**で**任意の数字**をタヌゲットずするこずができたす。
+
+重芁なのは、デプロむメントを埮調敎するためにタヌゲットを蚭定し枬定するこずが、おそらく䜿甚したい䞻芁な芁玠であるこずです。
+
+`htop`のような単玔なツヌルを䜿っお、サヌバヌで䜿甚されおいるCPUやRAM、あるいは各プロセスで䜿甚されおいる量を芋るこずができたす。あるいは、より耇雑な監芖ツヌルを䜿っお、サヌバに分散しお䜿甚するこずもできたす。
+
+## ãŸãšã‚
+
+アプリケヌションのデプロむ方法を決定する際に、考慮すべきであろう䞻芁なコンセプトのいく぀かを玹介しおいきたした
+
+* ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ - HTTPS
+* èµ·å‹•時の実行
+* å†èµ·å‹•
+* ãƒ¬ãƒ—リケヌション実行䞭のプロセス数
+* ãƒ¡ãƒ¢ãƒªãƒŒ
+* é–‹å§‹å‰ã®äº‹å‰ã‚¹ãƒ†ãƒƒãƒ—
+
+これらの考え方ずその適甚方法を理解するこずで、デプロむメントを蚭定したり調敎したりする際に必芁な盎感的な刀断ができるようになるはずです。🀓
+
+次のセクションでは、あなたが取り埗る戊略に぀いお、より具䜓的な䟋を挙げたす。🚀