Amazon-Web-Services

在澳大利亞本地部署節點應用程序

  • April 19, 2020

我為一家公司開發了一個 Web 應用程序。它是一個節點應用程序——基本上,它所需要的只是npm install執行npm start。該應用程序確實需要 Puppetetteer 才能執行。數據庫方面,我使用的是位於澳大利亞或美國的 JawsDb。現在它在美國,因為主伺服器在美國。

我目前正在使用 Heroku,使用 puppeteer-heroku buildpack。但是,目前所有使用者都在澳大利亞,而該應用程序託管在美國。事實證明這很糟糕——尤其是昨晚,當潛艇連接中斷並且到美國的流量正在通過印度 -> 歐洲時(下載 1Mb 大約需要 2 分鐘)。

我顯然需要以某種方式在澳大利亞部署它。Heroku 確實在澳大利亞提供伺服器位置,但僅適用於“私人空間”和企業客戶。我給他們發了電子郵件,基本上是乞求澳大利亞當地的部署,但我不喜歡我的機會。

一方面,Heroku 確實為您完成了一切——點擊一個按鈕,您就擁有了安裝了 buildpack 的完美環境。另一方面,還有很多可能出錯的地方。

我有哪些選擇?我正在考慮這些:

  • 從 Amazon 獲取 Linux 伺服器並在其上安裝節點。我以前做過。但是,這將是另一台需要維護的伺服器。另外,我需要將 NginX 安裝為反向代理等。在不知不覺中,我已經進入了系統管理員地獄。另外,縮放將是以後的一個問題。
  • 直接使用亞馬遜。我聽說亞馬遜確實有一個系統,您可以在其中“按原樣”送出節點應用程序,並且他們為它提供了正確的環境。但是,我找不到它。提示?
  • 找到一個與 Heroku 相當的服務,我可以在其中部署該軟體。但是,它需要允許建構包,以便它可以執行 Puppetteer。

你會怎麼辦?

雖然我不是在 AWS 上託管 Node 應用程序的專家,但您正在尋找的產品似乎是 Elastic Beanstalk,它將您需要的實例預置到 AWS 並自動化了許多繁瑣的管理工作。但是,您可能需要對您的應用程序進行一些更改才能使其正常工作。

https://aws.amazon.com/getting-started/hands-on/deploy-nodejs-web-app/

引用自:https://serverfault.com/questions/1013104