iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 2
0
Microsoft Azure

Azure 的奇幻之旅系列 第 2

Azure 系列文(2) - 用App Service快速架一個網站吧!

準備

  • Azure 帳號
  • Azure Cli安裝
  • Python 3.8

App Service 簡介

今天來介紹我常常會用到的一個服務 - App Service

App Service是一個基於Paas的服務
只要使用者上傳自己Web Application
然後Azure就會自動幫我們部署完成拉~!

App Service的好處有什麼?

  • 多語言 - 支援多數語言

  • 受控的實際執行環境 - 不需要擔心平台的問題

  • 容器化和 Docker - 應用程式Docker化,Docker Compose也支援

  • DevOps 最佳化 - 可以透過Azure Devops的Pipeline做CICD

  • 具高可用性的全域調整 - 可以Scale up或者Scale out

  • SaaS 平台和內部部署資料的連線 - 有支援蠻多connector可以使用

  • 安全性和法規遵循 - 可以用Azure Active Directory或者Google、Facebook...方式驗證

  • 應用程式範本 - 有Wordpress、Drupal....可以使用

  • Visual Studio 和 Visual Studio Code 整合 - MS跟Visual Studio一直都整合的不錯,有一些extension可以使用

  • API 和行動功能 - 幫你做掉一些功能,CORS、離線資料同步、推播通知....

  • 無伺服器程式碼 - 只要寫扣就好,不必部署

App Service提供了蠻多的好處
像是如果自己開個Blog用Wordpress的話
直接架在App Service也是個好選擇

注意

但如果你使用的是Micro-Service的架構
那用Azure Service Fabric或者Azure Kubernetes Service會是比較好的選擇

資源群組

Azure 有一個功能叫做資源群組
我們常常在開服務的時候可以把群組分門別類出來
這樣要刪除資源的時候也會方便一些
Azure Portal - 資源群組 - 新增
打上一些資料就可以建立成功了

另外比較值得一提的是Tag的部分
加一些Tag可以在帳單內
比較快速的分出哪些Tag花了多少錢

Create App Service

首先到Azure Portal上面搜尋欄
搜尋"App Service"
沒意外的話你會找不到服務XD

因為語系是中文的
所以搜尋"應用程式服務"就可以找到了
https://ithelp.ithome.com.tw/upload/images/20200911/20127994UbmaqENSeS.png

接下來按下新增

https://ithelp.ithome.com.tw/upload/images/20200911/201279943ym30016WK.png

  • 名稱 - 填你要的名稱
  • 發布 - 代碼
  • 發行階段堆疊 - Python 3.8(以Python為例)
  • 地區 - 這邊我選Central US
  • SKU和大小 - 如果只是開發可以選F1/B1的

Deploy Flask

拉Sample

git clone https://github.com/Azure-Samples/python-docs-hello-world

進入目錄

cd python-docs-hello-world

安裝套件

pip install -r requirements.txt

執行Flask

export FLASK_APP=application.py
flask run

瀏覽Localhost就會有Hello, World的訊息了

http://localhost:5000/

Deploy Flask to App Service

在python-docs-hello-world目錄下

az webapp up

接下來Terminal會輸出一個Json

{
  "URL": "http://<aoo-name>.azurewebsites.net",
  "appserviceplan": "xxxxxx",
  "location": "centralus",
  "name": "hello-world-it",
  "os": "Linux",
  "resourcegroup": "aiot-platform-k8s-rg",
  "runtime_version": "python|3.7",
  "runtime_version_detected": "-",
  "sku": "FREE",
  "src_path": "xxxxxx"
}

瀏覽URL的網址"http://{app-name}.azurewebsites.net"
就可以看到Hello, World了

之後只要修改Code,再重新

az webapp up

就可以重新部署上App Service

App Service Logs

這個指令可以看正在部署的App Service Log

az webapp log tail

Deploy Docker to App Service

https://ithelp.ithome.com.tw/upload/images/20200911/201279943ym30016WK.png

  • 名稱 - 填你要的名稱
  • 作業系統 - Linux
  • 地區 - Central US
  • App Service - F1

https://ithelp.ithome.com.tw/upload/images/20200911/201279949dWnqUoSA7.png

  • 選項 - 單一容器
  • 映像來源 - Docker Hub
  • 存取類型 - 公用
  • 映像及標籤 - llc564978/python-flask-hello

然後按下建立

之後到剛剛的應用程式服務裡面可以看到你建立好的App Service
概觀 - URL
就可以看到你的網頁了~


上一篇
Azure 系列文(1) - 建立帳號開始吧!
下一篇
Azure 系列文(3) - Devops Boards 管理你的專案!
系列文
Azure 的奇幻之旅30

尚未有邦友留言

立即登入留言