├── .gitignore ├── README.md ├── commit.sh ├── conf ├── CNAME └── env.sh ├── docs ├── 01_SRE │ ├── CH01.md │ ├── CH02-04.md │ ├── CH05-07.md │ ├── CH08-11.md │ ├── CH12-15.md │ ├── CH16-18.md │ ├── CH19-21.md │ ├── CH22.md │ ├── CH23-24.md │ ├── CH25.md │ ├── CH26-28.md │ ├── CH27.md │ ├── CH30-31.md │ └── CH32-34.md ├── 02_CD.md ├── 02_CD │ ├── CH01.md │ ├── CH02.md │ ├── CH03.md │ ├── CH04.md │ ├── CH05.md │ ├── CH06.md │ ├── CH07.md │ ├── CH08.md │ ├── CH09.md │ ├── CH10.md │ ├── CH11.md │ ├── CH12.md │ ├── CH13.md │ ├── CH14.md │ └── CH15.md ├── 03_K8s.md ├── 03_K8s │ ├── 0314.md │ ├── CH01.md │ ├── CH18.md │ ├── CH19.md │ ├── P01.md │ ├── QA.md │ ├── Reference.md │ └── Schedule.md ├── 04_Linux.md ├── 04_Linux │ ├── Online.md │ ├── R4-01.md │ ├── R4-02.md │ ├── R4-03.md │ ├── R4-04.md │ ├── R4-05.md │ ├── R4-06.md │ ├── R4-07.md │ ├── R4-08.md │ ├── R4-09.md │ ├── R4-10.md │ ├── R4-11.md │ ├── R4-12.md │ ├── R4-13.md │ ├── R4-14.md │ ├── R4-15.md │ ├── R4-16.md │ ├── R4-17.md │ ├── R4-18.md │ ├── R4-XX-template.md │ └── Vote.md ├── Articles.md ├── Books.md ├── ChangeLog.md ├── Events.md ├── GuideLine.md ├── Incidents.md ├── act │ ├── .DS_Store │ ├── 01_SRE │ │ ├── 20170905-begining.png │ │ ├── 20180524_1.jpg │ │ ├── 20180524_2.jpg │ │ └── SRE-3_20171130.mp3 │ ├── 02_CD │ │ ├── 20180816_CD-Pipeline.jpg │ │ ├── 20181213.jpg │ │ ├── 20190124_4-1.jpg │ │ ├── 20190124_4-2.jpg │ │ └── 20190124_4-3.jpg │ ├── 03_K8s │ │ ├── 0314 │ │ │ ├── 01.jpg │ │ │ ├── 02.jpg │ │ │ ├── 03.jpg │ │ │ └── 04.jpg │ │ ├── 20190222_deep-dive-k8s.png │ │ ├── 20190222_members.jpg │ │ ├── 20190222_vote.png │ │ └── members │ │ │ ├── 20191206_menber_1_final.jpg │ │ │ ├── 20191206_menber_2_final.jpg │ │ │ ├── 20191206_menber_3_final.jpg │ │ │ └── 20191206_menber_4_final.jpg │ └── 04_Linux │ │ ├── 20200320-Vote.png │ │ └── Screen Shot 2020-05-02 at 10.09.48.png ├── images │ └── about_learning.jpg ├── index.md ├── notes.md ├── pdf │ ├── .DS_Store │ ├── CD │ │ ├── CD_CH04-1.pdf │ │ ├── CD_CH04-2.pdf │ │ ├── CD_CH08-1.pdf │ │ ├── CD_CH09-1.pdf │ │ ├── CD_CH11.pdf │ │ ├── CD_CH13-1.pdf │ │ ├── CD_CH13-2.pdf │ │ └── CD_CH14.pdf │ ├── Linux │ │ ├── .DS_Store │ │ ├── 01_How-to-Learn.pdf │ │ ├── 02_Average-Load.pdf │ │ ├── 03-04_Context-Switch.pdf │ │ ├── 06.pdf │ │ ├── 07-08.pdf │ │ ├── 10.pdf │ │ ├── 11_How_to_quickly_analyze__CPU_bottleneck.pdf │ │ ├── 12.pdf │ │ ├── 20.pdf │ │ ├── 21.pdf │ │ ├── 23.pdf │ │ ├── 24_Linux_disk_ I_O_operating_Part_I.pdf │ │ ├── 25_Linux_disk_ I_O_operating_Part_II.pdf │ │ ├── 26_find_the_process_that_print_lagre_the_logs.pdf │ │ ├── 27.pdf │ │ ├── 27_Disk-IO-for-high-latency.pdf │ │ ├── 28.pdf │ │ ├── 28_why-sql-query-takes-too-long-time.pdf │ │ ├── 29.pdf │ │ ├── 29_Redis-latency-problems-troubleshooting.pdf │ │ ├── 30.pdf │ │ ├── 30_find_I_O_bottleneck.pdf │ │ ├── 31.pdf │ │ ├── 31_thinking_of_disk_io_performance_tuning.pdf │ │ ├── 32.pdf │ │ ├── 32_blocking_non-blocking_I_O_and_sync_async_I_O.pdf │ │ ├── 33_34_about_linux_network.pdf │ │ ├── 35_recap_C10K_C1000K.pdf │ │ ├── 36_evaluate_network_performance.pdf │ │ ├── 37_DNS-Resolution.pdf │ │ ├── 38_use_tcpdump_Wireshark.pdf │ │ ├── 39_Solve_ddos_Attack_.pdf │ │ ├── 40_Round_Trip_Time.pdf │ │ ├── 43_44_network_performance_optimization.pdf │ │ ├── 45_where_is_network_buffer.pdf │ │ ├── 46_containerizing_applications.pdf │ │ ├── 47_Packet_loss_chapter_1.pdf │ │ ├── 49_kernel_process_high_cpu.pdf │ │ ├── 50_51_DTrace_for_Linux.pdf │ │ ├── 52_Service_throughput_drops.pdf │ │ ├── 53_System_monitoring.pdf │ │ ├── 54_application_monitoring.pdf │ │ ├── 55_analysis_performance_method.pdf │ │ ├── 56_system_performance_optimization_method.pdf │ │ ├── 57_Linux_performance.pdf │ │ └── 58_Linux_performance_in_prod.pdf │ ├── SRE │ │ ├── SRE_CH05.pdf │ │ ├── SRE_CH17.pdf │ │ ├── SRE_CH18.pdf │ │ ├── SRE_CH19.pdf │ │ ├── SRE_CH22.pdf │ │ └── SRE_CH26.pdf │ └── events │ │ └── 20180726.pdf ├── separator.md └── stylesheets │ └── extra.css ├── mkdocs.yml └── publish.sh /.gitignore: -------------------------------------------------------------------------------- 1 | site/ 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # Public Information 3 | 4 | * `https://www.sre.tw` 5 | * 靜態頁面 (bootstrap) 6 | * git repos: `https://cross-community.github.io/sre/` 7 | * `https://study-area.sre.tw/` 8 | * 讀書會資料 (mkdocs) 9 | * source repos: `https://cross-community.github.io/study-area-docs/` 10 | * site repos: `https://cross-community.github.io/study-area-site/` 11 | * `https://fb.sre.tw/` 12 | * Facebook 社群短連結 13 | * https://www.facebook.com/groups/sre.taiwan/ 14 | 15 | 16 | ## 目錄結構說明 17 | 18 | ```bash 19 | └── docs/ 主要文件原始檔, markdown 20 | ├── 01_SRE 21 | ├── 02_CD 22 | ├── 03_K8s 23 | ├── 04_Linux 24 | ├── act/ 活動紀錄,照片、相關資訊等 25 | │ ├── 01_SRE 26 | │ ├── 02_CD 27 | │ ├── 03_K8s 28 | │ └── 04_Linux 29 | ├── pdf/ 讀書會產出資料 30 | │ ├── CD 31 | │ ├── SRE 32 | │ ├── K8s 33 | │ └── Linux 34 | │ └── events 35 | └── stylesheets 36 | ``` 37 | 38 | 39 | ## 編輯流程 40 | 41 | 1. 把資料 (pdf, 圖檔) 放到對應的位置: 42 | * pdf: `/docs/pdf` 43 | * 圖檔: `/docs/images` 44 | 1. 把這次的文件 (markdown) 放到對應的目錄 45 | * 讀書會每個 Round 都從第一層目錄開始 46 | 1. 修改 mkdocs 的索引檔 `mkdocs.yaml` 47 | 1. 在本機測試,沒問題後發 PR 48 | 49 | 50 | 51 | 52 | --- 53 | ## Install, Debug, Publish 54 | 55 | ```bash 56 | ## Install pip on macOS 57 | #sudo easy_install pip 58 | 59 | ## mkdocs 60 | # see: https://www.mkdocs.org/#installation 61 | pip3 install --upgrade pip 62 | pip3 install mkdocs 63 | 64 | ## Theme: meterial 65 | # https://squidfunk.github.io/mkdocs-material/ 66 | pip3 install mkdocs-material 67 | 68 | 69 | ## Run in local 70 | mkdocs serve 71 | # browse: http://localhost:8000/ 72 | 73 | ## Publish 74 | ./publish.sh 75 | ``` 76 | 77 | 78 | --- 79 | # Reference 80 | 81 | ## Tools 82 | 83 | * Static Site Generator: https://www.mkdocs.org/ 84 | * Template Engine: https://squidfunk.github.io/mkdocs-material/ 85 | * Disucssion: https://sre-tw.disqus.com/ 86 | * [The right and wrong way to set Python 3 as default on a Mac](https://opensource.com/article/19/5/python-3-default-mac) 87 | 88 | ## Contributors 89 | 90 | * [Site Reliability Engineering Taiwan](https://www.facebook.com/groups/sre.taiwan/) 91 | * [DevOps Taiwan](https://www.facebook.com/groups/DevOpsTaiwan/) 92 | * DNS (sre.tw) 提供: [Chu-Siang Lai](http://note.drx.tw/) 93 | * 讀書會場地提供: PIXNET, 91APP 94 | -------------------------------------------------------------------------------- /commit.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source conf/env.sh 4 | 5 | DESC=$1 6 | 7 | 8 | # git pull origin master 9 | git add . 10 | git commit -m "update on $TS, comment: ${DESC}" 11 | git push 12 | 13 | -------------------------------------------------------------------------------- /conf/CNAME: -------------------------------------------------------------------------------- 1 | study-area.sre.tw -------------------------------------------------------------------------------- /conf/env.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SITE_GIT_REPOS="https://github.com/cross-community/study-area-site.git" 4 | 5 | TS=`date +%Y%m%d-%H%M` -------------------------------------------------------------------------------- /docs/01_SRE/CH01.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | * 導讀時間:2017/11/16 (四) 4 | * 場地提供:PIXNET 5 | * [共筆紀錄](https://hackmd.io/VQkMngXhRQaYD2ZOebG0mw) 6 | * 導讀者:[Chen Cheng-Wei](https://www.slideshare.net/warfan) 7 | 8 | --- 9 | ## 導讀整理 10 | 11 | SRE 方法論 12 | 13 | * 確保長期關注研發工作 (Ensuring a Durable Focus on Engineering) 14 | * 在保障服務 SLO 的前提下,最大化迭代速度 (Pursuing Maximum Change Velocity Without Violating a Service’s SLO) 15 | * 監控系統 (Monitoring) 16 | * 緊急事件處理 (Emergency Response) 17 | * 變更管理 (Change Management) 18 | * 需求預測與容量規劃 (Demand Forecasting and Capacity Planning) 19 | * 資源部署 (Provisioning) 20 | * 效率與性能 (Efficiency and Performance) 21 | 22 |

23 | 24 |
SRE Study Notes - Opening, CH1 from Rick Hwang
25 | 26 | 27 | --- 28 | ## 討論與分享 29 | 30 | * [原始討論連結](https://www.facebook.com/groups/sre.taiwan/permalink/909580442541194/) [Facebook] 31 | -------------------------------------------------------------------------------- /docs/01_SRE/CH02-04.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | * 導讀時間:2017/11/17 (四) 4 | * 場地提供:PIXNET 5 | * [共筆紀錄](https://hackmd.io/VQkMngXhRQaYD2ZOebG0mw)、[錄音檔](https://drive.google.com/open?id=1Rq03HcXS0qfTEO-hegdqFvxKy_JzNc4Q) 6 | * 章節內容: 7 | * CH02: 從 SRE 角度看 Google 正式服務環境 8 | * CH03: 擁抱風險 9 | * CH04: 服務水準目標 10 | * 導讀者:[Rick Hwang](https://rickhw.github.io) 11 | 12 | --- 13 | ## 導讀整理 14 | 15 | 16 | 17 | --- 18 | ## 討論與分享 19 | 20 | * [如何與業務共同討論 SLO](https://www.facebook.com/groups/sre.taiwan/permalink/919240248241880/) by 正瑋 21 | * 2017/07/26: [美团点评的 SRE 发展与实践](https://www.infoq.cn/article/development-and-practice-of-meituan-dianping-sre) [簡中], [社群討論](https://www.facebook.com/groups/sre.taiwan/permalink/914374865395085/) 22 | * 2017/11/12: [Gipi (游舒帆) 的緊急事件處理心得](https://www.facebook.com/gipi.net/posts/1754869054525486) -------------------------------------------------------------------------------- /docs/01_SRE/CH05-07.md: -------------------------------------------------------------------------------- 1 | 2 | * 導讀時間:2017/11/30 (四) 3 | * 場地提供:PIXNET 4 | * [共筆紀錄](https://hackmd.io/Yj7gMzAORLOKM41kpzoCnQ) 5 | * 章節內容: 6 | * 第五章 減少瑣事 by Wnlin @ Pixnet 7 | * 第六章 Monitoring System by Tim @ Droi 8 | * 第七章 Google 的自動化系統的演進 by Levi Chen @ 91APP 9 | * [錄音](https://www.facebook.com/groups/sre.taiwan/permalink/1022652117900692/) 10 | 11 | 12 | 13 | --- 14 | ## 導讀整理 15 | 16 | 17 | 18 | 19 | 33 | 34 | 35 | --- 36 | ## 討論與分享 37 | 38 | * [共筆討論](https://www.facebook.com/groups/sre.taiwan/permalink/927261584106413/) 39 | * 線上討論:[關於值班與 On Call](https://www.facebook.com/groups/sre.taiwan/permalink/984759725023265/) 40 | * [Python 自動化分享的討論](https://www.facebook.com/groups/sre.taiwan/permalink/927339394098632/) 41 | * [問題提問](https://www.facebook.com/groups/sre.taiwan/permalink/927407917425113/) by 正瑋 42 | * CH05 43 | - 手動跑腳本也算瑣事(Toil)? 44 | - 書中提到 Toil 可能會帶來一些壞處,有人遇過嗎? 45 | * CH06 46 | - white-box 與 black-box monitoring 的差異,有更多例子嗎? 47 | - 各位都分配多少人力在處理 monitoring?真的會安排人盯著 dashborad? 48 | - 除了四大黃金指標,各位還會關注哪些指標? 49 | - 書中提到為了避免讓整個監控系統過於複雜,因此構成整個監控系統的各部件(Alert, dashboard, 指標的收集與匯整...),應該是彼此相對獨立運行為佳,針對這點各位的想法是?有無實務上的經驗可以分享? 50 | - 關於 monitoring 的頻率,各位實際現場的經驗? 51 | * CH07 52 | - 如何判斷要不要自動化?何時手動處理,何時會自動化? 53 | - 自動化的演進?各位做到什麼程度? 54 | - 自動化腳本的維護,佔據你們目前多少的工作量? 55 | 56 | 57 | ## 延伸閱讀 58 | 59 | * [How to Monitor the SRE Golden Signals](https://medium.com/devopslinks/how-to-monitor-the-sre-golden-signals-1391cadc7524?imm_mid=0f84c9&cmp=em-webops-na-na-newsltr_20171117) 60 | -------------------------------------------------------------------------------- /docs/01_SRE/CH08-11.md: -------------------------------------------------------------------------------- 1 | 2 | * 導讀時間:2017/12/14 (四) 3 | * 場地提供:PIXNET 4 | * 章節內容: 5 | * 第八章 - Release Engineering 發行工程 by wanchia (婉佳 ?) 6 | * 第九章 - Simplicity 簡單化 by win 7 | * 第十章 - 基於時間序列數據進行有效報警 by 曾義格 8 | * 第十一章 - Being On-Call 輪值 by John 9 | 10 | --- 11 | ## 導讀整理 12 | 13 | * [共筆紀錄](https://hackmd.io/IKnFL-MbSQeH6Wd1IOt2cg) 14 | 15 | --- 16 | ## 討論與分享 17 | 18 | * [問題提問](https://www.facebook.com/groups/sre.taiwan/permalink/935562133276358/) by 正瑋 19 | * CH08 - Release Engineering 20 | - 你的公司有發佈工程師、發佈經理 這樣的職位嗎?他們實際的工作內容為? 21 | - 你們的發佈流程為何?遇過哪些坑?哪些雷? 22 | - 你們在發佈過程中,是否也有關心發佈時的相關數據,例如:部署一次要花多少時間?發佈的頻率?有覺得哪些是重要的數據嗎?為什麼重要? 23 | - 你們團隊對於發佈工程的哲學(政策)? 24 | - 你們採用哪個 git flow?這對於你們的 dev 與 ops 之間的協作有影響嗎? 25 | - SRE 本身有在用 VCS 嗎?組態、自動化腳本有送進 VCS 嗎?使用的情況與情形? 26 | - 有人實踐 Push On Green 嗎? 27 | - 在你們的發佈流程中,有哪些權限控管的機制?是否有人為控管的步驟(關卡)? 28 | - 你使用的 CI Server 是?你當初選擇與評估的決策依據? 29 | - 組態檔與發佈流程是如何互相配合的? 30 | - 書中提到的四種組態與發佈流程配合的方式,你們採用哪一種?有不一樣的做法嗎? 31 | - rolling upgrade?藍綠、金絲雀部署,你有採用嗎? 32 | * CH09 - Simplicity 33 | - 你是如何撰寫自動化腳本的?撰寫的情境是? 34 | - 有在進行重構與簡化嗎? 35 | - exploratory coding?有人這麼做過嗎? 36 | - 你有進行 software bloat detection 嗎? 37 | * PART3 - Practices 38 | - 圖 III-1 金字塔需求圖,大家的想法是? 39 | * CH10 - Practical Alerting from Time-Series Data 40 | - 大家看得懂這章嗎?(笑) 41 | - 你們在使用哪些 Time-Series 的監控工具? 42 | - 續上,可以分享一下實務的使用情境嗎? 43 | * CH11 - Being On-Call 44 | - 書中提及良好的 On-Call 方式、福利、制度、文化,在你的團隊中實踐了哪些? 45 | - 有在做 DiRT 嗎?或是 Chaos monkey 嗎? 46 | 47 | 48 | 49 | ## 延伸閱讀 50 | 51 | * [On Call Rotations: How Best to Wake Devs Up in the Middle of the Night](https://thenewstack.io/call-rotations-best-wake-devs-middle-night/) -------------------------------------------------------------------------------- /docs/01_SRE/CH12-15.md: -------------------------------------------------------------------------------- 1 | 2 | * 導讀時間:2017/12/28 (四) 3 | * 場地提供:PIXNET 4 | * 章節內容: 5 | * 第十二章 Effective Troubleshooting by Eric Chen 6 | * 第十三章 緊急事件響應 by Rick Lin (請假,臨時由 Rick Hwang 代打) 7 | * 第十四章 緊急事故管理 by Rick Hwang 8 | * 第十五章 事後總結:從失敗中學習 9 | 10 | --- 11 | ## 導讀整理 12 | 13 | * [共筆紀錄](https://hackmd.io/B1YTFIn1Sy-ze2iwp9G-1A) 14 | 15 |
SRE_Ch12_effective_troubleshooting from Pjack Chen
16 | 17 |
SRE CH13 - Emergency Response from Rick Hwang
18 | 19 | 20 | --- 21 | ## 討論與分享 22 | 23 | * 問題討論:[為什麼對 #SRE 而言,不咎責(對事不對人)的事後檢討(事後回顧)很重要?](https://www.facebook.com/groups/sre.taiwan/permalink/1031016787064225/) by 正瑋 24 | * 討論:[緊急事件處理](https://www.facebook.com/groups/sre.taiwan/permalink/949123225253582/) 25 | * [共筆討論](https://www.facebook.com/groups/sre.taiwan/permalink/943386619160576/) 26 | * [問題提問](https://www.facebook.com/groups/sre.taiwan/permalink/943460072486564/) by 正瑋 27 | * Ch 12 - Effective Troubleshooting 28 | * Q: Troubleshooting 無法教導,只能靠累積經驗? 29 | * Q: Text logs are very helpful for reactive debugging in real time, while storing logs in a structured binary format can make it possible to build tools to conduct retrospective analysis with much more information. 這段的意思什麼?特別是其中的 structured binary format 是為什麼? 30 | * Q: 你們有類似急救檢傷分類的方式評估意外事故嗎? 31 | * Q: 你們有建立常見問題偵錯表、分析表,可以用來幫助事故處理者能夠用比較系統化的方式來幫助故障排除嗎?(提供理性解法,避免壓力導致誤判) 32 | * Q: 如何重現事故? 33 | * Ch 13 - Emergency Response 34 | * Q: 針對事故,會補測試來預防未來再次發生? 35 | * Q: 平常有在做事故演練嗎?Chaos Monkey? 36 | * Q: 除了書中的這三種案例(Test-Induced、Change-Induced、Process-Induced Emergency),你還有遇過其他案例嗎? 37 | * Ch 14 - Managing Incidents 38 | * Q: 事故的前、中、後,你們會做些什麼?(Rick 提供) 39 | * Ch 15 - Postmortem Culture 40 | * Q: 不咎責 / 對事不對人的文化?你有嗎?你們會獵巫嗎? 41 | * Q: 事後檢討報告,你們有建立這樣的制度嗎?或是透過其他的內部知識共享方式? 42 | 43 | 44 | 45 | ## 延伸閱讀 46 | 47 | * [當勒索病毒攻擊全球企業,他如何靠3小時成軍的團隊,56小時內釋出解鎖方案?](https://www.managertoday.com.tw/articles/view/55387) 48 | 49 | -------------------------------------------------------------------------------- /docs/01_SRE/CH16-18.md: -------------------------------------------------------------------------------- 1 | 2 | * 導讀時間:2018/01/11 (四) 3 | * 場地提供:PIXNET 4 | * 章節內容: 5 | * 第十六章 - 跟蹤故障 by 曾義格 (正瑋代打) 6 | * 第十七章 - 測試可靠性 by Arrack 7 | * 第十八章 - SRE部門中的軟件工程實踐 by Raix 8 | 9 | --- 10 | ## 導讀整理 11 | 12 | * [共筆紀錄](https://hackmd.io/gJYNkWaSS--0xyQlREA_kQ) 13 | 14 | 15 | [原始文件](https://docs.google.com/presentation/d/1uZ8x7Ql4GwHSnyFUKcuq-pAMahXbbac3-gXM9DTTnCQ/edit) 16 | 17 | 18 | [原始文件](https://docs.google.com/presentation/d/1TjlnkBIHjgV3gLcRVmMSPIWVLO3NfqnlWlCPFzP6loA/edit) 19 | 20 | --- 21 | ## 討論與分享 22 | 23 | * [第十七章社群討論連結](https://www.facebook.com/groups/sre.taiwan/permalink/951396345026270/) 24 | * [問題提問](https://www.facebook.com/groups/sre.taiwan/permalink/951428548356383/) by 正瑋 25 | * CH16 - Tracking Outages 26 | * Q: 你們有使用任何故障追蹤的工具嗎? 27 | * Q: 你們如何避免重複的警報(消除重複的警報)? 28 | * Q: 你們會從故障追蹤紀錄的歷史資料中分析哪些面向? 29 | * CH17 - Testing for Reliability 30 | * Q: 你們有進行「測試」嗎?針對 Dev、Ops、infra? 31 | * Q: 續上,你們團隊願意投資多少資源在上述這些「測試」? 32 | * Q: 書中提到金絲雀測試時,提到 CU=RK 的公式,有人可以解釋一下嗎? 33 | * Q: 書中提到嘗試在團隊中建立一種注重「測試」的文化?有任何可以分享的經驗嗎? 34 | * CH18 - Software Engineering in SRE 35 | * Q: 如書中提到的案例 Auxon,你們團隊是如何做容量規劃(capacity plan)的? 36 | * Q: 你們有在開發組織、公司、團隊內部使用的工具嗎? 37 | * Q: 續上,你們公司願意讓員工投資多少資源在此? 38 | * Q: 續上,這些工具有機會成為一種內部創業的機會嗎? 39 | 40 | 41 | ## 相關工具 42 | 43 | * post mortem tracker: https://github.com/etsy/morgue 44 | -------------------------------------------------------------------------------- /docs/01_SRE/CH19-21.md: -------------------------------------------------------------------------------- 1 | 2 | * 導讀時間:2018/02/08 (四) 3 | * 場地提供:PIXNET 4 | * [共筆紀錄](https://hackmd.io/m9AZw9UkSmShEAr0a5afzg) 5 | * 章節內容: 6 | * 第十九章:Load Balancing at the Frontend - by 91APP 黃冠維 7 | * 第二十章:Load Balancing in the Datacenter - by 91APP 黃冠維 8 | * 第二十一章:Handling overload - by PIXNET Dennis 9 | 10 | 11 | --- 12 | ## 導讀整理 13 | 14 | 15 | 16 | 17 | --- 18 | ## 討論與分享 19 | 20 | * [原始討論連結](https://www.facebook.com/groups/sre.taiwan/permalink/968740243291880/) 21 | * [圖解 LB](https://www.facebook.com/groups/sre.taiwan/permalink/949764421856129/) 22 | * [問題提問](https://www.facebook.com/groups/sre.taiwan/permalink/969103523255552/) by 正瑋 23 | * CH19 24 | * Q: 現在還有人是自行維護對外的 DNS Name server?目的?需求?情境? 25 | * Q: 有人如書中所述在 DNS 層做 Load Balancing 嗎?你們的情境為何?遇過哪些雷? 26 | * Q: 面對 DDOS 如何處理的? 27 | * 額外Q: IPV6 有人涉略並開始實務運用嗎? 28 | * CH20 29 | * Q: 你們目前為了負載平衡採用了哪些作法? 30 | * Q: 續上,資源利用率如何? 31 | * Q: 有遇到單點故障嗎? 32 | * CH21 33 | * Q: 你們如何因應服務過載? 34 | * Q: 續上,有預先規劃任何因應措施?從 infrastructure 層面?從 Application 層面? 35 | * 額外Q: 你覺得從 19 至 21 這三章的內容,在此 Cloud 盛行的時代其重要性為何?對你的實務工作有幫助嗎? 36 | 37 | 38 | -------------------------------------------------------------------------------- /docs/01_SRE/CH22.md: -------------------------------------------------------------------------------- 1 | 2 | * 導讀時間:2018/02/08 (四) 3 | * 場地提供:PIXNET 4 | * 章節內容: 5 | * 第 22 章 Addressing Cascading Failures 處理連鎖故障 by iiiccshih@gmail.com 6 | * [共筆筆記](https://hackmd.io/RHlFKmMCShuslInLyqDkGA) 7 | 8 | 9 | --- 10 | ## 導讀整理 11 | 12 | 13 | 14 | 15 | --- 16 | ## 討論與分享 17 | 18 | * [原始討論連結](https://www.facebook.com/groups/sre.taiwan/permalink/986801138152457/) 19 | * [問題提問](https://www.facebook.com/groups/sre.taiwan/permalink/986789024820335/) by 正瑋 20 | * Q: 你有遇過連鎖故障嗎?情境?如何應急處置?根本原因? 21 | * Q: 為何書中如此建議 「For a system with fairly steady traffic over time, it is usually better to have small queue lengths relative to the thread pool size (e.g., 50% or less), which results in the server rejecting requests early when it can’t sustain the rate of incoming requests.」(今晚的導讀者有解答) 22 | * Q: timeout vs deadline ? 23 | * Q: 你如何找出合適的 timeout 及 deadline 設定值? 24 | * Q: 如何找出合適的 retry 設定值? 25 | * Q: 針對書中提到各種因應連鎖故障的方法,你嘗試過哪些?你會如何判斷何時使用哪些方法? 26 | * Q: 繁體中文版的 P.255 註四,有人試著實驗看看嗎? 27 | * Q: 你有嘗試實踐 chaos engineering 嗎? 28 | -------------------------------------------------------------------------------- /docs/01_SRE/CH23-24.md: -------------------------------------------------------------------------------- 1 | 2 | * 導讀時間:2018/03/22 (四) 3 | * 場地提供:PIXNET 4 | * 章節內容: 5 | * 第23章 管理關鍵狀態:利用分佈式共識來提高可靠性 by Jui-Nan Lin (PIXNET) 6 | * 第24章 分佈式週期性任務系統 by Luke Liu 7 | 8 | 9 | --- 10 | ## 導讀整理 11 | 12 | [共筆](https://hackmd.io/yqYKTj4DSlqAufaqdfJPyw) 13 | 14 | --- 15 | ## 討論與分享 16 | 17 | -------------------------------------------------------------------------------- /docs/01_SRE/CH25.md: -------------------------------------------------------------------------------- 1 | 2 | * 導讀時間:2018/03/08 (四) 3 | * 場地提供:PIXNET 4 | * 章節內容: 5 | * 第 25 章 Data Processing Pipelines 6 | 7 | 8 | --- 9 | ## 導讀整理 10 | 11 |
SRE CH25 - Data Processing Pipelines from Rick Hwang
12 | 13 | --- 14 | ## 討論與分享 15 | 16 | * [問題提問](https://www.facebook.com/groups/sre.taiwan/permalink/986789024820335/) by 正瑋 17 | * Q: 你有設計、規劃與實作過任何 data pipeline 的經驗嗎? 18 | * Q: 不僅是針對 data pipeline,有任何 pipeline 類型的工作經驗分享嗎? 19 | * Q: 大家的系統有類似 Pipeline 的 Task? 20 | * Q: 這些 Task 的每個程序可以單獨執行? 21 | * Q: Pipeline Input / Output 資料放哪? 22 | -------------------------------------------------------------------------------- /docs/01_SRE/CH26-28.md: -------------------------------------------------------------------------------- 1 | 2 | * 導讀時間:2018/04/26 (四) 3 | * 場地提供:PIXNET 4 | * 章節內容: 5 | * 第 26 章 資料完整性 by jnlin 6 | * 第 28 章 迅速培養 SRE 加入 on-call by Winnie 7 | * [共筆紀錄](https://hackmd.io/pvWBO9F0Q_6EykCW63d-bw) 8 | 9 | 10 | --- 11 | ## 導讀整理 12 | 13 | ### Chapter 26 資料完整性 14 | 15 | 16 | 17 | ### Chapter 28 Accelerating SREs to On-Call and Beyond 18 | 19 |
SRE CH28 - Accelerating SREs to On-Call and Beyond from Rick Hwang
20 | 21 | 22 | --- 23 | ## 討論與分享 24 | 25 | * [原始討論連結](https://www.facebook.com/groups/sre.taiwan/permalink/1016695391829698/) 26 | * [問題提問](https://www.facebook.com/groups/sre.taiwan/permalink/1016736568492247/) by 正瑋 27 | * Ch 26 - Data Integrity: What You Read Is What You Wrote 28 | * Q: 如何確保「資料完整性」(Data Integrity)? 29 | * Q: ACID 與 BASE 請選擇?有哪些需注意的關鍵點? 30 | * Q: 你們目前的備份及復原計劃為何? 31 | * Q: 續上,備份保存多久?需要多久時間才能復原?能還原多早之前的資料?能還原到多細緻?能允許損失多少資料?願意投資多少資源在備份及復原機制? 32 | * Q: 續上,復原動作需要多少人工介入?自動化程度? 33 | * Q: soft deletion、backups、archives、snapshot 與 replication,請選擇?有哪些需注意的關鍵點? 34 | * Q: 遇到 TB、PB 等級的資料備份及復原,該怎麼做? 35 | * Q: Out-of-band data validation 你們有類似的機制來協助驗證資料的完整、正確性嗎? 36 | * Q: 可以分享你所遭遇過的資料遺漏或任何影響了「資料完整性」的事故? 37 | * Q: 你們是否有進行「資料遺漏」的災後還原訓練? 38 | * Ch 28 - Accelerating SREs to On-Call and Beyond 39 | * Q: 如何評估新手已準備好能承擔 on-call 職務? 40 | * Q: 如何能夠放心的讓新手負責 on-call 職務? 41 | * Q: 你們公司有 on-call 制度嗎?是如何運作的? 42 | * Q: 你們有針對 on-call 人員的教育訓練嗎? 43 | * Q: 如何建立持續學習的文化? 44 | * Q: 除了表 28-1、圖 28-1 的內容之外,針對培養 SRE on-call 人員這件事,你覺得還可以補充哪些項目? 45 | * Q: 如何讓新人加入(融入)團隊,包含文化層面、工作流程面⋯⋯ 46 | * Q: 如何從「決策陷阱」中抽身?如何培養此種能力? 47 | * Q: 如何培養「逆向工程」、「統計學/科學方法」、「隨機應變」能力? 48 | * Q: 透過逆向工程來學習,有人有這方面的經驗嗎? 49 | * Q: 你們有「事後檢討」的制度嗎?這些事後檢討報告能夠作為學習材料嗎? 50 | * Q: SRE 人員應該具備哪些特質? 51 | * Q: 你們有額外的培訓環境嗎? 會複製/模擬真實流量的情境嗎? -------------------------------------------------------------------------------- /docs/01_SRE/CH27.md: -------------------------------------------------------------------------------- 1 | 2 | * 導讀時間:2018/04/12 (四) 3 | * 場地提供:PIXNET 4 | * 章節內容: 5 | * 第 27 章 可靠地進行產品的大規模發布 6 | 7 | 8 | --- 9 | ## 導讀整理 10 | 11 | * [共筆](https://hackmd.io/XXj9XTb-TE-u9ryMxRz5PA) 12 | 13 |
SRE CH27 - Reliable Product Launches at Scale from Rick Hwang
14 | 15 | --- 16 | ## 問題與提問 17 | 18 | * [尊重,需要靠專業去贏回來](https://medium.com/how-gipi-learn/%E5%B0%8A%E9%87%8D-%E9%9C%80%E8%A6%81%E9%9D%A0%E5%B0%88%E6%A5%AD%E5%8E%BB%E8%B4%8F%E5%9B%9E%E4%BE%86-8fdecf676fe5) 19 | * [問題提問](https://www.facebook.com/groups/sre.taiwan/permalink/1008441522655085/) by 正瑋 20 | * Q: 你們是如何確保快速迭代不會影響到服務的穩定性?你們做了哪些努力? 21 | * Q: 你們團隊有「發佈(上線)工程師」、「release manager」之類的職務嗎? 22 | * Q: 可以分享一些跟 release、deploy 有關的事故經驗嗎? 23 | * Q: 你覺得書中提到的 LCE (Launch Coordination Engineers) 或「發佈(上線)工程師」、「release manager」需要累積哪些工作經驗與職能? 24 | * Q: 如何在發佈流程的簡化與高度客製化中取得平衡? 25 | * Q: 「上線檢核表」?你們有這種檢核表嗎? 26 | * Q: 你會(該)如何建立「上線檢核表」? 27 | * Q: 灰度或階段性發佈、金絲雀發佈,你們會如何設定比率? 28 | * Q: 書中提到的 Feature Flag Frameworks(功能開關框架),你有任何相關的實務經驗分享嗎? 29 | 30 | -------------------------------------------------------------------------------- /docs/01_SRE/CH30-31.md: -------------------------------------------------------------------------------- 1 | 2 | * 導讀時間:2018/05/01 (四) 3 | * 場地提供:PIXNET 4 | * 章節內容: 5 | * 第 30 章 6 | * 第 31 章 7 | * [共筆紀錄](https://hackmd.io/FISq6GP_TVO1B2EnNbHnBg) - HackMD 8 | 9 | --- 10 | ## 導讀整理 11 | 12 |
SRE 讀書會 - 導讀:第 30 章 from Chen Cheng-Wei
13 | 14 |
SRE 讀書會 - 導讀:第 31 章 from Chen Cheng-Wei
15 | 16 | --- 17 | ## 討論與分享 18 | 19 | * [CH30/31 討論連結](https://www.facebook.com/groups/sre.taiwan/permalink/1025002097665694/) 20 | -------------------------------------------------------------------------------- /docs/01_SRE/CH32-34.md: -------------------------------------------------------------------------------- 1 | 2 | * 導讀時間:2018/05/24 (四) 3 | * 場地提供:PIXNET 4 | * 章節內容: 5 | * 第 32 章 The Evolving SRE Engagement Model 6 | * 第 34 章 Lessons Learned from Other Industries/Conclusion 7 | * [共筆紀錄](https://hackmd.io/FISq6GP_TVO1B2EnNbHnBg) - HackMD 8 | 9 | --- 10 | ## 導讀整理 11 | 12 |
20180526 the evolving sre engagement model from 祺元 曾
13 | 14 |
SRE CH33/CH34 - Lessons Learned from Other Industries/Conclusion from Rick Hwang
15 | 16 | 17 | --- 18 | ## 討論與分享 19 | 20 | * [CH33/34 討論連結](https://www.facebook.com/groups/sre.taiwan/permalink/1033104880188749/) 21 | * [正瑋的心得](https://www.facebook.com/groups/sre.taiwan/permalink/1033100243522546/) 22 | * [問題提問](https://www.facebook.com/groups/sre.taiwan/permalink/1033375203495050/) by 正瑋 23 | * Q: 你們有嘗試規範 SRE 與其他團隊工作交接的標準流程? 24 | * Q: SRE 何時開始接手維運工作? 25 | * Q: SRE 與其他部門(例如:RD)的合作方式為何?工作分配? 26 | * Q: 如何評估 SRE 的工作負載量? 27 | * Q: 你們有建構自己內部專用的維運平台(或其他支援平台)嗎? 28 | * Q: 你們的 SRE 工作職掌範圍為何? 29 | * Q: 培養 SRE 比 RD 困難?需要更多時間?你覺得呢? -------------------------------------------------------------------------------- /docs/02_CD.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # 讀書會 Round 2: Continous Delivery 4 | 5 | ## 2018/06/07: Round2 書單投票 6 | 7 | 社群朋友延續 SRE 讀書會的熱度,痞客邦持續贊助場地與美食,大家經過熱烈的討論與投票之後,選出持續交付作為第二次讀書會的主軸。 8 | 9 | * Continuous Delivery: 14 10 | * Effective Devops: 11 11 | * Distributed Systems Observability: 11 12 | * DevOps Handbook: 9 13 | * Micro Services: 7 14 | * Infrastructure as code: 4+1 15 | * Terraform: Up and Running: 2 16 | * Chaos Engineering: 5 17 | * Designing Distributed Systems: 3 18 | * Monitoring with Graphite: 2 19 | 20 | 21 | ## 2018/12/13 (四): 倒數 22 | 23 | 讀書會進行到倒數階段,這天大家離開前的合影 24 | 25 | ![](/act/02_CD/20181213.jpg) 26 | 27 | 28 | ## 2019/01/24 (四): 約定 29 | 30 | Round 2 最後一次讀書會,大家合影留念,並約定下次讀書會的春酒時間。 31 | 32 | ![](/act/02_CD/20190124_4-1.jpg) 33 | ![](/act/02_CD/20190124_4-2.jpg) 34 | 35 | 36 | --- 37 | 38 | # 導讀清單 39 | 40 | * [SRE 讀書會 Round2:Continuous Delivery](https://docs.google.com/spreadsheets/d/11P_CDNIxe-H0TUkZbomI1j2P7-vo5ZBybdiLmy0el9k/edit#gid=0) 41 | 42 | 43 | --- 44 | # 相關社群 45 | 46 | * [DevOps Taiwan](https://www.facebook.com/groups/DevOpsTaiwan/) 47 | * [Site Reliability Engineering Taiwan](https://www.facebook.com/groups/sre.taiwan/) 48 | 49 | 50 | -------------------------------------------------------------------------------- /docs/02_CD/CH01.md: -------------------------------------------------------------------------------- 1 | 2 | * 導讀時間:2018/06/21 (四) 3 | * 場地提供:PIXNET 4 | * 進度:第一章 軟體交付的問題 5 | 6 | --- 7 | ## 導讀整理 8 | 9 |
Continuous Delivery - Opening from Rick Hwang
10 | 11 | --- 12 | ## 討論與分享 13 | 14 | * [原討論 Link](https://www.facebook.com/groups/sre.taiwan/permalink/1053702621462308/) 15 | -------------------------------------------------------------------------------- /docs/02_CD/CH02.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | * 導讀時間:2018/07/05 (四) 4 | * 場地提供:PIXNET 5 | * 進度:第二章 設置管理 6 | 7 | --- 8 | ## 導讀整理 9 | 10 | * [共筆](https://hackmd.io/XC_wT4cESr2cvtvEOqp_5Q) by 黃牧天 11 | 12 | --- 13 | 14 | ## 討論與分享 15 | 16 | * [原討論 Link](https://www.facebook.com/groups/sre.taiwan/permalink/1069141366585100/) 17 | * [如何整理服務的相異性?](https://www.facebook.com/groups/sre.taiwan/permalink/1070029586496278/) by Rick 18 | * [Netflix 的配置管理:Archaius](https://www.facebook.com/groups/sre.taiwan/permalink/1069979569834613/) by Earou 19 | * [Jez 的一些補充建議 ](https://continuousdelivery.com/principles/) by 少傑 -------------------------------------------------------------------------------- /docs/02_CD/CH03.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | * 導讀時間:2018/07/19 (四) 4 | * 場地提供:PIXNET 5 | * 進度:第三章 持續整合 6 | * 導讀:義格, 鎧陽, 建銘, 小明 7 | 8 | --- 9 | ## 導讀整理 10 | 11 | * [共筆](https://hackmd.io/fmS58GxhS820dWBGzxPPzw) 12 | 13 | --- 14 | 15 | ## 討論與分享 16 | 17 | * [原始討論連結](https://www.facebook.com/groups/sre.taiwan/permalink/1084874958345074/) 18 | -------------------------------------------------------------------------------- /docs/02_CD/CH04.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | * 導讀時間:2018/08/02 (四) 4 | * 場地提供:PIXNET 5 | * 進度:第四章 測試策略的實現 6 | * 導讀:義格、少傑 7 | 8 | --- 9 | ## 導讀整理 10 | 11 | 12 | 13 | 14 | --- 15 | ## 討論與分享 16 | 17 | * [原討論 Link](https://www.facebook.com/groups/sre.taiwan/permalink/1101879476644622/) 18 | * [Stages in Software Testing](https://rickhw.github.io/2017/03/18/SQA/Stages-In-Software-Testing/) -------------------------------------------------------------------------------- /docs/02_CD/CH05.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | * 導讀時間:2018/08/16 (四) 4 | * 場地提供:PIXNET 5 | * 進度:第五章 部署流水線 6 | * 導讀:泳褲、Bryan 7 | 8 | --- 9 | ## 導讀整理 10 | 11 | * [Page 107-124](https://hackmd.io/p/Skj31zqB7?fbclid=IwAR11QC7yNdeUPc1daocOAnuxQeZeqpRGlrYU9Xl-KqrN-HlqWFtkiBMNkDA#/) by 泳褲 12 | * 部署流水線手繪圖 by Earou Huang 13 | ![](/act/02_CD/20180816_CD-Pipeline.jpg) 14 | 15 | --- 16 | ## 討論與分享 17 | 18 | * [原討論 Link](https://www.facebook.com/groups/sre.taiwan/permalink/1118785321620704/) 19 | -------------------------------------------------------------------------------- /docs/02_CD/CH06.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | * 導讀時間:2018/08/30 (四) 4 | * 場地提供:PIXNET 5 | * 進度:第六章 建置與佈署腳本化 6 | * 導讀:賴義偉, 曾祺元 7 | 8 | (讀書會兼美食品嚐會) 9 | 10 | --- 11 | ## 導讀整理 12 | 13 |
20170830 2nd sre build and deployment scripting from 祺元 曾
14 | 15 | 16 |
[2018/08/23 SRE讀書會] 建置與部署的腳本化 from Yi-Wei Lai
17 | 18 | --- 19 | ## 討論與分享 20 | 21 | * [原討論 Link](https://www.facebook.com/groups/sre.taiwan/permalink/1133317336834169/) 22 | * [Rick 分享 Artifact Management](https://rickhw.github.io/2018/07/08/DevOps/Artifacts-Management/) 23 | ![](/act/02_CD/20180830-Rick-artifacts.png) 24 | -------------------------------------------------------------------------------- /docs/02_CD/CH07.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | * 導讀時間:2018/09/13 (四) 4 | * 場地提供:PIXNET 5 | * 第七章 提交階段 6 | * 導讀:葉俊宏、David Lu 7 | 8 | --- 9 | ## 導讀整理 10 | 11 | TBD 12 | 13 | --- 14 | ## 討論與分享 15 | 16 | * [原討論 Link](https://www.facebook.com/groups/sre.taiwan/permalink/1142335235932379/) 17 | * [Rick 分享 Shell Script 技巧](https://rickhw.github.io/2015/03/03/Linux/Shell-Script/) -------------------------------------------------------------------------------- /docs/02_CD/CH08.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | * 導讀時間:2018/09/27 (四) 4 | * 場地提供:PIXNET 5 | * 第八章 驗收測試的自動化 6 | * 導讀:阿尾、鎧陽 7 | 8 | --- 9 | ## 導讀整理 10 | 11 | 12 | 13 | --- 14 | ## 討論與分享 15 | 16 | * [原討論 Link](https://www.facebook.com/groups/sre.taiwan/permalink/1151812164984686/) 17 | * 問題: 18 | * 常見的 測試三角形:Unit Test、Integration Test、UI Test 是合理的嗎?Unit Test 真的比重那麼高?還是應該是 Acceptance Test 比較重要? 19 | * SmokeTest 的定義?在什麼時候做?怎麼做? 20 | * 部署測試 的定義、大家的公司有作部署測試嗎?怎麼做? 21 | * 書: How Google Test Software 提出另一種測試方法論:用小中大來分,而不是功能、整合、非功能分法,這種分法或許可以給大家不同的思考 22 | * 驗收測試 (UAT) 應該誰來做?應該怎麼確認? 23 | * [翻譯討論 by 阿瑋](https://www.facebook.com/groups/sre.taiwan/permalink/1142465112586058/) 24 | 25 | -------------------------------------------------------------------------------- /docs/02_CD/CH09.md: -------------------------------------------------------------------------------- 1 | 2 | * 導讀時間:2018/10/11 (四) 3 | * 場地提供:PIXNET 4 | * 進度:第九章 非功能需求測試 5 | * 導讀:Freddy Fan、Shao-Chieh Chiang 6 | * 備註:今天吃鹹酥雞 7 | 8 | 9 | 10 | --- 11 | ## 導讀整理 12 | 13 | 14 | 15 | 16 |
SRE讀書會-Continuous Delivery Chaper 9 from Freddy Fan
17 | 18 | 19 | --- 20 | ## 討論與分享 21 | 22 | * [原討論 Link](https://www.facebook.com/groups/sre.taiwan/permalink/1161058770726692/) 23 | -------------------------------------------------------------------------------- /docs/02_CD/CH10.md: -------------------------------------------------------------------------------- 1 | 2 | * 導讀時間:2018/10/25 (四) 3 | * 場地提供:PIXNET 4 | * 進度:第十章 應用程式的部署與發佈 5 | * 導讀:黃牧天 阿福 6 | 7 | --- 8 | ## 導讀整理 9 | 10 | * [CD-第十章節心得-1: 第十章節:持續部署](https://tksmisafu.github.io/2019/01/03/kcd-10chapter-1/) by 阿福 11 | * [CD-第十章節心得-2: 第十章節:提示與技巧](https://tksmisafu.github.io/2019/01/03/kcd-10chapter-2/) by 阿福 12 | * [逐字稿](https://hackmd.io/s/SkPOGCRo7) 13 | 14 | 15 | --- 16 | ## 討論與分享 17 | 18 | * [原討論 Link](https://www.facebook.com/groups/sre.taiwan/permalink/1170621169770452/) 19 | -------------------------------------------------------------------------------- /docs/02_CD/CH11.md: -------------------------------------------------------------------------------- 1 | 2 | * 導讀時間:2018/11/08 (四) 3 | * 場地提供:PIXNET 4 | * 進度:第十二章 管理基礎設施與環境 5 | * 導讀:Chris Chen、David Lee 6 | 7 | --- 8 | ## 導讀整理 9 | 10 |
20181121 ch12 managing data ii from 祺元 曾
11 | 12 | 13 | 14 | 15 | --- 16 | ## 討論與分享 17 | 18 | * [原討論 Link](https://www.facebook.com/groups/sre.taiwan/permalink/1180308668801702/) 19 | * Questions: 20 | - infrastructure as code 做到何種程度了? 21 | - infrastructure 的自動化做到何種程度了? 22 | - 虛擬化、容器化的程度? 23 | - 擁抱 Cloud Native? 24 | - 手上還有「寵物機」嗎?「寵物與牲畜」 25 | - infrastructure 異動的流程為何? 26 | * 時事新聞:[momo 雙 11 流量爆 7 倍網站承載不穩,活動優惠將延長進行](http://technews.tw/2018/11/11/momo-2018-11-11-online-shopping-festival/) -------------------------------------------------------------------------------- /docs/02_CD/CH12.md: -------------------------------------------------------------------------------- 1 | 2 | * 導讀時間:2018/11/21 (四) 3 | * 場地提供:PIXNET 4 | * 進度:第十二章 資料管理 5 | * 導讀:哲任, 小明 6 | 7 | --- 8 | ## 導讀整理 9 | 10 |
20181121 ch12 managing data ii from 祺元 曾
11 | 12 | 13 | 14 | --- 15 | ## 討論與分享 16 | 17 | * [原討論 Link](https://www.facebook.com/groups/sre.taiwan/permalink/1190381537794415/) 18 | * [HashiConf 2018 Opening Keynote](https://www.youtube.com/watch?v=o9x9agDCoNc) 19 | * [CockroachDB釋出全託管服務,可以在不同雲端供應商間自由搬遷](https://www.ithome.com.tw/news/126756) -------------------------------------------------------------------------------- /docs/02_CD/CH13.md: -------------------------------------------------------------------------------- 1 | 2 | * 導讀時間:2018/12/13 (四) 3 | * 場地提供:PIXNET 4 | * 第十三章 元件相依性管理 5 | * 導讀:Raix Lai、Winnie Hsu 6 | 7 | ![](/act/02_CD/20181213.jpg) 8 | 9 | --- 10 | ## 導讀整理 11 | 12 | 13 | 14 | 15 | 16 | --- 17 | ## 討論與分享 18 | 19 | * [SRE 原討論 Link](https://www.facebook.com/groups/sre.taiwan/permalink/1206900909475811/) -------------------------------------------------------------------------------- /docs/02_CD/CH14.md: -------------------------------------------------------------------------------- 1 | 2 | * 導讀時間:2018/12/27 (四) 3 | * 場地提供:PIXNET 4 | * 第十四章 版本控制進階 5 | * 導讀:John.Chen 6 | 7 | 8 | --- 9 | ## 導讀整理 10 | 11 | 12 | 13 | 14 | --- 15 | ## 討論與分享 16 | 17 | * [SRE 原討論 Link](https://www.facebook.com/groups/sre.taiwan/permalink/1206900909475811/) -------------------------------------------------------------------------------- /docs/02_CD/CH15.md: -------------------------------------------------------------------------------- 1 | 2 | * 導讀時間:2019/01/24 (四) 3 | * 場地提供:PIXNET 4 | * 第十五章 持續交付管理 5 | * 導讀:正瑋 6 | 7 | --- 8 | ## 導讀整理 9 | 10 |
SRE 讀書會:導讀《持續交付》第15章 - 持續交付管理 from Chen Cheng-Wei
11 | 12 | 13 | 14 | --- 15 | ## 討論與分享 16 | 17 | * [SRE 原討論 Link](https://www.facebook.com/groups/sre.taiwan/permalink/1237159836449918/) 18 | * [Evan Goer: Thinking of Documentation as Code](https://www.youtube.com/watch?v=mEvvc80ZYU8) - 少傑 推薦 19 | * [成熟度模型](https://zhuanlan.zhihu.com/p/49475583) - by 正瑋 20 | * [Linux Performance Observability Tools](https://www.facebook.com/photo.php?fbid=10215409684688587&set=gm.1237204876445414&type=3&theater&ifg=1) -------------------------------------------------------------------------------- /docs/03_K8s.md: -------------------------------------------------------------------------------- 1 | 2 | # 讀書會 Round 3: 深入剖析 Kubernetes 3 | 4 | ## 2019/02/22: 春酒 5 | 6 | SRE 讀書會在 2019/02/22 舉辦春酒,Round 2 成員起吃飯聊天,聊工作、聊生活,也聊聊今年學習計畫。酒足飯飽之後,大家開始討論想讀哪一些書,很快的經過一些討論,大家透過 Messegger 票選出這次進行的書本: 7 | 8 | ![](/act/03_K8s/20190222_vote.png) 9 | 10 | 最後選出來的是 中國的 APP [極客時間](https://time.geekbang.org/) 技術專欄: [深入剖析 Kubernetes](https://time.geekbang.org/column/intro/116) 11 | 12 | ![](/act/03_K8s/20190222_deep-dive-k8s.png) 13 | 14 | 15 | 另外兩本書的資訊: 16 | 17 | * [从0开始学架构](https://time.geekbang.org/column/intro/81) 18 | * [Infrastructure as Code: Managing Servers in the Cloud ](https://www.tenlong.com.tw/products/9781491924358) 19 | 20 | 21 | 不免俗的,最後還是要來一張大合照: 22 | 23 | ![](/act/03_K8s/20190222_members.jpg) 24 | 25 | 26 | ## 2019/12/05 (四): Connect 27 | 28 | Round 3 最後一次讀書會,大家合影留念。 29 | 如果要用一個字來表達讀書會的目的,用 **#Connect** 當作精神。連結這些朋友,讓大家一起成長就是讀書會的目的。 30 | 31 | ![](/act/03_K8s/members/20191206_menber_1_final.jpg) 32 | ![](/act/03_K8s/members/20191206_menber_2_final.jpg) 33 | ![](/act/03_K8s/members/20191206_menber_3_final.jpg) 34 | ![](/act/03_K8s/members/20191206_menber_4_final.jpg) 35 | 36 | --- 37 | # 相關社群 38 | 39 | * [DevOps Taiwan](https://www.facebook.com/groups/DevOpsTaiwan/) 40 | * [Site Reliability Engineering Taiwan](https://www.facebook.com/groups/sre.taiwan/) 41 | 42 | 43 | -------------------------------------------------------------------------------- /docs/03_K8s/0314.md: -------------------------------------------------------------------------------- 1 | 2 | # 2019/03/14: 相見歡 3 | 4 | ## 分組 5 | 6 | * [推坑魔人隊] 正瑋、義格、Hank、Momo、Kyle、John 7 | * [未來講者隊] 一樓、Rico、Dennis、David*2、Mac、Chris 8 | * [兩尾] 嘉峻, Vincent, Ian, Kenex, Raix, Tim, Yenny 9 | * [菜味很重] 鎧陽, Jerry, 小明, Winnie、ChrisTseng、阿德、Veck 10 | * [泳褲閃靈] 泳褲、阿福、哲任、塞巴、Max、Jeri、Freddy 11 | 12 | 13 | ## 活動紀錄 14 | 15 | ![](/act/03_K8s/0314/01.jpg) 16 | ![](/act/03_K8s/0314/02.jpg) 17 | ![](/act/03_K8s/0314/03.jpg) 18 | ![](/act/03_K8s/0314/04.jpg) -------------------------------------------------------------------------------- /docs/03_K8s/CH01.md: -------------------------------------------------------------------------------- 1 | 2 | * 導讀時間:2019/03/14 (四) 3 | * 場地提供:91APP 4 | * 進度: 5 | * 开篇词 | 打通“容器技术”的任督二脉 6 | * 预习篇 · 小鲸鱼大事记(一):初出茅庐 7 | * 预习篇 · 小鲸鱼大事记(二):崭露头角 8 | * 预习篇 · 小鲸鱼大事记(三):群雄并起 9 | * 導讀:Earou Huang 10 | 11 | --- 12 | ## 導讀整理 13 | 14 |
Continuous Delivery - Opening from Rick Hwang
15 | 16 | --- 17 | ## 討論與分享 18 | 19 | * [原討論 Link](https://www.facebook.com/groups/sre.taiwan/permalink/1053702621462308/) 20 | -------------------------------------------------------------------------------- /docs/03_K8s/CH18.md: -------------------------------------------------------------------------------- 1 | # 18章節:深入理解 StatefulSet(一):拓樸狀態 2 | 3 | ## 前言 4 | 在 K8s 的 Deployment 應用中做了一個假設:發佈應用的 pod 每一個是相同的,沒有相依性、順序性,更無所謂要運行在哪個 K8s node 上。依照需求,可以透過 Deployment 任意進行 pod scale-out scale-in。 5 | 6 | 此可以稱為:無狀態應用(Stateless Application)諸如最廣泛的是 WEB service。 7 | 8 | **但是有些場景,並不適用於 Deployment 如此方式來部署應用。例如:** 9 | 10 | * 主從關係 11 | * 需要資料持久化(唯一性) 12 | **符合上述兩特性其一者,皆可稱為有狀態應用(Stateful Application),此應用部署於 K8s 中是透過 StatefulSet 方式進行。** 13 | 14 | ## StatefulSet 觀念 15 | StatefulSet 觀念中有其二最為重要: 16 | 17 | 1. 拓樸狀態:這意味著同一個服務不同的 pod 之間,有相依性、順序性。 18 | 2. 儲存狀態:這意味著該 pod 目前所存取到的數據資料,過了 n 個時間點,或哪怕 pod 重啟了,仍然存取相同一份資料。 19 | 20 | 21 | --- 22 | ## 關於 拓樸狀態 23 | 關於 1. 拓樸狀態,看下列 Service、StatefulSet yaml 檔案 24 | ```yaml 25 | apiVersion: v1 26 | kind: Service 27 | metadata: 28 | name: nginx 29 | labels: 30 | app: nginx 31 | spec: 32 | ports: 33 | - port: 80 34 | name: web 35 | clusterIP: None # << 這是特別之處 36 | selector: 37 | app: nginx 38 | 39 | --- 40 | apiVersion: apps/v1 41 | kind: StatefulSet 42 | metadata: 43 | name: web 44 | spec: 45 | serviceName: "nginx" # << 這是特別之處 46 | replicas: 2 47 | selector: 48 | matchLabels: 49 | app: nginx 50 | template: 51 | metadata: 52 | labels: 53 | app: nginx 54 | spec: 55 | containers: 56 | - name: nginx 57 | image: nginx:1.9.1 58 | ports: 59 | - containerPort: 80 60 | name: web 61 | ``` 62 | 63 | 上述 `kind: StatefulSet` 與先前介紹 Deployment yaml 檔案之間最主要差異是 `serviceName` 此定義。 64 | 65 | ### 觀察部署 66 | 透過上述 `kind: StatefulSet` yaml 檔案進行部署後,可透過下列觀察發現,web 名稱上有 `-0` `-1` 編號作為 pod name 規則特徵。 67 | 68 | **重點:web-0 優先完成部署,才依順序進行 web-1** 69 | ```bash 70 | kubectl get pod -w 71 | #NAME READY STATUS RESTARTS AGE 72 | web-0 0/1 Pending 0 73 | web-0 0/1 Pending 0 74 | web-0 0/1 ContainerCreating 0 75 | web-0 1/1 Running 0 10s 76 | # 上面已經完成 web-0 服務部署,下面才接著進行 web-1 服務部署。 77 | web-1 0/1 Pending 0 78 | web-1 0/1 Pending 0 79 | web-1 0/1 ContainerCreating 0 80 | web-1 1/1 Running 0 12s 81 | ``` 82 | 83 | ### 觀察服務解析 84 | 在上面 yaml 檔案中關於 `Kind: Service`,特別定義了 `clusterIP: None` 即代表此服務並不會取得 clusterIP 也無法進行服務名稱解析,而是直接針對 pod_name 完成服務解析。 85 | 執行下列 DNS 解析,可以發現 StatefulSet 的服務域名規則是: 86 | 87 | ***`...svc.cluster.local`*** 88 | 89 | 90 | ```bash 91 | kubectl exec -it busybox -- sh 92 | / nslookup web-0.nginx 93 | 94 | Server: 10.89.0.10 95 | Address 1: 10.89.0.10 kube-dns.kube-system.svc.cluster.local 96 | 97 | Name: web-0.nginx 98 | Address 1: 10.24.1.26 web-0.nginx.default.svc.cluster.local 99 | ``` 100 | 101 | >回顧下 Deployment 的服務域名解析,其服務域名規則是: 102 | >>`..svc.cluster.local` 103 | 104 | 上述談到的 nginx service,其實就是應用到 `Headless Service` ~ 105 | 106 | 107 | ### 重點回顧 108 | 回顧此篇拓樸狀態重點,談到兩個特色: 109 | 110 | * pod_name 命名規則有 `-0` `-1` 順序性編號。 111 | * 採用 Headless Service 特色,直接對 pod_name 完成服務解析。 112 | 113 | **K8s 透過這兩個特色,實現了 StatefulSet(Stateful Service)所強調的「拓樸狀態」。** 114 | 115 | -------------------------------------------------------------------------------- /docs/03_K8s/CH19.md: -------------------------------------------------------------------------------- 1 | # 19章節:深入理解 StatefulSet(二):儲存狀態 2 | 3 | ## 前言與回顧 4 | 我們回顧下,上一篇的要點~ 5 | StatefulSet 觀念中有其二最為重要: 6 | 7 | 1. 拓樸狀態:這意味著同一個服務不同的 pod 之間,有相依性、順序性。 8 | 2. 儲存狀態:這意味著該 pod 目前所存取到的數據資料,過了 n 個時間點,或哪怕 pod 重啟了,仍然存取相同一份資料。 9 | 10 | 在先前關於 Pod 章節中,提到需要使用 Volume 並且在 pod 中定義了spec.volumes 來表達儲存空間需求。 11 | 在沒有相關 API 協助下,pod 應用服務開發者必須要很清楚儲存資源從何而來,甚至需要知道背後更多細節,這對開發者不甚友善。 12 | 13 | 何況,在大型服務的背後,需要有強而有力的儲存資源,這些更需要專業的管理者,而不是讓開發者分心與擔憂儲存的穩定性、可用性。 14 | 15 | 因此,在 K8s 環境下例如要整合 Ceph、EMC、NetApp 等各個形式儲存系統,提供了重要的 API 介面: 16 | 17 | * PersistentVolume(PV) 18 | * PersistentVolumeClaims(PVC) 19 | 20 | ## 關於 PersistentVolumeClaims(PVC) 21 | ### 使用 PVC 前 22 | 先來看下,尚未透過上述 API 對象引用 Volume 時,pod yaml 檔案必須自行定義複雜的`volumes`資訊 ; 23 | 範例:採用 Ceph 儲存系統 24 | 25 | ```yaml 26 | apiVersion: v1 27 | kind: Pod 28 | metadata: 29 | name: rbd 30 | spec: 31 | containers: 32 | - image: kubernetes/pause 33 | name: rbd-rw 34 | volumeMounts: 35 | - name: rbdpd 36 | mountPath: /mnt/rbd 37 | volumes: 38 | - name: rbdpd 39 | rbd: 40 | monitors: 41 | - '10.2.3.1:6789' 42 | - '10.2.3.2:6789' 43 | - '10.2.3.3:6789' 44 | pool: kube 45 | image: foo 46 | fsType: ext4 47 | readOnly: true 48 | user: admin 49 | keyring: /etc/ceph/keyring 50 | imageformat: "2" 51 | imagefeatures: "layering" 52 | 53 | ``` 54 | 55 | 上述 yaml 檔案呈現出兩個現象: 56 | 57 | 1. 必須懂 Ceph RBD 細節。 58 | 2. 資源暴露,相對有資訊管理的考量。 59 | 60 | ### 使用 PVC 後 61 | 下面 yaml 檔案內容,透過獨立的 PVC 說明資源需求,pod yaml 再引用 PVC 作為`volumes`來源即可。 62 | 如此作法,開發者只需專注於"儲存需求面"。 63 | ```yaml 64 | # PVC API 對象,表達出儲存資源需求 65 | kind: PersistentVolumeClaim 66 | apiVersion: v1 67 | metadata: 68 | name: pv-claim 69 | spec: 70 | accessModes: 71 | - ReadWriteOnce 72 | resources: 73 | requests: 74 | storage: 1Gi 75 | 76 | --- 77 | apiVersion: v1 78 | kind: Pod 79 | metadata: 80 | name: pv-pod 81 | spec: 82 | containers: 83 | - name: pv-container 84 | image: nginx 85 | ports: 86 | - containerPort: 80 87 | name: "http-server" 88 | volumeMounts: 89 | - mountPath: "/usr/share/nginx/html" 90 | name: pv-storage 91 | volumes: 92 | - name: pv-storage 93 | persistentVolumeClaim: # << 指定使用 PVC 94 | claimName: pv-claim 95 | ``` 96 | 97 | ## 關於 PersistentVolume(PV) 98 | 99 | 講了 PVC 就不得不說說 PV~ 100 | 101 | PVC 就像是資源需求者,說明了需要多少儲存資源~ 102 | 103 | PV 就是資源提供者, 104 | 既是資源提供者,顧名思義 PV 肩負著 K8s 與各式儲存系統之間的通訊橋樑,後端各式的儲存系統可能是 Ceph、EMC、NetApp 或者是 NFS。 105 | 106 | 下列是 K8s 透過 PV 取得後端 Ceph 儲存系統資源的 yaml 定義檔案。 107 | 108 | ```yaml 109 | kind: PersistentVolume 110 | apiVersion: v1 111 | metadata: 112 | name: pv-volume 113 | labels: 114 | type: local 115 | spec: 116 | capacity: 117 | storage: 10Gi 118 | rbd: 119 | monitors: 120 | - '10.16.154.78:6789' 121 | - '10.16.154.82:6789' 122 | - '10.16.154.83:6789' 123 | pool: kube 124 | image: foo 125 | fsType: ext4 126 | readOnly: true 127 | user: admin 128 | keyring: /etc/ceph/keyring 129 | imageformat: "2" 130 | imagefeatures: "layering" 131 | 132 | ``` 133 | 134 | 有無發現,上述 yaml 內容中的 `spec.rbd` 字段,與本文章第一個 pod yaml 內容 `spec.volumes.rbd` 一樣的。 135 | 原本複雜的資源提供者角色工作(儲存服務介接),透過 PV 來完成。 136 | 137 | ### PV、PVC 優點 138 | 139 | 1. 資源提供者,透過 PV 來定義有哪些資源可用。 140 | 2. 資源需求者,透過 PVC 來表達需要多少空間與存取模式。 141 | 3. 經過 PV、PVC 兩個 API 介面,可以分責分權更加容易定位問題點,另可避免資訊管理的負擔。 142 | ### PV、PVC 缺點 143 | 目前明確缺點是,需要先定義出 PV(確保資源可用),PVC 才可獲得必要資源。 144 | 145 | 146 | ## StatefulSet 與 PV & PVC 147 | StatefulSet 也是借重 PV & PVC 角色,對於完成「儲存狀態」目標變得很輕易完成。 148 | 看下 StatefulSet yaml 範例: 149 | ```yaml 150 | apiVersion: apps/v1 151 | kind: StatefulSet 152 | metadata: 153 | name: web 154 | spec: 155 | serviceName: "nginx" 156 | replicas: 2 157 | selector: 158 | matchLabels: 159 | app: nginx 160 | template: 161 | metadata: 162 | labels: 163 | app: nginx 164 | spec: 165 | containers: 166 | - name: nginx 167 | image: nginx:1.9.1 168 | ports: 169 | - containerPort: 80 170 | name: web 171 | volumeMounts: 172 | - name: www 173 | mountPath: /usr/share/nginx/html 174 | volumeClaimTemplates: # << 使用 PVC Templates 175 | - metadata: 176 | name: www 177 | spec: 178 | accessModes: 179 | - ReadWriteOnce 180 | resources: 181 | requests: 182 | storage: 1Gi 183 | 184 | ``` 185 | 此範本使用 `volumeClaimTemplates` ,此作用會促使 StatefulSet 管理的 pod 皆會對應相同的 PVC 規格。 186 | 187 | 套用此 StatefulSet 後,會有幾個特色需要知道: 188 | 189 | 1. PVC 名稱命名特徵:`--`。 190 | 2. PVC 名稱編號,會與 Pod 名稱編號相同。 191 | 3. 另外此 PVC 成功綁定 PV 後,會呈現 `STATUS:Bound` 狀態。 192 | 4. 即使刪除了 pod ,並不會刪除 PVC,PVC 管理獨立於另一個 PVC 控制器。 193 | 194 | > 提醒:當然 PVC 要能夠成功綁定,需要先設定好 PV。 195 | 196 | Pod、PVC 狀態如下 197 | 198 | ```bash 199 | kubectl get pvc 200 | # NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE 201 | www-web-0 Bound pvc-xxx-id 1Gi RWO standard 1d 202 | www-web-1 Bound pvc-xxx-id 1Gi RWO standard 1d 203 | 204 | kubectl get pod 205 | # NAME READY STATUS RESTARTS AGE 206 | web-0 1/1 Running 0 1d 207 | web-1 1/1 Running 0 1d 208 | 209 | ``` 210 | 211 | **特別回顧下 StatefulSet 拓樸狀態特色**,說明下當刪除 Pod `web-0` 之後的過程: 212 | 213 | 1. StatefulSet 控制器會發現 Pod `web-0` 已經消失了,開始進行重建相同名稱的 Pod `web-0`。 214 | 2. 重建規範當然是上述 StatefulSet yaml 內容,故此 Pod `web-0` 所對應的 PVC 仍是 `www-web-0`。 215 | 3. 基於上述 StatefulSet yaml 內容,Pod `web-0` 會尋找、使用相對應的 PVC `www-web-0`。 216 | 4. 原本已經寫入 PVC `www-web-0` 儲存空間內之內容,即可被 Pod `web-0` 讀取。 217 | 218 | 這 Pod `web-0` 重建過程流程,呼應 StatefulSet 拓樸狀態的基本要求。 219 | **也是完成`儲存狀態 一致性`的要求。** 220 | 221 | --- 222 | ## StatefulSet 其他特色與回顧 223 | 224 | * StatefulSet 控制器直接管理對象是 Pod,相較於 Deployment 是透過 ReplicaSet 管理 Pod 有所不同。 225 | 區分方式就是 Pod 名稱裡的`編號`。 226 | 227 | * StatefulSet 透過 Headless Service 為這些有編號的 Pod 帶有唯一的 DNS 紀錄。 228 | `...svc.cluster.local` 其對應的 IP 記錄,會隨著 Pod_IP 變動跟著更新。 229 | 230 | * StatefulSet 藉由 `拓樸狀態、儲存狀態` 兩大設計功能,完成「有狀態服務性質」的應用程式,所需要的 `狀態相依性、順序性、資料一致性` 目標。 231 | 232 | -------------------------------------------------------------------------------- /docs/03_K8s/P01.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | * 導讀時間:2019/03/14 4 | * 場地提供:91APP 1F 訓練室 5 | * 進度: 6 | * 開篇詞 | 打通“容器技術”的任督二脈 7 | * 預習篇 · 小鯨魚大事記(一):初出茅廬 8 | * 預習篇 · 小鯨魚大事記(二):嶄露頭角 9 | * 預習篇 · 小鯨魚大事記(三):群雄並起 10 | 11 | --- 12 | ## 導讀整理 13 | 14 | TBD 15 | 16 | 17 | LDS 18 | 19 | hhhh 20 | 21 | --- 22 | ## 問題與討論 23 | 24 | TBD -------------------------------------------------------------------------------- /docs/03_K8s/QA.md: -------------------------------------------------------------------------------- 1 | 2 | # 讀書會 QA 3 | 4 | 底下整理社群中常被問的問題,歡迎提出討論與建議。 5 | 6 | !!! notes "這本書是電子書?多少錢?" 7 | 是的,他是 APP 形式,可以透過聽或者閱讀學習。這個專欄 99 人民幣。 8 | 9 | 10 | !!! notes "電子書如何付費?" 11 | 12 | 1. iPhone 在 App Store 可用國際信用卡買 (Topper) 13 | 2. 需要有 WeChat 帳號的人(通常是中國人)轉錢給你,就可以買 (正瑋) 14 | 15 | 16 | !!! notes "讀書會已經額滿,我還有機會加入嗎?" 17 | 18 | 讀書會主要受限場地空間因素,同時為保持活動品質,只要場地在可以接受的範圍,或者未來有朋友暫時無法參與,都會再釋出名額。請隨時注意社群公告資訊。 19 | 20 | -------------------------------------------------------------------------------- /docs/03_K8s/Reference.md: -------------------------------------------------------------------------------- 1 | 2 | # 參考資源 3 | 4 | ## 社群 5 | 6 | * [Kubernetes Taiwan User Group](https://www.facebook.com/groups/k8s.tw/) 7 | * [Illustrated Guide To Kubernetes Networking](https://speakerdeck.com/thockin/illustrated-guide-to-kubernetes-networking) -------------------------------------------------------------------------------- /docs/03_K8s/Schedule.md: -------------------------------------------------------------------------------- 1 | 2 | # 2019/03/05: 讀書會活動行程 3 | 4 | * 書本資訊: [深入剖析Kubernetes](https://time.geekbang.org/column/116) 5 | * [導讀進度表](https://docs.google.com/spreadsheets/d/1s9c_FrtAcbpdJfLPkWk9jkyGYEeDe-cZ0m1J5MTmCUk/edit#gid=0) 6 | * [公告位置](https://www.facebook.com/groups/sre.taiwan/permalink/1267523693413532/) 7 | 8 | 9 | ## 活動說明 10 | 11 | 由於場地空間限制,同時要維持讀書會的活動品質與產出,這次進行方式如下: 12 | 13 | 1. 採邀請制:必須能長期、持續參與、並且貢獻者,如能配合的朋友 (請確認你的時間與地點能配合),歡迎找 Rick Hwang 或者 Cheng Wei Chen 報名,名額有限。 14 | 2. 讀書會 導讀產出回饋給社群,讓更多人可以參與討論與分享 15 | 3. 這次場地將由 `Pixnet` 與 `91APP` 共同贊助,感謝 Pixnet `Jui-Nan Lin`, 91APP `Andrew Wu` 協助~ 16 | 17 | 18 | ## 書本介紹 19 | 20 | `深入剖析 Kubernetes` 是由中國的 `極客時間 (APP)` 出版的有聲專欄系列,作者是 K8s 社群的成員與維護者 - `張磊`。這專欄深入剖析 K8s 背後設計的原則與精神,透過了解歷史、設計思維了解為什麼這樣設計、為什麼是這樣運作,讓大家更能了解這個次世代的作業系統背後設計的哲學與原理,未來在面對任務,或者各式各樣整合的整合服務 (AKS, BKS, EKS, GKE, KOps, ZOps, minikube, k9s/k8s/k8-5s/k3s ...) ,都能像 X 光那樣,透視整個原理與狀況,快速掌握,見招拆招,無招勝有招,正常下班,幸福人生。 21 | 22 | 這個專欄目前只有電子版,可以透過 APP or Deskop 聆聽、閱讀。 23 | 24 | 25 | 選書是經過讀書會成員投票出來的,投票書目如下: 26 | 27 | 1. [深入剖析 Kubernetes](https://time.geekbang.org/column/intro/116) 28 | 2. [從零開始學架構](https://time.geekbang.org/column/intro/81) 29 | 3. [Infrastructure as Code](https://www.tenlong.com.tw/products/9781491924358) 30 | 31 | 32 | 最後由 1) 勝出。 33 | 34 | 35 | 我個人跟這個 APP 沒有關係,所以不是來推銷貨賣藥的 XDD 。。。而是研讀過後,真的有醍醐灌頂的感覺,比對過官方文件 (K8s -> Docs -> Concepts) 發現,裡面的解說都是從官方文件的例子,甚至直接提供 K8s Source Code 比對解說,所以觀念上不會誤導之嫌,然後可以學習到 K8s 的精髓。與其在網路上囫圇吞棗、沒有組織的看一些文章,不如扎扎實實的把整個概念與練習研究過一次,明年現在的你,遇到 K8s 的時候,將不再困惑與不解。如要考取 K8s 官方認證:#CKA or #CKAD 認證應該不是問題(我猜啦 XD) 36 | 37 | 38 | Anyway,寫了這麼多,不管有沒機會來參與讀書會,學習 K8s 背後設計的精神是值得投資的!歡迎大家一樣自我學習,紀錄所學,分享社群。 39 | 40 | 讀書會相關討論也會放在社群,歡迎大家一起討論、貢獻、分享、學習,提升台灣軟體產業。 41 | 42 | 43 | ## 總結 44 | 45 | 廢話太多,重點如下: 46 | 47 | 1. 採邀請制:必須能長期、持續參與、並且貢獻者,如能配合的朋友 (請確認你的時間與地點能配合),歡迎找 Rick Hwang 或者 Cheng Wei Chen 報名,名額有限。 48 | 2. 讀書會 導讀產出回饋給社群,讓更多人可以參與討論與分享 49 | 3. 這次場地將由 #Pixnet 與 #91APP 共同贊助 50 | 51 | 52 | ## 導讀清單 53 | 54 | * [SRE 讀書會 Round3: 深入剖析 K8s](https://drive.google.com/open?id=1s9c_FrtAcbpdJfLPkWk9jkyGYEeDe-cZ0m1J5MTmCUk) 55 | 56 | 57 | -------------------------------------------------------------------------------- /docs/04_Linux.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## 活動資訊 4 | 5 | * [導讀進度表](https://lds.guru/9tzsrm) 6 | * 每兩週,的星期四晚上 20:00 ~ 21:00 7 | 8 | ## 活動說明 9 | 10 | 為確保讀書會的活動品質與產出,進行方式如下: 11 | 12 | 1. 採邀請制:必須能長期、持續參與、並且貢獻者。 13 | 1. 如能配合的朋友 (請確認你的時間能配合),歡迎找 Rick Hwang 報名,告知介紹人、您的稱呼、Email (邀請用)。 14 | 2. 視活動狀況,將額外開放名額參加,請注意公告。 15 | 2. 線上會議:因應武漢肺炎減少群聚,本次活動踩線上形式舉辦。 16 | 1. 將會制定線上會議規則,以維持活動品質。 17 | 2. 線上會議視狀況,再決定是否對外開放,或者錄影上傳。 18 | 3. 活動是否改由實體聚會,將視疫情狀況而定。 19 | 3. 活動時間:線上活動考慮成員下班交通時間,活動時間在 20:00 ~ 21:30 20 | 4. 會議資源:這次線上會議資源由 [91APP](https://www.91app.com) 贊助提供。 21 | 22 | 23 | 24 | 25 | 26 | 上述資訊公告在社群: https://www.facebook.com/groups/sre.taiwan/permalink/1638788536287044/ -------------------------------------------------------------------------------- /docs/04_Linux/Online.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ## 進行方式 5 | 6 | 因為武漢肺炎減少群聚,這次改採線上會議形式。 7 | 8 | -------------------------------------------------------------------------------- /docs/04_Linux/R4-01.md: -------------------------------------------------------------------------------- 1 | 2 | * 時間:2020/04/23 20:00 ~ 21:30 3 | * 場地:Google Meet (91APP 提供) 4 | * [導讀進度表](https://lds.guru/9tzsrm) 5 | * [線上共筆](https://hackmd.io/BzKXCAmjROOzVGXtAHk7pA) 6 | 7 | ## 摘要 8 | 9 | * 01 | 如何學習Linux性能優化? - Rick Hwang 10 | * 02 | 基礎篇:到底應該怎麼理解"平均負載"? - 阿福 11 | * 03 | 基礎篇:經常說的 CPU 上下文切換是什麼意思?(上) - 阿瑋 12 | * 04 | 基礎篇:經常說的 CPU 上下文切換是什麼意思?(下) - 阿瑋 13 | 14 | ## 錄影 15 | 16 | 17 | 18 | 19 | ## 簡報 20 | 21 | 22 | 23 | 24 | 25 | 26 | ## 相關資料 27 | 28 | * [Operating Systems: Three Easy Pieces](http://pages.cs.wisc.edu/~remzi/OSTEP/) - 阿瑋推薦的課程 29 | * [SHENZHEN I/O](https://store.steampowered.com/app/504210/SHENZHEN_IO/) - 模擬 Context Switch 的遊戲 -------------------------------------------------------------------------------- /docs/04_Linux/R4-02.md: -------------------------------------------------------------------------------- 1 | 2 | * 時間:2020/04/23 20:00 ~ 21:30 3 | * 場地:Google Meet (91APP 提供) 4 | * [導讀進度表](https://lds.guru/9tzsrm) 5 | * [線上共筆](https://hackmd.io/-D0LY8CyTA6nVvc1Wl1N3g) 6 | 7 | ## 摘要 8 | 9 | * 05 | 基礎篇:某個應用的CPU使用率居然達到100%,我該怎麼辦? - 小明 10 | * 06 | 案例篇:系統的 CPU 使用率很高,但為啥卻找不到高 CPU 的應用? - John 11 | 12 | ## 錄影 13 | 14 | 15 | 16 | ## 簡報 17 | 18 | 19 | 20 | 21 | 22 | 23 | ## 相關資料 24 | 25 | -------------------------------------------------------------------------------- /docs/04_Linux/R4-03.md: -------------------------------------------------------------------------------- 1 | 2 | * 時間:2020/05/21 20:00 ~ 21:30 3 | * 場地:Google Meet (91APP 提供) 4 | * [導讀進度表](https://lds.guru/9tzsrm) 5 | * [線上共筆](https://hackmd.io/gGOCg6CkTVK1EfaFq82OaA) 6 | 7 | ## 摘要 8 | 9 | * 07 | 案例篇:系統中出現大量不可中斷進程和殭屍進程怎麼辦?(上) - Tim Tsai 10 | * 08 | 案例篇:系統中出現大量不可中斷進程和殭屍進程怎麼辦?(下) - Tim Tsai 11 | * 09 | 基礎篇:怎麼理解Linux軟中斷? - 泳褲 12 | * 10 | 案例篇:系統的軟中斷CPU使用率升高,我該怎麼辦? - Jeri Chen 13 | 14 | ## 錄影 15 | 16 | 17 | 18 | 19 | ## 簡報 20 | 21 | 22 | 23 | 24 | 25 | 26 | ## 相關資料 27 | 28 | -------------------------------------------------------------------------------- /docs/04_Linux/R4-04.md: -------------------------------------------------------------------------------- 1 | 2 | * 時間:2020/06/03 20:00 ~ 21:30 3 | * 場地:Google Meet (91APP 提供) 4 | * [導讀進度表](https://lds.guru/9tzsrm) 5 | * [線上共筆](https://hackmd.io/JqfSQKTZTWOxtHr_guj54g) 6 | 7 | ## 摘要 8 | 9 | * 11 | 套路篇:如何迅速分析出系統CPU的瓶頸在哪裡? - Winnie 10 | * 12 | 套路篇:CPU 性能優化的幾個思路 - 陳龍星 & 曾義格 11 | * 13 | 答疑(一):無法模擬出 RES 中斷的問題,怎麼辦? - Hans Hsu 12 | 13 | ## 錄影 14 | 15 | 16 | 17 | ## 簡報 18 | 19 | 20 | 21 | 22 | ## 相關資料 23 | 24 | * [Swappiness Value](https://askubuntu.com/questions/943165/is-a-swappiness-value-of-0-safe-how-about-1-what-is-the-minimum) 25 | -------------------------------------------------------------------------------- /docs/04_Linux/R4-05.md: -------------------------------------------------------------------------------- 1 | 2 | * 時間:2020/06/17 20:00 ~ 21:30 3 | * 場地:Google Meet (91APP 提供) 4 | * [導讀進度表](https://lds.guru/9tzsrm) 5 | * [線上共筆](https://hackmd.io/bVCoapVUTTC7WeQF0ykTSw) 6 | 7 | ## 摘要 8 | 9 | * 14 | 答疑(二):如何用perf工具分析Java程序? - 義格 10 | * 15 | 基礎篇:Linux內存是怎麼工作的? - 小明 11 | * 16 | 基礎篇:怎麼理解內存中的Buffer和Cache? - Ader / 阿福(代) 12 | 13 | ## 錄影 14 | 15 | 16 | 17 | ## 簡報 18 | 19 | TBD 20 | 21 | ## 相關資料 22 | 23 | * [How does the OOM killer decide which process to kill first?](https://unix.stackexchange.com/questions/153585/how-does-the-oom-killer-decide-which-process-to-kill-first) -------------------------------------------------------------------------------- /docs/04_Linux/R4-06.md: -------------------------------------------------------------------------------- 1 | 2 | * 時間:2020/07/02 20:00 ~ 21:30 3 | * 場地:Google Meet (91APP 提供) 4 | * [導讀進度表](https://lds.guru/9tzsrm) 5 | * [線上共筆](https://hackmd.io/I9XznRYyRH238H87gqQGcw) 6 | 7 | ## 摘要 8 | 9 | * 17 | 案例篇:如何利用系統緩存優化程序的運行效率? - FreddyFan 10 | * 18 | 案例篇:內存洩漏了,我該如何定位和處理? - 義格 11 | * 19 | 案例篇:為什麼系統的Swap變高了?(上) - Jerry Cheng 12 | * 20 | 案例篇:為什麼系統的Swap變高了?(下) - John 13 | 14 | ## 錄影 15 | 16 | 17 | 18 | ## 簡報 19 | 20 | TBD 21 | 22 | ## 相關資料 23 | 24 | * [Installing BCC - Github](https://github.com/iovisor/bcc/blob/master/INSTALL.md) -------------------------------------------------------------------------------- /docs/04_Linux/R4-07.md: -------------------------------------------------------------------------------- 1 | 2 | * 時間:2020/07/16 20:00 ~ 21:30 3 | * 場地:Google Meet (91APP 提供) 4 | * [導讀進度表](https://lds.guru/9tzsrm) 5 | * [線上共筆](https://hackmd.io/LkRflLj6TRWbxxhzclhdgQ) 6 | 7 | ## 摘要 8 | 9 | * 21 | 套路篇:如何“快准狠”找到系統內存的問題? - Rico / 阿福 (代) 10 | * 22 | 答疑(三):文件系統與磁盤的區別是什麼? - 泳褲 11 | * 23 | 基礎篇:Linux 文件系統是怎麼工作的? - John 12 | 13 | ## 錄影 14 | 15 | 16 | 17 | ## 簡報 18 | 19 | 20 | 21 | 22 | 23 | 24 | ## 相關資料 25 | 26 | TBD -------------------------------------------------------------------------------- /docs/04_Linux/R4-08.md: -------------------------------------------------------------------------------- 1 | 2 | * 時間:2020/07/30 20:00 ~ 21:30 3 | * 場地:Google Meet (91APP 提供) 4 | * [導讀進度表](https://lds.guru/9tzsrm) 5 | * [線上共筆](https://hackmd.io/gAqF_pRUT3K55ZHiLCv-NA) 6 | 7 | ## 摘要 8 | 9 | * 24 | 基礎篇:Linux 磁盤I/O是怎麼工作的(上) - 賴義偉 10 | * 25 | 基礎篇:Linux 磁盤I/O是怎麼工作的(下) - Hazel Shen 11 | * 26 | 案例篇:如何找出狂打日誌的"內鬼"? - Bill Chang 12 | 13 | ## 錄影 14 | 15 | 16 | 17 | ## 簡報 18 | 19 | 20 | 21 | 22 | 23 | 24 | ## 相關資料 25 | 26 | * [Release It!: Design and Deploy Production-Ready Software 2/e](https://www.tenlong.com.tw/products/9781680502398) 27 | * [Linux Storage Stack Diagram](https://www.thomas-krenn.com/en/wiki/Linux_Storage_Stack_Diagram) 28 | 29 | 30 | -------------------------------------------------------------------------------- /docs/04_Linux/R4-09.md: -------------------------------------------------------------------------------- 1 | 2 | * 時間:2020/08/31 20:00 ~ 21:30 3 | * 場地:Google Meet (91APP 提供) 4 | * [導讀進度表](https://lds.guru/9tzsrm) 5 | * [線上共筆](https://hackmd.io/rrV5Bm8lRPmKgBV8JGjJXg) 6 | 7 | ## 摘要 8 | 9 | * 27 | 案例篇:為什麼我的磁盤I/O延遲很高? - 小明 10 | * 28 | 案例篇:一個SQL查詢要15秒,這是怎麼回事? - FreddyFan 11 | * 29 | 案例篇:Redis響應嚴重延遲,如何解決? - FreddyFan 12 | 13 | ## 錄影 14 | 15 | 16 | 17 | ## 簡報 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | ## 相關資料 26 | 27 | * [Redis Persistence](https://tachingchen.com/tw/blog/redis-data-persistence/) 28 | 29 | -------------------------------------------------------------------------------- /docs/04_Linux/R4-10.md: -------------------------------------------------------------------------------- 1 | 2 | * 時間:2020/08/27 20:00 ~ 21:30 3 | * 場地:Google Meet (91APP 提供) 4 | * [導讀進度表](https://lds.guru/9tzsrm) 5 | * [線上共筆](https://hackmd.io/@t18NtqosQuCL3YbId5boEg/rkK9LzrXw) 6 | 7 | ## 摘要 8 | 9 | * 30 | 套路篇:如何迅速分析出系統I/O的瓶頸在哪裡? - 泳褲 10 | * 31 | 套路篇:磁盤 I/O 性能優化的幾個思路 - 小明 11 | * 32 | 答疑(四):阻塞、非阻塞 I/O 與同步、異步 I/O 的區別和聯繫 - Earou 12 | 13 | ## 錄影 14 | 15 | 16 | 17 | ## 簡報 18 | 19 | 20 | 21 | 22 | 23 | 24 | ## 相關資料 25 | 26 | * [Labs for sync, async, blocking, non-blocking io](https://github.com/earouh/sre-labs) - Earou 提供的 Demo Code 27 | * [SHENZHEN I/O](https://store.steampowered.com/app/504210/SHENZHEN_IO/) 28 | -------------------------------------------------------------------------------- /docs/04_Linux/R4-11.md: -------------------------------------------------------------------------------- 1 | 2 | * 時間:2020/09/10 20:00 ~ 21:30 3 | * 場地:Google Meet (91APP 提供) 4 | * [導讀進度表](https://lds.guru/9tzsrm) 5 | * [線上共筆](https://hackmd.io/r36QmQGtR6mHQPavMjDn8g) 6 | 7 | ## 摘要 8 | 9 | * 33 | 關於 Linux 網絡,你必須知道這些(上) - Bryan 10 | * 34 | 關於 Linux 網絡,你必須知道這些(下) - Bryan 11 | * 35 | 基礎篇:C10K 和 C1000K 回顧 - FreddyFan 12 | 13 | ## 錄影 14 | 15 | 16 | 17 | ## 簡報 18 | 19 | 20 | 21 | 22 | 23 | ## 相關資料 24 | 25 | * [I/O Models](https://rickhw.github.io/2019/02/27/ComputerScience/IO-Models/) 26 | * [C10k](http://www.kegel.com/c10k.html) -------------------------------------------------------------------------------- /docs/04_Linux/R4-12.md: -------------------------------------------------------------------------------- 1 | 2 | * 時間:2020/09/24 20:00 ~ 21:30 3 | * 場地:Google Meet (91APP 提供) 4 | * [導讀進度表](https://lds.guru/9tzsrm) 5 | * [線上共筆](https://hackmd.io/587511NARCGKBqM7aHn4Kg) 6 | 7 | ## 摘要 8 | 9 | * 36 | 套路篇:怎麼評估系統的網絡性能? - Winnie 10 | * 37 | 案例篇:DNS 解析時快時慢,我該怎麼辦? - Bill Chang / Hazel Shen (代) 11 | * 38 | 案例篇:怎麼使用 tcpdump 和 Wireshark 分析網絡流量? - Rico 12 | 13 | ## 錄影 14 | 15 | 16 | 17 | ## 簡報 18 | 19 | 20 | 21 | 22 | 23 | ## 相關資料 24 | 25 | * [使用 tc 命令配置 delay 模擬 DNS Latency](http://arthurchiao.art/blog/dns-practice-zh/) -------------------------------------------------------------------------------- /docs/04_Linux/R4-13.md: -------------------------------------------------------------------------------- 1 | 2 | * 時間:2020/10/08 20:00 ~ 21:30 3 | * 場地:Google Meet (91APP 提供) 4 | * [導讀進度表](https://lds.guru/9tzsrm) 5 | * [線上共筆](https://hackmd.io/e-ULIn-HS_qZxE2uxsIz_Q) 6 | 7 | ## 摘要 8 | 9 | * 39 | 案例篇:怎麼緩解 DDoS 攻擊帶來的性能下降問題? - Earou 10 | * 40 | 案例篇:網絡請求延遲變大了,我該怎麼辦? - FreddyFan 11 | * 45 | 答疑(五):網絡收發過程中,緩衝區位置在哪裡? - RicoChen 12 | 13 | ## 錄影 14 | 15 | 16 | 17 | ## 簡報 18 | 19 | 20 | 21 | 22 | 23 | ## 相關資料 24 | 25 | * [Attack Possibilities by OSI Layer](https://us-cert.cisa.gov/sites/default/files/publications/DDoS%20Quick%20Guide.pdf) 26 | * [從 0 開始的 Web Security](https://ithelp.ithome.com.tw/users/20129897/ironman/3431) 27 | * [AWS Best Practices for DDoS Resiliency](https://d0.awsstatic.com/whitepapers/Security/DDoS_White_Paper.pdf) 28 | * 2020-10-08: [DDoS攻擊成為新常態](https://www.ithome.com.tw/voice/140415) 29 | * [最近的 DDoS 勒索事件](https://www.facebook.com/groups/rayforum/permalink/3357465654333569/) 30 | * [CPDoS: Cache Poisoned Denial of Service](https://cpdos.org/) 31 | * [Nagle algorithm](https://en.wikipedia.org/wiki/Nagle%27s_algorithm) 32 | * [X.25](https://zh.wikipedia.org/zh-tw/X.25) -------------------------------------------------------------------------------- /docs/04_Linux/R4-14.md: -------------------------------------------------------------------------------- 1 | 2 | * 時間:2020/10/22 20:00 ~ 21:30 3 | * 場地:Google Meet (91APP 提供) 4 | * [導讀進度表](https://lds.guru/9tzsrm) 5 | * [線上共筆](https://hackmd.io/6kwADc27TQ2GfOb72W9wNg) 6 | 7 | ## 摘要 8 | 9 | * 41 | 案例篇:如何優化 NAT 性能?(上) - Kyle 10 | * 42 | 案例篇:如何優化 NAT 性能?(下) - Kyle 11 | * 43 | 套路篇:網絡性能優化的幾個思路(上) - HWChiu 12 | * 44 | 套路篇:網絡性能優化的幾個思路(下) - HWChiu 13 | 14 | ## 錄影 15 | 16 | 17 | 18 | ## 簡報 19 | 20 | 21 | 22 | 23 | ## 相關資料 24 | 25 | * [Walkthrough setting up AWS NAT Instances: The multipurpose instance](https://medium.com/@rakeshkanagaraj1990/aws-nat-instance-bb0911ba19d5) 26 | * [利用ssh ProxyCommand及nc做跳板的連線應用](https://shazi.info/%E5%88%A9%E7%94%A8ssh-proxycommand%E5%8F%8Anc%E5%81%9A%E8%B7%B3%E6%9D%BF%E7%9A%84%E9%80%A3%E7%B7%9A%E6%87%89%E7%94%A8/) 27 | * [github : deadman](https://github.com/upa/deadman) 28 | * [系統工程師必備監控小工具 - deadman](https://blog.pichuang.com.tw/20200423-deadman/?fbclid=IwAR1g_4Th0fkszSaxWyZpi1U805frUp8T5QAXbmK8wik4hR6pm4Ezyb3jzbM) 29 | * [BBR](https://medium.com/kaito-blog-%E6%B5%B7%E6%96%97%E6%A8%A3-%E3%81%AE-it%E5%AE%85/google-bbr-e39e0df69e3b) 30 | * [數據中心網路 BBR 不如 CUBIC ?](https://kernel.taobao.org/2019/11/bbr-vs-cubic-in-datacenter-network/?fbclid=IwAR1qAgF6LETyUUoB2egD8mgHIuuO1Yj6gCnfud_IoxlzDGJVCw6E5vsMqCo) 31 | * [社群FB活動貼文 : Round 4 #14](https://www.facebook.com/groups/sre.taiwan/permalink/1843551249144104/) -------------------------------------------------------------------------------- /docs/04_Linux/R4-15.md: -------------------------------------------------------------------------------- 1 | 2 | * 時間:2020/11/12 20:00 ~ 21:30 3 | * 場地:Google Meet (91APP 提供) 4 | * [導讀進度表](https://lds.guru/9tzsrm) 5 | * [線上共筆](https://hackmd.io/hOrSSs93TWKrhJhwSkpA9w) 6 | 7 | ## 摘要 8 | 9 | * 46 | 案例篇:為什麼應用容器化後,啟動慢了很多? - Bill Chang -> 一格 10 | * 47 | 案例篇:服務器總是時不時丟包,我該怎麼辦?(上) - Jerry Cheng 11 | * 48 | 案例篇:服務器總是時不時丟包,我該怎麼辦?(下) - John 12 | 13 | ## 錄影 14 | 15 | 16 | 17 | ## 簡報 18 | 19 | 20 | 21 | 22 | ## 相關資料 23 | 24 | * [SDKMan](https://rickhw.github.io/2019/04/07/Coding/Java-Version-Manager/) 25 | * [Path MTU discovery](https://applezulab.netdpi.net/network/sctp_introduction/4-path-mtu-discovery) 26 | * [iptable](https://www.slideshare.net/hongweiqiu/iptables-introduction) 27 | * [curl - man page](http://www.ipgp.fr/~arnaudl/NanoCD/software/win32/curl/docs/curl.html) 28 | * [k8s service- iptable](https://kubernetes.io/docs/concepts/services-networking/service/#proxy-mode-userspace) 29 | * [社群FB活動貼文 : Round 4 #15](https://www.facebook.com/groups/sre.taiwan/permalink/1865670276932201/) -------------------------------------------------------------------------------- /docs/04_Linux/R4-16.md: -------------------------------------------------------------------------------- 1 | 2 | * 時間:2020/11/26 20:00 ~ 21:30 3 | * 場地:Google Meet (91APP 提供) 4 | * [導讀進度表](https://lds.guru/9tzsrm) 5 | * [線上共筆](https://hackmd.io/59SIi9h1TOqboz35jFHtwA) 6 | 7 | ## 摘要 8 | 9 | * 49 | 案例篇:內核線程 CPU 利用率太高,我該怎麼辦? - 賴義偉 10 | * 50 | 案例篇:動態追蹤怎麼用?(上) - Hazel Shen 11 | * 51 | 案例篇:動態追蹤怎麼用?(下) - Hazel Shen 12 | 13 | ## 錄影 14 | 15 | 16 | 17 | ## 簡報 18 | 19 | 20 | 21 | 22 | ## 相關資料 23 | 24 | * [github - FlameGraph](https://github.com/brendangregg/FlameGraph) 25 | * [How to generate PHP Flamegraphs](https://daniellockyer.com/php-flame-graphs/) 26 | * [lua script](https://www.youtube.com/watch?v=lNsESiTcgGY&ab_channel=CloudNativeTaiwan) 27 | * [Python Profiling Tools](http://pramodkumbhar.com/2019/05/summary-of-python-profiling-tools-part-i/) 28 | * [Grafana 7.0: Trace viewer and integrations with Jaeger and Zipkin](https://grafana.com/blog/2020/05/22/new-in-grafana-7.0-trace-viewer-and-integrations-with-jaeger-and-zipkin/) 29 | * [社群FB活動貼文 : Round 4 #16](https://www.facebook.com/groups/sre.taiwan/permalink/1878976158934946/) -------------------------------------------------------------------------------- /docs/04_Linux/R4-17.md: -------------------------------------------------------------------------------- 1 | 2 | * 時間:2020/12/10 20:00 ~ 21:30 3 | * 場地:Google Meet (91APP 提供) 4 | * [導讀進度表](https://lds.guru/9tzsrm) 5 | * [線上共筆](https://hackmd.io/74F8Yy_1T8WAqc3mIhOk5g) 6 | 7 | ## 摘要 8 | 9 | * 52 | 案例篇:服務吞吐量下降很厲害,怎麼分析? - 義格 10 | * 53 | 套路篇:系統監控的綜合思路 - FreddyFan 11 | * 54 | 套路篇:應用監控的一般思路 - 義格 12 | * 55 | 套路篇:分析性能問題的一般步驟 - Jeri Chen 13 | * 56 | 套路篇:優化性能問題的一般方法 - JohnChen 14 | 15 | ## 錄影 16 | 17 | 18 | 19 | ## 簡報 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | ## 相關資料 29 | 30 | * [监控RED方法](https://www.jianshu.com/p/20f3428535e3) 31 | * [ACQUIA(專門給Drupal使用)](https://www.acquia.com/) 32 | * [社群FB活動貼文 : Round 4 #17](https://www.facebook.com/groups/sre.taiwan/permalink/1891804660985429/) -------------------------------------------------------------------------------- /docs/04_Linux/R4-18.md: -------------------------------------------------------------------------------- 1 | 2 | * 時間:2020/12/24 20:00 ~ 21:30 3 | * 場地:Google Meet (91APP 提供) 4 | * [導讀進度表](https://lds.guru/9tzsrm) 5 | * [線上共筆](https://hackmd.io/aaQgKehLTUejPccMNB0M9Q) 6 | 7 | ## 摘要 8 | 9 | 10 | * 57 | 套路篇:Linux 性能工具速查 - Jeri Chen 11 | * 58 | 答疑(六):容器冷啟動如何性能分析? - Hans Hsu 12 | * Round 4 會後心得分享 - Rick Hwang 13 | 14 | ## 錄影 15 | 16 | 17 | 18 | ## 簡報 19 | 20 | 21 | 22 | 23 | ## 相關資料 24 | 25 | * [GreenVM](https://projects.ics.forth.gr/carv/greenvm/) 26 | * [Azul Zulu](https://www.azul.com/downloads/zulu-community/?package=jdk) 27 | * [twitter - Java](https://twitter.com/sdelamo/status/1332730481943728129/photo/1) 28 | * [visualize process threads](https://visualvm.github.io/) 29 | * [社群FB活動貼文 : Round 4 #18](https://www.facebook.com/groups/sre.taiwan/permalink/1904064216426140/) -------------------------------------------------------------------------------- /docs/04_Linux/R4-XX-template.md: -------------------------------------------------------------------------------- 1 | 2 | * 時間:2020/09/10 20:00 ~ 21:30 # 確認日期是否正確 3 | * 場地:Google Meet (91APP 提供) 4 | * [導讀進度表](https://lds.guru/9tzsrm) 5 | * [線上共筆](https://hackmd.io/r36QmQGtR6mHQPavMjDn8g) # 確認hackmd連結是否可點選 6 | 7 | ## 摘要 8 | 9 | * 33 | 關於 Linux 網絡,你必須知道這些(上) - Bryan # 確認分享章節數量,確認章節序號,章節名稱,講師名稱 10 | * 34 | 關於 Linux 網絡,你必須知道這些(下) - Bryan 11 | * 35 | 基礎篇:C10K 和 C1000K 回顧 - FreddyFan 12 | 13 | ## 錄影 14 | 15 | # 嵌入youtube影片,使用方法 https://support.google.com/youtube/answer/171780?hl=zh-Hant 16 | 17 | TBD # 暫無youtube連結是否可點選,使用TBD 18 | 19 | ## 簡報 20 | 21 | # 確認src連結目錄與檔名正確,確認pdf是否已經放置 22 | 23 | 24 | 25 | TBD # 暫無pdf連結是否可點選,使用TBD 26 | 27 | ## 相關資料 28 | 29 | * [I/O Models](https://rickhw.github.io/2019/02/27/ComputerScience/IO-Models/) #確認參考資料連結是否可點選,確認標題是否相符 30 | * [C10k](http://www.kegel.com/c10k.html) -------------------------------------------------------------------------------- /docs/04_Linux/Vote.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## 選書 4 | 5 | 這次選書是經過 [社群線上投票][2] 選出來的,投票書目如下,最後由 [Linux 性能優化實戰][1] 勝出。 6 | 7 | 1. Linux 性能優化實戰 - RMB 99 8 | * 同類:趣談 Linux 作業系統 - RMB 99-129 9 | 2. MIT-6.824 Distributed System - Free 10 | 3. 基礎設施即代碼 雲服務管理 NTD: 454 11 | 4. Elasticsearch 核心技術與實戰 - RMB 89~129 12 | 5. BPF Performance Tools - Linux System and Application Observability 13 | 6. 持續 API 管理 - NTD 411 14 | 7. Database Reliablity Engineering 15 | 8. 從零開始學架構 - RMB 99 16 | 17 | 18 | ## 選書結果 19 | 20 | 選書結果出爐,這次是由社群朋友一起票選的,書本是:[極客時間][6] 的 [Linux 性能優化實戰][1] 21 | 22 | ![](/act/04_Linux/20200320-Vote.png) 23 | 24 | 25 | Linux 是現代軟體工程師必修的技能,身為 SRE 熟悉 Linux 的運作原理也是理所當然的技能。很多人會從 #鳥哥 的網站入門,也有人直接上 [jserv 的課殺到 Linux Kernel 讀 Source Code][3],最近另一個社群正在讀的則是 ,最近另一個社群正在讀的則是 [BPF Performance Tools][4]。 26 | 27 | SRE 實務上會經常遇到效能問題,如何從問題中學習是最好的方法。所以去年 讀書會 Round3 快結束時,我就在尋找適當的候選書。最後同樣的在 #極客時間 (APP) 找到這次的主要目標: [Linux 性能優化實戰][1]。主要探討實際的問題為主,透過問題了解 Linux 概念,像是: 28 | 29 | 1. 系統的 CPU 使用率很高,但為啥卻找不到高 CPU 的應用? 30 | 2. 系統中出現大量不可中斷程序和殭屍程序怎麼辦? 31 | 3. 如何利用系統緩存優化程序的運行效率? 32 | 4. 如何迅速分析出系統I/O的瓶頸在哪裡? 33 | 5. 網絡性能優化的幾個思路 34 | 35 | 這些問題往往需要了解基礎原理,但有時候了解原理卻也不知道怎麼用,實務上卻不會想到。也因此透過探討實戰經驗,讓大家更能掌握 Linux 的運作與設計。 36 | 37 | 這個專欄目前只有電子版,可以透過 APP or Deskop 聆聽、閱讀。 38 | 39 | 40 | [1]: https://time.geekbang.org/column/intro/140 41 | [2]: https://www.facebook.com/groups/sre.taiwan/?post_id=1615843685248196 42 | [3]: https://www.youtube.com/watch?v=Fo-3MtrXr3E&list=PL6S9AqLQkFpongEA75M15_BlQBC9rTdd8 43 | [4]: https://hackmd.io/@VIRqdo35SvekIiH4p76B7g/Hkhqgrr1Z/https%3A%2F%2Fhackmd.io%2F%40yenWu%2FBJUR6cgWI?type=book 44 | [5]: https://medium.com/@qrtt1/%E6%8A%80%E8%A1%93%E5%9E%8B%E8%AE%80%E6%9B%B8%E6%9C%83%E7%9A%84%E5%B0%8E%E8%AE%80-74350ed08ac1 45 | [6]: https://time.geekbang.org/ -------------------------------------------------------------------------------- /docs/Articles.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ## SRE 定義, 觀念 6 | 7 | * [[好文翻譯] 你在找的是 SRE 還是 DevOps?](https://medium.com/kkstream/%E5%A5%BD%E6%96%87%E7%BF%BB%E8%AD%AF-%E4%BD%A0%E5%9C%A8%E6%89%BE%E7%9A%84%E6%98%AF-sre-%E9%82%84%E6%98%AF-devops-2ded43c2852) by Neil Wei 8 | * 2018/08/03: [推薦:Site Reliability Engineering (SRE, 網站可靠性工程)](https://rickhw.github.io/2018/08/03/DevOps/An-Introduction-to-SRE/) 9 | * 2018/08/16: [Google:你的SRE实践可能是错的](https://mp.weixin.qq.com/s?__biz=MzIzNjUxMzk2NQ%3D%3D&mid=2247489744&idx=1&sn=7b4e04f319992181a7aec7abe885e88f&chksm=e8d7e712dfa06e04587ce6a8c2f99cda6cbd6f0dc52c5c5971497768051936d50d0d5787e5e3&scene=27) [簡中] 10 | * 2018/08/13: [从腾讯云故障聊聊SLA](https://mp.weixin.qq.com/s/P2gJfI7NCdk46sgKrACtfQ) [簡中] 11 | * 2018/07/29: [DevOps Engineer、SRE 徵才求職雜談](https://note.drx.tw/2018/07/devops-journey-devops-engineer-sre-jobs.html) 12 | * 2018/07/19: [SRE fundamentals: SLIs, SLAs and SLOs](https://cloudplatform.googleblog.com/2018/07/sre-fundamentals-slis-slas-and-slos.html) [Google] 13 | * [SRE vs. DevOps: competing standards or close friends?](https://cloud.google.com/blog/products/gcp/sre-vs-devops-competing-standards-or-close-friends) by [Google], [摘要 by Rick](https://www.facebook.com/groups/sre.taiwan/permalink/1024105681088669/) 14 | * [What It Means to Be a Site Reliability Engineer According to a Survey from Catchpoint](https://www.infoq.com/news/2018/04/Site-Reliability-Engineer-Survey) - [簡譯 by Rick](https://www.facebook.com/groups/sre.taiwan/permalink/1011410109024893/) 15 | * [What's the Difference Between DevOps and SRE? (class SRE implements DevOps)](https://www.youtube.com/watch?v=uTEL8Ff1Zvk) by [Google] 16 | * 2018/03/25: [谷歌系統維運技巧大公開](https://www.ithome.com.tw/article/121950) 17 | * 2017/07/26: [美团点评的 SRE 发展与实践](https://www.infoq.cn/article/development-and-practice-of-meituan-dianping-sre) [簡中], [社群討論](https://www.facebook.com/groups/sre.taiwan/permalink/914374865395085/) 18 | * 2016/03/28: [INFRASTRUCTURE & OPERATIONS - How Google Does Planet-Scale Engineering for Planet-Scale Infra](https://www.youtube.com/watch?v=H4vMcD7zKM0) by Google, [社群討論](https://www.facebook.com/groups/sre.taiwan/permalink/925982500900988/) 19 | 20 | 21 | --- 22 | ## SRE 實踐 23 | 24 | * [Production Readiness Checklist](https://gruntwork.io/devops-checklist/?ref=prod-readiness-blog-post) 25 | * 2018/04/19: [孙宇聪:来自Google的DevOps理念及实践](https://yq.aliyun.com/articles/582942) 26 | * SRE 中文版譯者的經驗分享,譯者本身也曾是 Google SRE 成員。 27 | * [社群連結](https://www.facebook.com/groups/sre.taiwan/permalink/1067584026740834/) 28 | * 2018/08/01: [Repairing network hardware at scale with SRE principles](https://cloudplatform.googleblog.com/2018/08/repairing-network-hardware-at-scale-with-sre-principles.html) 29 | * 2018/02/17: [17直播SRE團隊的關鍵武器,靠容器標準化IT架構搶速度](https://www.ithome.com.tw/people/121264) 30 | * [How release canaries can save your bacon - CRE life lessons](https://cloud.google.com/blog/products/gcp/how-release-canaries-can-save-your-bacon-cre-life-lessons) 31 | * 2017/11/08: [京東雙11百億海量交易的維運關鍵大公開](https://www.ithome.com.tw/news/118120) 32 | * 2017/11/03: [大规模 Elasticsearch 集群管理心得](https://mp.weixin.qq.com/s/YrQsJMa7bdw8hOonuhWWFA) 33 | 34 | --- 35 | ## 事件管理 36 | 37 | * 2018/07/07: [為什麼受困洞穴的泰國少年救不出來?這篇文章告訴你實際救災有多麼困難](https://www.techbang.com/posts/59610-thailand-cave-rescue) 38 | * [On Call Rotations: How Best to Wake Devs Up in the Middle of the Night](https://thenewstack.io/call-rotations-best-wake-devs-middle-night/) 39 | 40 | --- 41 | ## 持續交付 42 | 43 | * 2015/03/25: [持续交付:当前普遍存在的三个问题与解决方案](http://www.infoq.com/cn/articles/three-current-common-problems-about-continuous-delivery) [簡中] 44 | * [原始討論](https://www.facebook.com/groups/sre.taiwan/permalink/1072499192915984/) 45 | 46 | 47 | --- 48 | ## 監控、量測 49 | 50 | * [An Introduction to Metrics, Monitoring, and Alerting](https://www.digitalocean.com/community/tutorials/an-introduction-to-metrics-monitoring-and-alerting) 51 | * 2017/11/10: [How to Monitor the SRE Golden Signals](https://medium.com/devopslinks/how-to-monitor-the-sre-golden-signals-1391cadc7524) 52 | 53 | --- 54 | ## Chaos Engineering 55 | 56 | * [AWS re:Invent 2018: Building SRE from Scratch at Coinbase during Hypergrowth (DEV315-S)](https://www.youtube.com/watch?v=YDr1_-Tttz0) 57 | * 2018/11/27: [AWS re:Invent 2018 — Chaos Engineering for Modern Applications on AWS](https://medium.com/smalltowntechblog/aws-re-invent-2018-chaos-engineering-for-modern-applications-on-aws-9b38d723abbf) by 小城 58 | * [混沌工程实践经验:如何让系统在生产环境中稳定可靠](https://www.infoq.cn/article/chaos-engineering-in-production) 59 | * 不是由你来选择那一刻,而是那一刻来选择你!你只能选择为之做好准备。 60 | * [Chaos Engineering (混沌工程)](https://rickhw.github.io/2018/10/08/DevOps/Chaos-Engineering/) 61 | * [An Evolution of Chaos Experimentation: Kolton Andrus at ChaosConf 2018](https://www.infoq.com/news/2018/10/chaosconf-evolution) 62 | * 2018/09/14: [Chaos Conf Q&A: The Benefits, Challenges and Practices of Chaos Engineering](https://www.infoq.com/articles/chaos-engineering-conf) 63 | * 2018/08/22: [混沌工程实践经验:如何让系统在生产环境中稳定可靠](https://www.infoq.cn/articles/chaos-engineering-in-production) [簡中] 64 | * 不是你選擇那一刻,是那一刻選擇你,而你唯一能選擇的就是作好準備。 65 | * 混屯工程不是製造問題,是揭露問題 66 | * 2018/06/26: [LinkedIn公開混亂工程經驗,並開源部分異常注入框架LinkedOut](https://www.ithome.com.tw/news/124117) 67 | * 2018/06/16: [增长教科书Netflix:进取到让自己毛骨悚然](https://mp.weixin.qq.com/s/c9zfL8Mnu241s3tHufhW5g) [簡中] 68 | * 2018/02/06: [Intro to Chaos Engineering](https://www.youtube.com/watch?v=qHykK5pFRW4) 69 | * [Chaos Engineering: Why Breaking Things Should Be Practised.](https://www.slideshare.net/hornsby/chaos-engineering-why-breaking-things-should-be-practised-93761039) 70 | 71 | 72 | ## Misc 73 | 74 | * 漫畫:[我長大想做 SRE](https://buff.ly/2zjMI9j) -------------------------------------------------------------------------------- /docs/Books.md: -------------------------------------------------------------------------------- 1 | 2 | * [Site Reliability Engineering: How Google Runs Production Systems](https://landing.google.com/sre/) -------------------------------------------------------------------------------- /docs/ChangeLog.md: -------------------------------------------------------------------------------- 1 | 2 | # 更新紀錄 3 | 4 | * `+`: 增加 5 | * `-`: 刪除 6 | * `=`: 異動 7 | 8 | 9 | ## 2020/05/02 10 | 11 | * `=` 升級 python2.7 to python3.7 (macOS) 12 | * `=` 升級 [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/releases/5/#extrarepo_icon) 版本, 4.x to 5.x 13 | * `+` 新增 Round4 資料 14 | 15 | 16 | ## 2019/03/09 17 | 18 | * `+` 增加 Round 3 資料. 19 | * `+` 將網站從 bootstrap 拆出,獨立域名: study-area.sre.tw 20 | * `=` 重新結構化左側目錄 21 | * `+` 拆分 source 和 site 兩個 git repos,並開放社群送 PR 22 | 23 | 24 | ## 2019/01/09 25 | 26 | * Review SRE Round 1 文章 27 | * 加入 disqus 28 | * 調整配色 -------------------------------------------------------------------------------- /docs/Events.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## 2018/06/27: GCPUGTW - PIXNET的SRE之道 by 小明 4 | 5 | * [原始連結](https://www.facebook.com/groups/sre.taiwan/permalink/1069322719900298/) 6 | 7 | 8 | 9 | 10 | ## 2018/06/27: GCPUGTW - Ops X Serverless by Earou 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/GuideLine.md: -------------------------------------------------------------------------------- 1 | 2 | # 讀書會導讀摘要 3 | 4 | 以時序方式整理,由粗到細。 5 | 6 | | | 時序 | 範圍 | 7 | |---|------------|-----------------| 8 | | 1 | 事前準備 | 小組 ( <10 ) | 9 | | 2 | 讀書會進行中 | 讀書會 ( < 50 ) | 10 | | 3 | 事後整理 | 社群 ( > 50 ) | 11 | 12 | 13 | ## 一、事前準備 14 | 15 | * 與小組討論 16 | * 提問題:從工作中提問題,從學習中找答案 17 | * 做 Lab,從 Sample 中找問題 18 | * 用程式碼實作 19 | * 對於內容提出疑惑,找到類似的參考文件 20 | * 整理屬於自己的筆記,分享出來 (ex: blog) 21 | * 用自己的語言,重新整理內容 22 | 23 | ## 二、讀書會進行中 24 | 25 | * 導讀者: 26 | * 用 Slide 導讀,匯出 PDF,發 PR 到 github. 27 | * 用自己的語言、經歷,把內容表達出來 28 | * 問問題,從問題中,提出思考與討論 29 | * 小組成員: 30 | * 協助記錄共筆與問題討論重點 31 | * 聽講者: 32 | * 提問題 33 | * 分享找到的資訊 34 | * 整理筆記,結構化、組織所學 35 | 36 | 37 | ## 三、讀書會事後整理 38 | 39 | * 小組整理資料到 github 40 | * 重構討論的內容,結構化、組織化 41 | * 分享到社群 42 | * 找同類型的書讀,看看不同的觀點 43 | 44 | 45 | ## 四、持續學習 46 | 47 | * 幫別人解決問題 48 | * 分享、演講、教學 (坑) 49 | * 問問題,找答案 50 | 51 | 52 | --- 53 | # 關於學習 54 | 55 | 我一直覺得只有扎實的思考過、主動參與討論的學習,才是真的有效地學,這些心路歷程也形成屬於我自己的 [學習法則](https://rickhw.github.io/2017/09/20/About/Learning-Approaches/)。最後引用 [William Yeh](https://www.facebook.com/william.yeh) 在 2018 Agile Summit Taiwan 的這個圖呼應我的想法: 56 | 57 | ![](/images/about_learning.jpg) 58 | 59 | [來源](https://www.facebook.com/photo.php?fbid=10156477083853774&set=a.194710708773&type=3&theater) 60 | 61 | -------------------------------------------------------------------------------- /docs/Incidents.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## 2019 4 | 5 | * 2019/06/28 - 06/29: [Degraded functionality with several features](https://status.slack.com/2019-06/9f63d8e30ee85f46), [Slack服務突槌超過15個小時](https://www.ithome.com.tw/news/131557) 6 | * 2019/06/24: [How Verizon and a BGP Optimizer Knocked Large Parts of the Internet Offline Today](https://blog.cloudflare.com/how-verizon-and-a-bgp-optimizer-knocked-large-parts-of-the-internet-offline-today/), BGP路由外洩造成全球網路不穩,Cloudflare、臉書、Amazon都遭殃[](https://www.ithome.com.tw/news/131459) 7 | * 2019/06/03: Google: [An update on Sunday’s service disruption](https://cloud.google.com/blog/topics/inside-google-cloud/an-update-on-sundays-service-disruption) by Benjamin Treynor Sloss 8 | VP, 24x7 9 | 10 | ## 2018 11 | 12 | * 2018/10/30: [GitHub October 21 post-incident analysis](https://blog.github.com/2018-10-30-oct21-post-incident-analysis/) 13 | * [中文簡譯 by Rick Hwang](https://rickhw.github.io/2019/06/05/DevOps/Github-Incident-Analysis/), [草稿](https://www.facebook.com/groups/sre.taiwan/permalink/1176448732521029/) 14 | * 2018/10/17: [歷史性的一刻,Youtube 爛了。](https://www.facebook.com/groups/sre.taiwan/permalink/1164643200368249/) 15 | * 2018/10/13: [What I learned by bringing down LinkedIn.com](https://venturebeat.com/2018/10/13/what-i-learned-by-bringing-down-linkedin-com/) 16 | * 2018/07/18: [沒谷歌不行.. 當機造成寶可夢、Snapchat暫時下線](https://news.cnyes.com/news/id/4167982) 17 | * 2018/06/27: Slack 異常 https://www.facebook.com/groups/sre.taiwan/permalink/1060397500792820/ 18 | * 2018/09/04 Azure 雷擊事件. 2018年9月4日星期二,VSTS(現名為Azure DevOps)遭遇長時間的故障,影響了在美國中南部地區(全球託管VSTS客户的10個地區之一)設有組織的客户。 19 | 20 | 21 | ## 2017 22 | 23 | * 2017/02/28: [Summary of the Amazon S3 Service Disruption in the Northern Virginia (US-EAST-1) Region](https://aws.amazon.com/cn/message/41926/) 24 | * 2017/02/01: [GitLab.com database incident](https://about.gitlab.com/2017/02/01/gitlab-dot-com-database-incident/) 25 | * 2017/03/27: [【有片】癱瘓2.2萬輛Ubike 內鬼扮駭客恐賠2242萬(動畫)](https://tw.appledaily.com/new/realtime/20170327/1085182/) 26 | * 2018/11/12: [Google GKE服務故障近19小時,無法使用Cloud Console UI建立新節點](https://www.ithome.com.tw/news/126952) 27 | 28 | 29 | ## Misc 30 | 31 | * [我是linkedin工程師 我把linkedin搞掛了](https://www.google.com/search?client=firefox-b&ei=7gPpW7u3O4qy8QWhirnQCA&ins=false&q=%E6%88%91%E6%98%AFlinkedin%E5%B7%A5%E7%A8%8B%E5%B8%AB+%E6%88%91%E6%8A%8Alinkedin%E6%90%9E%E6%8E%9B%E4%BA%86&oq=%E6%88%91%E6%98%AFlinkedin%E5%B7%A5%E7%A8%8B%E5%B8%AB+%E6%88%91%E6%8A%8Alinkedin%E6%90%9E%E6%8E%9B%E4%BA%86&gs_l=mobile-gws-wiz-serp.3...6597.17743..18570...4.0..4.441.4060.13j14j1j1j1......0....1.........30i10.u_p70_RXgww&fbclid=IwAR3x2S7hizzbyKUKehMF1oxJgasAeMjfVSaDMQ_rjMOmEaEeHG3pbdGdUcY#) 32 | -------------------------------------------------------------------------------- /docs/act/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/.DS_Store -------------------------------------------------------------------------------- /docs/act/01_SRE/20170905-begining.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/01_SRE/20170905-begining.png -------------------------------------------------------------------------------- /docs/act/01_SRE/20180524_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/01_SRE/20180524_1.jpg -------------------------------------------------------------------------------- /docs/act/01_SRE/20180524_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/01_SRE/20180524_2.jpg -------------------------------------------------------------------------------- /docs/act/01_SRE/SRE-3_20171130.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/01_SRE/SRE-3_20171130.mp3 -------------------------------------------------------------------------------- /docs/act/02_CD/20180816_CD-Pipeline.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/02_CD/20180816_CD-Pipeline.jpg -------------------------------------------------------------------------------- /docs/act/02_CD/20181213.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/02_CD/20181213.jpg -------------------------------------------------------------------------------- /docs/act/02_CD/20190124_4-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/02_CD/20190124_4-1.jpg -------------------------------------------------------------------------------- /docs/act/02_CD/20190124_4-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/02_CD/20190124_4-2.jpg -------------------------------------------------------------------------------- /docs/act/02_CD/20190124_4-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/02_CD/20190124_4-3.jpg -------------------------------------------------------------------------------- /docs/act/03_K8s/0314/01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/03_K8s/0314/01.jpg -------------------------------------------------------------------------------- /docs/act/03_K8s/0314/02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/03_K8s/0314/02.jpg -------------------------------------------------------------------------------- /docs/act/03_K8s/0314/03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/03_K8s/0314/03.jpg -------------------------------------------------------------------------------- /docs/act/03_K8s/0314/04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/03_K8s/0314/04.jpg -------------------------------------------------------------------------------- /docs/act/03_K8s/20190222_deep-dive-k8s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/03_K8s/20190222_deep-dive-k8s.png -------------------------------------------------------------------------------- /docs/act/03_K8s/20190222_members.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/03_K8s/20190222_members.jpg -------------------------------------------------------------------------------- /docs/act/03_K8s/20190222_vote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/03_K8s/20190222_vote.png -------------------------------------------------------------------------------- /docs/act/03_K8s/members/20191206_menber_1_final.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/03_K8s/members/20191206_menber_1_final.jpg -------------------------------------------------------------------------------- /docs/act/03_K8s/members/20191206_menber_2_final.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/03_K8s/members/20191206_menber_2_final.jpg -------------------------------------------------------------------------------- /docs/act/03_K8s/members/20191206_menber_3_final.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/03_K8s/members/20191206_menber_3_final.jpg -------------------------------------------------------------------------------- /docs/act/03_K8s/members/20191206_menber_4_final.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/03_K8s/members/20191206_menber_4_final.jpg -------------------------------------------------------------------------------- /docs/act/04_Linux/20200320-Vote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/04_Linux/20200320-Vote.png -------------------------------------------------------------------------------- /docs/act/04_Linux/Screen Shot 2020-05-02 at 10.09.48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/act/04_Linux/Screen Shot 2020-05-02 at 10.09.48.png -------------------------------------------------------------------------------- /docs/images/about_learning.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/images/about_learning.jpg -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | 2 | # SRE 讀書會緣由 3 | 4 | ## 2017/09/05: 緣起 5 | 6 | 正瑋在 [DevOps Taiwan](https://www.facebook.com/groups/DevOpsTaiwan/) 發起的 SRE 讀書會 7 | 8 | ![](/act/01_SRE/20170905-begining.png) 9 | 10 | 痞客邦 (PIXNET) 技術總監瑞男 支持,場地贊助,歷時 2017/12 ~ 2018/05/24 六個月,累積大量的經驗與讀書心得分享。本頁放置過去讀書會的導讀、共筆、提問、討論 ... 等詳細資料。 11 | 12 | * [SRE 章節導讀分配](https://docs.google.com/spreadsheets/d/11q0GMDkbj_w61LtsPXpb6RGOMCJS0D_6QMIDRsqT8Lc/edit?pli=1#gid=0) 13 | 14 | 15 | ## 2017/11/16: SRE Taiwan 16 | 17 | 開始讀書會,大家為了聯絡方便,便成立了 [SRE Taiwan](https://www.facebook.com/groups/sre.taiwan/), Rick Hwang 協助擔任義工。 18 | 19 | ## 2018/05/24: 句點 20 | 21 | 經歷半年的讀書會落下了句點,大家合影留念。 22 | 23 | ![](/act/01_SRE/20180524_2.jpg) 24 | 25 | 26 | 27 | 28 | 29 | 35 | 36 | --- 37 | # 相關社群 38 | 39 | * [DevOps Taiwan](https://www.facebook.com/groups/DevOpsTaiwan/) 40 | * [Site Reliability Engineering Taiwan](https://www.facebook.com/groups/sre.taiwan/) 41 | 42 | 43 | -------------------------------------------------------------------------------- /docs/notes.md: -------------------------------------------------------------------------------- 1 | 2 | # 記事 3 | 4 | ## Hostname 命名 5 | 6 | 取名 `study-area` 是向 `www.study-area.org` 致敬,這個影響台灣眾多學子的網站,正如其名: `study-area`,期待 SRE 讀書會也能有如此影響力。 7 | -------------------------------------------------------------------------------- /docs/pdf/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/.DS_Store -------------------------------------------------------------------------------- /docs/pdf/CD/CD_CH04-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/CD/CD_CH04-1.pdf -------------------------------------------------------------------------------- /docs/pdf/CD/CD_CH04-2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/CD/CD_CH04-2.pdf -------------------------------------------------------------------------------- /docs/pdf/CD/CD_CH08-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/CD/CD_CH08-1.pdf -------------------------------------------------------------------------------- /docs/pdf/CD/CD_CH09-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/CD/CD_CH09-1.pdf -------------------------------------------------------------------------------- /docs/pdf/CD/CD_CH11.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/CD/CD_CH11.pdf -------------------------------------------------------------------------------- /docs/pdf/CD/CD_CH13-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/CD/CD_CH13-1.pdf -------------------------------------------------------------------------------- /docs/pdf/CD/CD_CH13-2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/CD/CD_CH13-2.pdf -------------------------------------------------------------------------------- /docs/pdf/CD/CD_CH14.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/CD/CD_CH14.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/.DS_Store -------------------------------------------------------------------------------- /docs/pdf/Linux/01_How-to-Learn.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/01_How-to-Learn.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/02_Average-Load.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/02_Average-Load.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/03-04_Context-Switch.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/03-04_Context-Switch.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/06.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/06.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/07-08.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/07-08.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/10.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/10.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/11_How_to_quickly_analyze__CPU_bottleneck.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/11_How_to_quickly_analyze__CPU_bottleneck.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/12.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/12.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/20.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/20.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/21.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/21.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/23.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/23.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/24_Linux_disk_ I_O_operating_Part_I.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/24_Linux_disk_ I_O_operating_Part_I.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/25_Linux_disk_ I_O_operating_Part_II.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/25_Linux_disk_ I_O_operating_Part_II.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/26_find_the_process_that_print_lagre_the_logs.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/26_find_the_process_that_print_lagre_the_logs.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/27.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/27.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/27_Disk-IO-for-high-latency.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/27_Disk-IO-for-high-latency.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/28.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/28.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/28_why-sql-query-takes-too-long-time.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/28_why-sql-query-takes-too-long-time.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/29.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/29.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/29_Redis-latency-problems-troubleshooting.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/29_Redis-latency-problems-troubleshooting.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/30.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/30.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/30_find_I_O_bottleneck.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/30_find_I_O_bottleneck.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/31.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/31.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/31_thinking_of_disk_io_performance_tuning.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/31_thinking_of_disk_io_performance_tuning.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/32.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/32.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/32_blocking_non-blocking_I_O_and_sync_async_I_O.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/32_blocking_non-blocking_I_O_and_sync_async_I_O.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/33_34_about_linux_network.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/33_34_about_linux_network.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/35_recap_C10K_C1000K.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/35_recap_C10K_C1000K.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/36_evaluate_network_performance.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/36_evaluate_network_performance.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/37_DNS-Resolution.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/37_DNS-Resolution.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/38_use_tcpdump_Wireshark.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/38_use_tcpdump_Wireshark.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/39_Solve_ddos_Attack_.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/39_Solve_ddos_Attack_.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/40_Round_Trip_Time.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/40_Round_Trip_Time.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/43_44_network_performance_optimization.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/43_44_network_performance_optimization.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/45_where_is_network_buffer.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/45_where_is_network_buffer.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/46_containerizing_applications.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/46_containerizing_applications.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/47_Packet_loss_chapter_1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/47_Packet_loss_chapter_1.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/49_kernel_process_high_cpu.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/49_kernel_process_high_cpu.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/50_51_DTrace_for_Linux.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/50_51_DTrace_for_Linux.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/52_Service_throughput_drops.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/52_Service_throughput_drops.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/53_System_monitoring.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/53_System_monitoring.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/54_application_monitoring.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/54_application_monitoring.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/55_analysis_performance_method.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/55_analysis_performance_method.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/56_system_performance_optimization_method.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/56_system_performance_optimization_method.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/57_Linux_performance.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/57_Linux_performance.pdf -------------------------------------------------------------------------------- /docs/pdf/Linux/58_Linux_performance_in_prod.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/Linux/58_Linux_performance_in_prod.pdf -------------------------------------------------------------------------------- /docs/pdf/SRE/SRE_CH05.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/SRE/SRE_CH05.pdf -------------------------------------------------------------------------------- /docs/pdf/SRE/SRE_CH17.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/SRE/SRE_CH17.pdf -------------------------------------------------------------------------------- /docs/pdf/SRE/SRE_CH18.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/SRE/SRE_CH18.pdf -------------------------------------------------------------------------------- /docs/pdf/SRE/SRE_CH19.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/SRE/SRE_CH19.pdf -------------------------------------------------------------------------------- /docs/pdf/SRE/SRE_CH22.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/SRE/SRE_CH22.pdf -------------------------------------------------------------------------------- /docs/pdf/SRE/SRE_CH26.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/SRE/SRE_CH26.pdf -------------------------------------------------------------------------------- /docs/pdf/events/20180726.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/pdf/events/20180726.pdf -------------------------------------------------------------------------------- /docs/separator.md: -------------------------------------------------------------------------------- 1 | 。。。。。我是分隔線。。。。。 -------------------------------------------------------------------------------- /docs/stylesheets/extra.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cross-community/study-area-docs/ae3f4298ebb0c328394fbcacfa49110991cac633/docs/stylesheets/extra.css -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- 1 | # ----------------------------------------------------------------------------- 2 | # Site Info 3 | # ----------------------------------------------------------------------------- 4 | site_name: SRE / DevOps Taiwan 讀書會 5 | site_url: 'https://study-area.sre.tw/' 6 | repo_url: 'https://github.com/cross-community/study-area-docs' 7 | docs_dir: 'docs' 8 | 9 | # ----------------------------------------------------------------------------- 10 | # Navigator 11 | # ----------------------------------------------------------------------------- 12 | nav: 13 | - "讀書會": 14 | - "緣由": "index.md" 15 | - "導讀摘要": "GuideLine.md" 16 | - "Change Log": "ChangeLog.md" 17 | - "記事": "notes.md" 18 | - "R1: Site Reliability Engineering": 19 | - "緒論、第一章": "01_SRE/CH01.md" 20 | - "第二、三、四章": "01_SRE/CH02-04.md" 21 | - "第五、六、七章": "01_SRE/CH05-07.md" 22 | - "第八~十一章": "01_SRE/CH08-11.md" 23 | - "第十二~十五章": "01_SRE/CH12-15.md" 24 | - "第十六~十八章": "01_SRE/CH16-18.md" 25 | - "第十九~廿一章": "01_SRE/CH19-21.md" 26 | - "第廿二章": "01_SRE/CH22.md" 27 | - "第廿三、廿四章": "01_SRE/CH23-24.md" 28 | - "第廿五章": "01_SRE/CH25.md" 29 | - "第廿六、廿八章": "01_SRE/CH26-28.md" 30 | - "第廿七章": "01_SRE/CH27.md" 31 | - "第卅、卅一章": "01_SRE/CH30-31.md" 32 | - "第卅二~卅四章": "01_SRE/CH32-34.md" 33 | - "SRE 經典好文": "Articles.md" 34 | - "事件處理案例": "Incidents.md" 35 | - "相關活動分享": "Events.md" 36 | - "R2: Continuous Delivery": 37 | - "活動摘要": "02_CD.md" 38 | - "第一章 軟體交付的問題": "02_CD/CH01.md" 39 | - "第二章 設置管理": "02_CD/CH02.md" 40 | - "第三章 持續整合": "02_CD/CH03.md" 41 | - "第四章 測試策略的實現": "02_CD/CH04.md" 42 | - "第五章 部署流水線": "02_CD/CH05.md" 43 | - "第六章 建置與佈署腳本化": "02_CD/CH06.md" 44 | - "第七章 提交階段": "02_CD/CH07.md" 45 | - "第八章 驗收測試階段": "02_CD/CH08.md" 46 | - "第九章 非功能需求測試": "02_CD/CH09.md" 47 | - "第十章 應用程式的部署與發佈": "02_CD/CH10.md" 48 | - "第十一章 管理基礎設施與環境": "02_CD/CH11.md" 49 | - "第十二章 資料管理": "02_CD/CH12.md" 50 | - "第十三章 元件相依性管理": "02_CD/CH13.md" 51 | - "第十四章 版本控制進階": "02_CD/CH14.md" 52 | - "第十五章 持續交付管理": "02_CD/CH15.md" 53 | - "R3: 深入剖析 K8s": 54 | - "春酒與選書": "03_K8s.md" 55 | - "讀書會行程": "03_K8s/Schedule.md" 56 | - "讀書會 QA": "03_K8s/QA.md" 57 | - "第十八章": "03_K8s/CH18.md" 58 | - "第十九章": "03_K8s/CH19.md" 59 | - "R4: Linux 效能優化實戰": 60 | - "活動摘要": "04_Linux.md" 61 | - "選書": "04_Linux/Vote.md" 62 | - "#01 CH01-04": "04_Linux/R4-01.md" 63 | - "#02 CH05-06": "04_Linux/R4-02.md" 64 | - "#03 CH07-10": "04_Linux/R4-03.md" 65 | - "#04 CH11-13": "04_Linux/R4-04.md" 66 | - "#05 CH14-16": "04_Linux/R4-05.md" 67 | - "#06 CH17-20": "04_Linux/R4-06.md" 68 | - "#07 CH21-23": "04_Linux/R4-07.md" 69 | - "#08 CH24-26": "04_Linux/R4-08.md" 70 | - "#09 CH27-29": "04_Linux/R4-09.md" 71 | - "#10 CH30-32": "04_Linux/R4-10.md" 72 | - "#11 CH33-35": "04_Linux/R4-11.md" 73 | - "#12 CH36-38": "04_Linux/R4-12.md" 74 | - "#13 CH39,40,45": "04_Linux/R4-13.md" 75 | - "#14 CH41-44": "04_Linux/R4-14.md" 76 | - "#15 CH46-48": "04_Linux/R4-15.md" 77 | - "#16 CH49-51": "04_Linux/R4-16.md" 78 | - "#17 CH52-56": "04_Linux/R4-17.md" 79 | - "#18 CH57-58": "04_Linux/R4-18.md" 80 | 81 | # ----------------------------------------------------------------------------- 82 | # Theme: material 83 | # ----------------------------------------------------------------------------- 84 | theme: 85 | name: material 86 | palette: 87 | primary: 'light blue' 88 | accent: 'indigo' 89 | #logo: images/logo.svg 90 | #favicon: images/favicon.png 91 | icon: 92 | logo: material/cloud 93 | # repo: fontawesome/brands/git-alt 94 | language: 'zh-TW' 95 | features: 96 | - tabs 97 | - instant 98 | 99 | 100 | # ----------------------------------------------------------------------------- 101 | # extra 102 | # ----------------------------------------------------------------------------- 103 | #extra: 104 | # manifest: 'manifest.webmanifest' 105 | # social: 106 | # - type: facebook 107 | # link: https://www.facebook.com/groups/sre.taiwan/ 108 | # - type: github 109 | # link: https://github.com/cross-community/study-area-docs/ 110 | # disqus: 'sre-tw' 111 | 112 | # ----------------------------------------------------------------------------- 113 | # extensions 114 | # ----------------------------------------------------------------------------- 115 | 116 | markdown_extensions: 117 | - admonition 118 | - codehilite: 119 | guess_lang: false 120 | - toc: 121 | permalink: true 122 | 123 | 124 | google_analytics: ['UA-135928551-1', 'study-area.sre.tw'] 125 | -------------------------------------------------------------------------------- /publish.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source conf/env.sh 4 | 5 | if [ ! -d "site" ]; then 6 | echo "Clone site from remote repos ..." 7 | #rm -rf site/ 8 | git clone ${SITE_GIT_REPOS} site 9 | fi 10 | 11 | if [ -d "site" ]; then 12 | echo "Pull site from remote repos ..." 13 | cd site 14 | git pull 15 | cd .. 16 | fi 17 | 18 | 19 | ## Build 20 | mkdocs build --clean 21 | 22 | cp README.md site/ 23 | cp conf/CNAME site/ 24 | 25 | ## Commit 26 | cd site 27 | git status 28 | git add . 29 | git commit -m "update on $TS" 30 | git push 31 | 32 | echo "Done" --------------------------------------------------------------------------------