技術筆記-後台實戰002-為我的 flask app 找另一個家,試試 fly.io

更新於 發佈於 閱讀時間約 8 分鐘

現有的家是 azure,功能多又有免費額度,算是堪用,只是因為雲端產業蓬勃發展,想體驗一下新東西,所以這次來玩玩 fly.io。從開啟以下賞心悅目的官網,第一次接觸到成功佈署上線,大概半小時就搞定了,體驗不錯,以下稍做紀錄。

raw-image

先完成必要程序:註冊帳號,輸入信用卡。然後安裝 command line tool,名為 flyctl,輸入指令 (mac os command line):

% brew install flyctl

接下來要啟動專案了,到自己的專案目錄中,輸入指令:

% fly launch

工具所做的事比想像的還多,首先它引導我打開 browser 執行 login 程序,然後開始分析所在目錄的檔案,很快的就正確識別出這是一個 flask app,連同一些建議的配置設定,顯示如下:

Detected a Flask app
Creating app in /Users/newman/Documents/prjPython/newprediction-python
We're about to launch your Flask app on Fly.io. Here's what you're getting:

Organization: Newman Chen (fly launch defaults to the personal org)
Name: newprediction-python (derived from your directory name)
Region: Hong Kong, Hong Kong (this is the fastest region for you)
App Machines: shared-cpu-1x, 1GB RAM (most apps need about 1GB of RAM)
Postgres: <none> (not requested)
Redis: <none> (not requested)
Tigris: <none> (not requested)

? Do you want to tweak these settings before proceeding?

因為沒有使用資料庫,所以很單純,當然是回答 Yes,所有設定會到到網頁上,屆時還可以修改。需注意的點是 RAM 的部分,因為這是主要的費用來源,預設的兩個香港的 vm 各 1GB 會產生大約 14 美金的費用。因我的 app 相對單純,所以改為 512MB;後來又發現區域也會影響費用,而 iad (Ashburn, Virginia (US)) 是最便宜的,這很重要,系統有提供成本試算計算機

raw-image

設定好後工具會為我們產生兩個最重要的設定檔 fly.toml 和 Dockerfile,紀錄所有設定值,可到自己的專案目錄檢視。

Created app 'newman-python' in organization 'personal'
Admin URL: https://fly.io/apps/newman-python
Hostname: newman-python.fly.dev
? Create .dockerignore from 3 .gitignore files? Yes
Created /Users/newman/Documents/prjPython/newprediction-python/.dockerignore from 3 .gitignore files.
Wrote config file fly.toml
Validating /Users/newman/Documents/prjPython/newprediction-python/fly.toml
✓ Configuration is valid
We have generated a simple Dockerfile for you. Modify it to fit your needs and run "fly deploy" to deploy your application.

最後再一行指令就大功告成了:

% fly deploy

只見系統很乖的奮力工作,完成後測試 api 運行正常,管理畫面看起來功能很多,設計簡潔美觀,很優秀:

raw-image

接下來很重要的問題,就是要監控費用。因為發現 region iad 的費用低了不少,而 app 已經佈署在 hkg 了,該怎麼移過去呢?當然砍掉重練也是個方法,但趁機演練一下平台的水平 scale out 功能也不錯,這是雲端服務好玩的地方,全世界任你移,一定要學一學。先確認當前機器分佈,使用指令 fly scale show :

% fly scale show

VM Resources for app: newman-python

Groups
NAME COUNT KIND CPUS MEMORY REGIONS
app 2 shared 1 512 MB hkg(2)

系統顯示當前有兩台機器,在 hkg region。需要先把它拓展到 iad region:

% fly scale count 2 --region iad

% fly scale show
VM Resources for app: newman-python

Groups
NAME COUNT KIND CPUS MEMORY REGIONS
app 4 shared 1 512 MB hkg(2),iad(2)

反應超快,真是太方便了,已經掌握了 fly scale 的用法了。再來就是把 hkg 的兩台刪除,count 參數給 0 就好了:

% fly scale count 0 --region hkg

% fly scale show
VM Resources for app: newman-python

Groups
NAME COUNT KIND CPUS MEMORY REGIONS
app 2 shared 1 512 MB iad(2)

再到 web 管理畫面確認一次,已經成功轉移到 iad region 了。

raw-image

把前端網站接過來,一切運作正常,希望帳單也能夠有好表現。

Newman 2024/10/9

導覽頁:紐曼的技術筆記-索引

  • 後記 2024/10/11

發現 hkg 的回應速度,遠優於 iad,所以改回 hkg,理解到地理位置是個 big issue:

raw-image









留言
avatar-img
留言分享你的想法!
avatar-img
newman的沙龍
25會員
119內容數
漫步是一種境界。
newman的沙龍的其他內容
2025/04/01
Reinforcement Learning (強化學習) 的理論非常有趣,可能是因為其中許多方法,與人類的學習歷程極為相似,如試錯,獎懲,改進策略,持續優化等等。現在準備來爬這座山了,我把學習階段大致分成三個小山峰,依序為 Q-Learning --> DQN --> Actor-Critic,
Thumbnail
2025/04/01
Reinforcement Learning (強化學習) 的理論非常有趣,可能是因為其中許多方法,與人類的學習歷程極為相似,如試錯,獎懲,改進策略,持續優化等等。現在準備來爬這座山了,我把學習階段大致分成三個小山峰,依序為 Q-Learning --> DQN --> Actor-Critic,
Thumbnail
2025/03/08
稍微看一下 Telegram 官方文件,哇!好強喔,功能說明的第一項赫然出現「可以取代整個網站」!口氣真的很大。雖然我的需求應該很低,但能夠確認前面是一座豐富的寶藏,還是很令人興奮的,待基本功能掌握之後,可以再評估和決定要不要往下挖。 發送訊息 要達成這第一個目標,首先必須建立一個 bot。
Thumbnail
2025/03/08
稍微看一下 Telegram 官方文件,哇!好強喔,功能說明的第一項赫然出現「可以取代整個網站」!口氣真的很大。雖然我的需求應該很低,但能夠確認前面是一座豐富的寶藏,還是很令人興奮的,待基本功能掌握之後,可以再評估和決定要不要往下挖。 發送訊息 要達成這第一個目標,首先必須建立一個 bot。
Thumbnail
2025/03/01
Line Notify 即將停止服務,隨著時間越來越緊迫,隱約聽到許多人在哀嚎。印象中有許多廠商,把 Line Notify 用得淋漓盡致,甚至可以一個客戶建一個群組,把許多客製化服務都用程式管理的井井有條,得到很好的滿意度。但這種好康,無限免費的即時訊息,沒有了,時間就在 2025/3/31!公告
Thumbnail
2025/03/01
Line Notify 即將停止服務,隨著時間越來越緊迫,隱約聽到許多人在哀嚎。印象中有許多廠商,把 Line Notify 用得淋漓盡致,甚至可以一個客戶建一個群組,把許多客製化服務都用程式管理的井井有條,得到很好的滿意度。但這種好康,無限免費的即時訊息,沒有了,時間就在 2025/3/31!公告
Thumbnail
看更多
你可能也想看
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
幾個步驟,就能成功在MacBook Air M1安裝Python3和Django!
Thumbnail
幾個步驟,就能成功在MacBook Air M1安裝Python3和Django!
Thumbnail
您是否苦於網路資訊爆炸嗎? 教學何其多,但卻無法好好選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。 使用Linux作業系統的朋友們應該對於「htop
Thumbnail
您是否苦於網路資訊爆炸嗎? 教學何其多,但卻無法好好選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。 使用Linux作業系統的朋友們應該對於「htop
Thumbnail
AWS 佈署簡單操作以及 RDS 建立篇
Thumbnail
AWS 佈署簡單操作以及 RDS 建立篇
Thumbnail
根據上一篇部署完畢Laravel 專案後,本章要來幫線上專案設定資料庫,fly.io 部署MySQL免費容量是3GB,在設定的時候要記得設定size,避免超過要收費。 接下來建置mysql 應用程序並創建屬於 mysql volume ,避免數據資料遺失~
Thumbnail
根據上一篇部署完畢Laravel 專案後,本章要來幫線上專案設定資料庫,fly.io 部署MySQL免費容量是3GB,在設定的時候要記得設定size,避免超過要收費。 接下來建置mysql 應用程序並創建屬於 mysql volume ,避免數據資料遺失~
Thumbnail
第一次學習框架,總是透過本地使用XAMPP or MAMP工具進行開發練習,但為了將自己練習的小專案部署到線上主機DEMO給身邊朋油看,就得需要額外先了解學習GCP or AWS,但一不小心亂搞就會產生額外費用(亂搞結果收費爆掉的過來人...),後來發現好物,那就是fly.io 啦
Thumbnail
第一次學習框架,總是透過本地使用XAMPP or MAMP工具進行開發練習,但為了將自己練習的小專案部署到線上主機DEMO給身邊朋油看,就得需要額外先了解學習GCP or AWS,但一不小心亂搞就會產生額外費用(亂搞結果收費爆掉的過來人...),後來發現好物,那就是fly.io 啦
Thumbnail
其實要為專案建立操作介面的方式很多,除了網頁之外,還能另外寫個專門的手機 APP 連線,或是乾脆升級算法,讓我們能隨口喊一聲「嘿OO!」就搞定,不過⋯
Thumbnail
其實要為專案建立操作介面的方式很多,除了網頁之外,還能另外寫個專門的手機 APP 連線,或是乾脆升級算法,讓我們能隨口喊一聲「嘿OO!」就搞定,不過⋯
Thumbnail
Introduction 如果以 python 為後端,那最常見而且我覺得也比較穩定的框架是 django 和 flask 適合 flask 的使用場景是如果你只是簡單想要一個 py 檔可以做為一個 api 被前端呼叫使用,不想要太多其他設定,最好是兩三行 code 就建立一個後端,那就用 flas
Thumbnail
Introduction 如果以 python 為後端,那最常見而且我覺得也比較穩定的框架是 django 和 flask 適合 flask 的使用場景是如果你只是簡單想要一個 py 檔可以做為一個 api 被前端呼叫使用,不想要太多其他設定,最好是兩三行 code 就建立一個後端,那就用 flas
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News