雲原生軟體開發與最佳實踐
Cloud Native Development: towards Best Practice
| 節 | 週三 |
|---|---|
A 18:30–19:20 | 雲原生軟體開發與最佳實踐 ED117 3 節連堂 |
B 19:30–20:20 | |
C 20:30–21:20 |
* 根據陽明交大上課時間表所列
※本課程全由台積電業師授課 In modern software development, most internet and high-tech companies are already practicing continuous integration (CI) and continuous deployment (CD). The cloud native architecture and DevOps software development lifecycle is the way to increase the software velocity and improve software quality. To transmit the real practices of software and infrastructure construction to students for their learning plan, as well as to provide the research direction to professors from industry experiences by adopting cloud computing with software DevOps lifecycle. 1) 藉由業界人士系統性的介紹,實務分享以及使用開源軟體的架構實作,使在學學生能夠了解資訊產業的實務作法以及軟體產品開發生命週期,迎向雲原生技術邁入數位轉型。 2) 讓學生了解學校所學科目能如何應用,搭配半導體產業高效率與高可靠度軟體需求引導,開發具有全球影響力的創新服務。 3) 強化學術研究與實作方法的合作,以及軟體產品創新設計 Design Thinking的觀念,達到新一代資訊人才培育的目的。
計算機網路概論、資料結構、演算法
Midterm: 35% Final Projects: 35% Class Participation and Quiz: 30%
| 週次 | 主題 |
|---|---|
| 第 1 週 | 雲原生架構與現代軟體發展趨勢介紹- Introduction to Cloud Native Computing- Internet Industry and Our challenge – From Fab 1 to N- Understand containers and Kubernetes |
| 第 2 週 | 軟體產品設計思考以及使用者需求最佳範例- Design Thinking for Software Product-The Twelve-factor App - User Story Writing |
| 第 3 週 | 雲原生開發DevOps,CI/CD 持續整合與交付部署自動化- DevOps philosophies and its lifecycle - Using DevOps to Speed Up Time to Market- CI/CD Delivery & Toolchains- IDE Features, Source Code Management (Git Repo) |
| 第 4 週 | 軟體定義現代化資料中心以及高效率的資訊服務基礎建設- Modernized Data-center design- Virtualization, Container and Cloud services- K8s Architecture |
| 第 5 週 | 設計以及架構建置K8s 自有叢集- Design and realize K8s on-premise cluster- Yaml語言介紹 |
| 第 6 週 | 設計以及架構建置K8s 自有叢集- Kubernetes叢集架構- Kubernetes API服務和網絡組件 |
| 第 7 週 | 半導體產業現代化資料中心實地參訪 |
| 第 8 週 | Mid-term Evaluation |
| 第 9 週 | 企業資訊系統DevOps最佳實踐- Design Phase- Designing Reliable Systems for semiconductor- Design Pattern, Integration Pattern (Web service, Message...) |
| 第 10 週 | 企業資訊系統DevOps最佳實踐- Design Phase- Micro-service Introduction- MERN / NoSQL database |
| 第 11 週 | 企業資訊系統DevOps最佳實踐- Development & Testing Phase- Version control -Git practice - CI and Code review- Build the pipeline and automate testing |
| 第 12 週 | 企業資訊系統DevOps最佳實踐 – Deployment - Introduction Release and Deployment - GitOps / container orchestration / auto scale out- Blue-green / Canary Deployment / Production Deployment |
| 第 13 週 | 企業資訊系統DevOps最佳實踐– Monitor and Troubleshooting- Design well-architected logging and monitoring infrastructure- Define SLIs and SLOs for cloud service- Create effective monitoring dashboards and alerts.- Monitor, troubleshooting for non-stop semi manufacture |
| 第 14 週 | 機器學習MLOps的 DevOps 流程 - MLOps Architecture- MLOps Kubeflow Pipeline |
| 第 15 週 | 機器學習MLOps的 DevOps 流程 - CI/CD for a Kubeflow Pipeline |
| 第 16 週 | Final Project Presentation -1 |
| 第 17 週 | Final Project Presentation -2 |
| 第 18 週 | Final Project Presentation -3 |
講師自行準備上課講義