第 16 期 - 這麼好睡的天氣,要是服務出問題我也睡死了該怎麼辦?!

本週專欄

照顧 Prometheus 的生活起居 - 一段把屎把尿的故事

本週專欄想要來探討每天維運 Prometheus 的小小經驗,到底該怎麼好好地照顧 Prometheus,才能讓系統發生不預期的事件時,他會乖乖地發出通知呢?在此篇分享文章中會談到的主題如下:

  • Prometheus Storage & Scalability
  • Incident Management
  • Architecture in Production Environment
  • Who Monitor Prometheus?

神 Q 超人

UI/UX|下次主管問你為什麼 UI 要用圓角的時候

各位有想過為什麼前端框架,包含 Bootstrap、Material-ui 或是 Antd 通常都將 Button 或是 Input 等角角都是設計圓的嗎?身為一個前端設計師或工程師,如果從來沒想過這件事情,那趕緊朝聖這篇文章,一起來看看到底是什麼原理,讓大家都這麼做 🙌

I Built a Game in Vanilla JS And I Don’t Know How to Code 3 Months Ago

寫程式最大的成就感除了能夠幫助到人外,就是經從無到有,一步步將他們創造出來的這個過程,其實自己身為前端工程師在切版時一直有這種感覺,每一次加上一些 Code 都能夠讓整個網站變得更完整或是特別,這種手作的感動(好文青XD)就如同作者最後提到的「In the past, I created a few webpages, but all of them where using Wordpress and the sensation is not the same. This is a thousand times more exciting!」,建議大家可以看看這篇文章,找回初學的感動XD

10 Tips For Writing Better Tests

如果有玩過單元測試,並覺得測試在前端非常非常難寫且容易出錯,那也許是不小心踩到單元測試的誤區了,文章中講解了 10 個可以讓單元測試變得更好的技巧!更棒的是作者在每一個技巧都有加上為什麼要這麼做,文章也不會很長,非常值得一看!

Larry Lu

淺談 DevOps 心得及應用工具

近幾年來 DevOps 這個領域越來越紅,但我們為什麼需要 DevOps?知道目的之後又該如何達到?這篇文章把這兩個問題回答得很清楚,不管你是已經熟悉 DevOps、想入門或是根本沒聽過 DevOps,這篇文章都很適合你讀

Gradually using TypeScript in Your React Project

跟 JavaScript 比起來,強型別的 TypeScript 可以幫你找出型別寫錯的低級錯誤,而且也提供 interface 跟 module 語法讓你更好設計大型應用,所以現在很多前端應用也開始用 TypeScript 寫。如果你最近正好想把 JS 寫的 React 專案換到 TS,可以參考看看這篇文章的做法

Building a Continuous Integration & Deployment Pipeline Using Docker

雲端平台除了 AWS 跟 GCP 之外,最近也越來越多人開始用 DigitalOcean,這篇文章就教你怎麼從零開始建一個 pipeline,讓你的應用經過 TravisCI 測試之後自動部署到 DigitalOcean,如果你也是 DO 的使用者的話可以跟著做做看

LukaJoJo

Netflix Android 應用程式現可用AV1格式串流影片

Netflix 現在於 Android 應用程式,開始以 AV1 格式串流影片,AV1 是一個由 Netflix、Google、Apple、Facebook 和 Microsoft 等開放媒體聯盟所發佈的開放格式,追求的更少的頻寬跟更告的品質。AV1 壓縮率提高了 20%,更適合行動裝置。

CS50’s Web Programming with Python and JavaScript 2020 — Review JavaScript, SPA, and CSS animation

CS50 網路程式課程 2020 版由 Python + JS 所組成,看了一下,這篇是筆記 JS、SPA、與 CSS 動畫的筆記,光是 JS 就講的好詳細好多基礎知識,好像應該要來上一下。

Closing the Kubernetes Skills Gap with Developer-First Learning

你該如何開始學習 Kubernetes 呢?對於 2018 年開始提供 Kubernetes 的產品的 DigitalOcean,這是必要的。在 DigitalOcean 的研究報告中,2018 年用 Kubernetes 的開發者,只佔使用容器開發者的 42% 。因此 DO 想要提供更直覺的教學與社群,讓大家快速上手 Kubernetes。

smalltown

Prometheus 很棒,但是…

PromQL 沒有那麼地輕易上手,所以最近官方又特別發文來介紹一下,包含 Data Types,Labels, Metric Types, Functions 跟 Operators,不過看一看,還是覺得 Timber 在 PromQL for Humans 文內的 PromQL Cheatsheet 最明瞭易懂!分享給正準備探索 Prometheus 的人!最後也在順便加碼由社群大大 Kakashi Liu 所分享有關於 Alert Rule 的好文

連 Kubernetes Cluster 的 Provision 都直接採用 GitOps Pattern 了!

  • WKSctlWeaveworks 的新開源專案,透過 SSH 來幫忙設定跟管理 K8S Cluster 還有其各種 Add-Ons,他把 Cluster API (#CAPI) 與 GitOps 結合再起,可以將 K8S Cluster 的各種組態以 YAML 檔案來定義,然後 WKSctl 就可以根據每次的 Git Push 來幫忙設定 K8S Cluster,既然已經把一切都定義成 YAML 檔案了,所以也可以很輕鬆的隨時重複建立新的 K8S Cluster (自己感覺有點像是 #Ansible 在 Provision 機器一樣XD)

  • WKSctl 是 CAPI 的開源實作專案,而不是一種 K8S Distribution,他也不會幫忙 Provision 機器,他只負責安裝和設定 K8S Cluster;WKSctl 一開始會先透過 CLI 建立 K8S Cluster 中的第一個節點,接著安裝 WKSctl Controller 來幫忙搞定剩下的 Master 和 Worker 節點

  • 達成 GitOps 的方式主要是靠兩個 Controller 1) Flux Controller 會一直去監看 Git Repository,一旦有任何的變化,就會將其同步到 ETCD 中 2) WKSctl Controller 負責監看 ETCD 的狀況有任何變化時幫忙施行,其實就像是 K8S 裡面 Replication Controller 的行為一樣

  • 為什麼會有這個工具的誕生,是因為其實有很多測試或是開發環境的 K8S Cluster 需要隨時被建立起來,但用完又需要馬上被砍掉;除此之外,他們看到很多的大企業客戶,因為權限和安全考量,都不傾向只使用一個大 K8S Cluster,而是根據不同的需求開很多比較小的 K8S Cluster,而且要水平擴展多個 Cluster,比建立一個大 Cluster 要來得簡單許多

StarBugs Weekly

StarBugs Weekly 由一群不寫文章就會想要亂花錢,但是又沒有那麼多錢,只好繼續寫文章的開發者所創立。
內容包含 Web 前端、中端、後端、DevOps、產品開發、精實創業,一切跟產品有關的知識,都是我們的守備範圍!

Curators:

  • @GQSM - Hi!我是神 Q 超人,一個先衝再說的男人。
  • @Larry850806 - 我是 Larry,傳說中的 0.1 倍工程師!
  • @LukaJoJo - 一名全身都是死角的工程師。
  • @smalltown - 熱愛鑽研各種可以提升雲端服務品質及增進團隊開發效率的開源技術

Feedback

想看什麼內容,告訴我們! 點我回饋意見