<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hant-TW">
	<id>https://www.acmex.cc/index.php?action=history&amp;feed=atom&amp;title=%E7%B7%AF%E8%82%B2_2026-0529.2</id>
	<title>緯育 2026-0529.2 - 修訂歷史</title>
	<link rel="self" type="application/atom+xml" href="https://www.acmex.cc/index.php?action=history&amp;feed=atom&amp;title=%E7%B7%AF%E8%82%B2_2026-0529.2"/>
	<link rel="alternate" type="text/html" href="https://www.acmex.cc/index.php?title=%E7%B7%AF%E8%82%B2_2026-0529.2&amp;action=history"/>
	<updated>2026-06-15T04:06:16Z</updated>
	<subtitle>本 Wiki 上此頁面的修訂歷史</subtitle>
	<generator>MediaWiki 1.36.4</generator>
	<entry>
		<id>https://www.acmex.cc/index.php?title=%E7%B7%AF%E8%82%B2_2026-0529.2&amp;diff=7381&amp;oldid=prev</id>
		<title>Kuyohong：​建立內容為「本次系列課程全面回顧並實作了軟體開發與部署的完整生命週期，從傳統的一次性部署、版本控制（Git）、容器化（Docker）…」的新頁面</title>
		<link rel="alternate" type="text/html" href="https://www.acmex.cc/index.php?title=%E7%B7%AF%E8%82%B2_2026-0529.2&amp;diff=7381&amp;oldid=prev"/>
		<updated>2026-05-29T12:51:18Z</updated>

		<summary type="html">&lt;p&gt;建立內容為「本次系列課程全面回顧並實作了軟體開發與部署的完整生命週期，從傳統的一次性部署、版本控制（Git）、容器化（Docker）…」的新頁面&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;本次系列課程全面回顧並實作了軟體開發與部署的完整生命週期，從傳統的一次性部署、版本控制（Git）、容器化（Docker），一路演進到雲端服務的整合與應用（AWS S3、EC2、App Runner、ECS）。課程的核心目標是讓學員掌握從開發、封裝、部署到維運的現代化流程，並引入了系統監控與安全的關鍵概念。&lt;br /&gt;
課程內容涵蓋了以下主要階段：&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
1. 基礎開發與部署：複習了從傳統部署到容器化的演進，以及使用 Git 進行版本控制與團隊協作的流程，並預告了可能發生的版本衝突問題。&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2. 系統監控與告警：引入 AWS CloudWatch，模擬產品上線後因使用者增多導致的高 CPU 負載情境，指導學員設定監控指標與告警通知。&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
3. 自動化與問題排查：介紹使用 EC2 User Data 實現自動化安裝，並釐清常見的連線與埠號映射（Port Mapping）問題，強調紀錄與回報的重要性。&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
4. 資安事件模擬與追蹤：透過「第五個故事線」，模擬內部攻擊（IAM 帳號被竊），並利用 AWS CloudTrail 追蹤與調查惡意操作，學習如何從日誌中找出事件行為者與時間點。&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
5. 部署模式演進：比較了傳統 EC2 虛擬機部署與現代容器化託管服務（如 App Runner、ECS Fargate）在監控思維、成本效益與維護性上的根本差異，強調容器化「順開順關」、「用後即毀」的優勢。&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
6. 雲端產業生態與 AI 應用導入：探討了雲服務產業鏈（原廠、代理商、客戶）、稅務發票問題，並實際操作部署一個多容器 AI 應用平台（Dify），指導學員建立 AI 引擎、配置大型語言模型（LLM）與知識庫，並透過 AWS Bedrock 取得雲端 AI 算力。&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
總體而言，課程透過一系列的「故事線」與實作練習，讓學員從技術操作、業務目標、系統監控到安全防護，建立起一套完整的雲端 DevOps 知識體系與實戰能力。&lt;br /&gt;
&lt;br /&gt;
=== 軟體開發與部署演進 ===&lt;br /&gt;
* 從傳統到容器化：課程回顧了從早期一次性部署的不穩定性，到導入容器（Container）以確保環境一致性的演進過程。&lt;br /&gt;
* 版本控制 (Git)：&lt;br /&gt;
** 基礎流程：涵蓋 git init、git add、commit，以及與遠端儲存庫的互動。&lt;br /&gt;
** 分支管理：為開發新功能開設新分支（feature branch），以確保主分支（main/master）的穩定性，開發完成後再合併。&lt;br /&gt;
** 團隊協作衝突：當多位開發者同時工作時，若本地儲存庫未及時與遠端同步，提交時會發生版本衝突。解決方案包括使用 git fetch 和 git pull 同步遠端最新狀態。&lt;br /&gt;
* 容器化 (Docker)：&lt;br /&gt;
** 核心概念：為了解決開發、測試與生產環境不一致及相依性問題，採用 Docker 將應用程式封裝成映像檔（Image）。&lt;br /&gt;
** Docker Compose：用於整合並管理多個 Docker 容器，透過 docker-compose.yaml 設定檔，可在本地一鍵啟動包含應用、資料庫等多個服務的複雜系統，完整模擬生產環境。&lt;br /&gt;
** 映像檔儲存庫：打包好的映像檔需上傳至容器映像檔儲存庫（Container Registry），如公開的 Docker Hub 或企業內部的私有儲存庫（如 AWS ECR）。&lt;br /&gt;
=== 雲端部署與架構 (AWS) ===&lt;br /&gt;
* 部署模式比較：&lt;br /&gt;
** 傳統虛擬機 (EC2)：監控整台機器的資源（CPU、網路），成本基於運行時長計算，需長期維護，壓力較大。&lt;br /&gt;
** 容器化託管 (ECS Fargate, App Runner)：監控轉向以「請求」為中心（請求次數、成功/失敗率、反應時間），成本基於容器實際運行的「計次」或「計時」模式。容器「用時即開，用完即毀」，大幅降低維護壓力與閒置成本。&lt;br /&gt;
* EC2 自動化與設定：&lt;br /&gt;
** User Data：可利用 EC2 的 User Data 功能，在實例啟動時自動執行腳本（如安裝軟體、拉取程式碼），減少手動重複操作與錯誤。&lt;br /&gt;
** 連線與埠號映射：需釐清應用程式實際監聽的埠號與對外映射的網路埠號，避免因設定混亂導致服務無法訪問。&lt;br /&gt;
* 雲端服務整合：&lt;br /&gt;
** 靜態資源 (S3)：利用 S3 儲存靜態檔案，解決傳統硬碟擴充問題。需注意權限設定與安全配置。&lt;br /&gt;
** 權限管理 (IAM)：&lt;br /&gt;
*** IAM Role：透過為 EC2 實例配置 IAM 角色，安全地授予其存取其他 AWS 服務（如 S3）的權限，是雲端服務間互動的標準做法。&lt;br /&gt;
*** IAM User：為程式化存取（如本地開發）建立專用 IAM 使用者，並產生 Access Key ID 與 Secret Access Key。&lt;br /&gt;
*** 安全性提醒：嚴禁將 Access Key 等敏感憑證硬編碼在程式碼中，以免造成嚴重安全風險。&lt;br /&gt;
=== 系統監控與安全 ===&lt;br /&gt;
* 系統效能監控 (CloudWatch)：&lt;br /&gt;
** 重要性：當產品上線後，為掌握系統運行狀態、及時發現並處理效能問題（如高 CPU 負載），必須進行監控。&lt;br /&gt;
** 實作：學習瀏覽 AWS CloudWatch，監控 CPU 使用率等指標，並設定當指標超過阈值（如 70-80%）時，自動寄送 Email 的警報規則。&lt;br /&gt;
** 告警延遲：需注意告警的數據回報頻率與觸發條件，這會影響收到通知的延遲時間。&lt;br /&gt;
* 帳號行為監控與資安 (CloudTrail)：&lt;br /&gt;
** 情境：模擬駭客透過社交工程等方式盜用公司同仁的 AWS 帳號，並執行惡意操作（如刪除主機）。&lt;br /&gt;
** 目的：當發生資安事件時，需能追查「哪個帳號」在「什麼時間」做了「什麼事」。&lt;br /&gt;
** 工具：使用 AWS CloudTrail 追蹤並記錄帳戶的行為軌跡與管理事件。透過檢視其事件記錄，可以找出異常操作的行為者與時間點，完成事故調查與證據保全。&lt;br /&gt;
** 限制：CloudTrail 的紀錄並非即時，可能需要等待數分鐘才會顯示。&lt;br /&gt;
=== AI 應用平台建構與實作 (Dify) ===&lt;br /&gt;
* AI 引擎概念：&lt;br /&gt;
** 將 AI 引擎比喻為新進員工，其核心組成包括：&lt;br /&gt;
*** 智商 (大型語言模型 LLM)：相當於大腦，決定了 AI 的能力與準確度（如 Anthropic Claude、Amazon Titan 等）。&lt;br /&gt;
*** 知識 (Knowledge)：相當於產品手冊，需提供專屬的知識庫（如上傳 CSV 檔案），AI 才能根據特定資料回答問題。&lt;br /&gt;
* 平台操作 (Dify)：&lt;br /&gt;
** 環境建置：透過 Docker Compose 在本地啟動 Dify 多容器應用平台。&lt;br /&gt;
** 引擎建立：在 Dify 中建立 AI 引擎，為其命名、選擇 LLM，並設定行為指令 (Prompt)。&lt;br /&gt;
** 知識庫整合：建立知識庫並上傳資料檔案，再將其與 AI 引擎關聯，使其具備回答特定領域問題的能力。&lt;br /&gt;
** 混合檢索：可設定為「混合檢索」模式，並配置 Embedding 模型與 Re-rank 模型以優化搜尋結果。&lt;br /&gt;
* 連接雲端 AI 算力 (AWS Bedrock)：&lt;br /&gt;
** 原理：本地的 Dify 平台本身不具備 AI 算力，需透過 API 調用外部模型供應商的服務。&lt;br /&gt;
** 設定：在 Dify 平台中安裝並設定模型供應商（如 Bedrock），並配置從 IAM 使用者取得的 Access Key，讓本地應用能安全地調用 AWS 雲端上的 AI 模型進行推理。&lt;br /&gt;
* AI Workflow 概念：&lt;br /&gt;
** 單一 AI 引擎不一定會完全按照預設流程執行任務。對於需要特定順序的複雜任務（如工業流水線），未來將學習設計 AI Workflow，將多個 AI 引擎串聯成一條自動化處理流程。&lt;br /&gt;
=== 產業生態與實務 ===&lt;br /&gt;
* 雲端服務產業鏈：&lt;br /&gt;
** 原廠 (AWS, GCP, Azure)：提供核心服務，但直接購買常因稅務規定無法取得台灣發票。&lt;br /&gt;
** 代理商：在台灣銷售原廠服務，可開立台灣發票以滿足企業報帳需求，並提供在地技術支援（SLA）。&lt;br /&gt;
* 技術職涯與行業現況：&lt;br /&gt;
** 討論了教學工作的挑戰、學術界與業界的人才薪資差距，以及部分行業中存在的「套現」（如刷卡賺取點數或里程）文化。&lt;br /&gt;
* 多雲端策略：即使是市場領導者也可能出現服務中斷，因此準備備援方案（如 AWS 異常時切換至 GCP）對企業至關重要。&lt;br /&gt;
[[檔案:2026-0529-02.png|800px]]&lt;/div&gt;</summary>
		<author><name>Kuyohong</name></author>
	</entry>
</feed>