2014-02-10 60 views

回答

3

雖然可行,像文章說,它需要考慮服務器的短暫的服務器。一個很好的例子就是可以根據需求擴大和縮小的Web服務。如果其中一臺服務器出現問題,您可以終止服務器並啓動另一臺服務器。

通常,您可以使用拉模型完成此操作。例如,在啓動時從git/mecurial存儲庫中提取你的代碼,然後執行腳本來設置你的實例。該腳本將設置所有需要的監視來確定您的服務器和應用程序是否正常運行。如果你想使用ssh獲取你的代碼,你仍然需要一個SSH客戶端。 (雖然你也可以通過HTTPS來實現)

你也可以使用配置管理工具,它不像所有的Puppet或Chef一樣使用ssh。本質上,您的節點/服務器將從Puppet主服務器或Chef服務器提取所有應用程序和服務器配置。然後,Puppet代理或Chef客戶端將執行所有配置/部署/監視更改以使您的應用程序運行。

如果你使用這個模型,我認爲最關鍵的組件之一是監測。您需要始終知道您的某個服務器是否有問題,並且如果出現問題,請丟棄該服務器並啓動一個新服務器。 (如果整個過程是自動化的更好)

希望這會有所幫助。

+0

絕對有幫助,謝謝。我目前正在使用python結構將二進制文件推送到使用彈性ips的ec2服務器....所以我想我是以非自動化的方式進行的。我喜歡啓動時每個服務器的想法,通過HTTPs從CI服務器中提取二進制文件。這聽起來很不錯。我猜蟒蛇織物不像傀儡或廚師那樣「成熟」。但是,它似乎並不複雜。 –

+0

面料相當成熟,但它使用更多的推式模型,而Puppet和Chef則使用拉式模型。如果您也查看其他工具,Ansible和SaltStack也會使用更多推送模式。如果你只是想在服務器上使用ssh的'client'部分,你可以使用fabric來從git倉庫中進行pull。 – Rico

+0

我明白了,所以我會定義一種結構方法在遠程服務器上運行,該服務器從CI服務器中提取二進制文件。這可以工作。在將來,我需要在ubuntu和windows實例中部署許多二進制文件,並且自動執行此操作的方式會非常好。現在我正在推動面料是的。我認爲CI服務器就是這裏的答案。在這種情況下,我不需要傀儡,廚師或布料。我可以定義一個腳本來在啓動ubuntu和windows實例時提取二進制文件。 –