興味があるのですが、Discourseはホストされているすべてのお客様に対してDockerを使用していますか?つまり、DockerがDiscourseやデータベースなどを実行するのですか?
それとも、お客様ごとに個別のデータベースを持つ共有データベースサーバーがありますか?
お客様ごとにDockerを使用している場合、それらを管理/オーケストレーションするために何を使用していますか?
詳細を説明したブログ記事があれば、ぜひ読んでみたいです。
興味があるのですが、Discourseはホストされているすべてのお客様に対してDockerを使用していますか?つまり、DockerがDiscourseやデータベースなどを実行するのですか?
それとも、お客様ごとに個別のデータベースを持つ共有データベースサーバーがありますか?
お客様ごとにDockerを使用している場合、それらを管理/オーケストレーションするために何を使用していますか?
詳細を説明したブログ記事があれば、ぜひ読んでみたいです。
ホスティング階層によって詳細は大きく異なりますが、はい、Docker はどこでも使用しています。私たちが頼っているいくつかのテクニックを説明するこれらのトピックに興味があるかもしれません。
Traefik、ECS、nginx-proxy、docker-compose、およびhaproxy(cdckが使用するもの)を使用したDockerベースのインストールを行いました。
通常、これにはランチャーを含むイメージのビルドが含まれます。
dockerでこれらのサーバーをどのように管理しているのか興味がありました。例えば、新しい顧客がサインアップしたときに、どのように新しいサーバーを起動するのかなどです。これらのdockerを実行しているサーバーをすべてオーケストレーションし、アップデートなどを管理するには、何かが必要になります。
新しいサイトに必要なもの(例:redis)を起動し、yml ファイルを更新し(設定ファイルでプラグインや設定が変更された場合など)、イメージをブートストラップし、イメージを起動し、起動後のマイグレーションを実行するなどの処理を行うAnsibleプレイブックがあります。
https://dashboard.literatecomputing.com/ は、(ほとんどの)同じスクリプトを使用して、標準的なインストールの管理とアップグレードを行っています。
はい、ホスティングサービスはほぼすべてコンテナで実行しています。
数千の顧客がいれば、数千のデータベースがあります ![]()
おっしゃる通り、ホスティングのあれこれをブログで紹介してからしばらく経ちました。
現在では、オーケストレーションにはPuppetとNomadを組み合わせて使用しています。
この件は@stellaさんにフォローアップしてもらう必要があります ![]()
素晴らしいですね、洞察をありがとうございます!