Background

身為一個 Server Side 網路應用提供者,假如來存取的 Client Side 遇到問題該怎麼辦呢?直接跟他說,這一定是你的問題,我這邊都好好的 (大誤),此文以自己最近遇到的一個 Connection Reset by Peer 議題來當作例子,將追查問題的過程記錄下來,讓自己往後遇到相同問題時有線索可以參考,也希望遇到相同問題的人不小心找到這篇文章後,很迅速的將問題給解決掉,下面會從一開始查找問題的方向開始談起,接著稍微解釋一點點的網路基本常識,最後再提要如何避免同樣的情況再度發生

Troubleshooting

事情是這樣子的…這次從外部合作夥伴收到通知,使用者表示他的程式會連線到我們所提供的應用服務,不過在一天中會發生幾次的網路連線錯誤,希望我們可以幫忙查查看在 Server Side 這邊有沒有什麼問題


Background

身為網路世界的一般使用者或是開發者,其實無時無刻都在使用 DNS 解析位於網址其後的真實運算資源在哪邊,因此當一個網路服務準備上線讓其他人或是服務可以使用前,一定需要先把 DNS 設定好,而這篇文章並沒有要講解 DNS 背後太深入的運行機制,因為自己對於網路底層也不太熟,只有一些堪用的常識而已;最主要是想藉由這篇文章談談自己這幾年來協助相關 DNS 設定時所遇到的常見問題,希望跟我一樣對 DNS 不熟的人看到這篇文章後,可以避免未來犯下一樣錯誤

Basic Concept


Background

自己管理的 Kubernetes Cluster 已經十幾座了,而且會越來越多,為什麼有這麼多座呢?因為隨著組織的成長,就會開始有不同的部門,同部門內又會依照環境至少分成開發,測試以及正式三個 K8s Cluster,因此預期 K8s Cluster 的座數在未來只會增加不會減少;或許有人會想說怎麼不準備一個大 K8s Cluster 給大家一起共用就好?!但為了安全性和其他考量,最終還是決定維持多個 K8s Cluster 的模式,有興趣想要知道怎麼決定組織內該使用一座或是多座 K8s Cluster 的人可以參考 “這篇文章” 的利害分析

不同座 K8s Cluster 分別是給不同部門和環境使用,每座 K8s Cluster 一定都會有一些重複的東西需要去做設定,並讓維運人員去做後續的管 …


Background

自己本身就是 K8s Distribution 的開發者,最近 AWS re:Invent 2020 宣佈推出 AWS EKS Distro,自己嘗試了一下之後,有一點想把這些年自己對於 K8s Distribution 的所見所聞分享出來,因此撰寫了此篇文章,在開始之前把想要談論的要點列一下:

  • 透過 Vishwakarma 展示使用 AWS EKS Distro
  • 複習 K8s Distribution 的定義
  • EKS Distro 想到達成的事情
  • 選擇適合自己組織的 K8s Distribution

Demonstration


Background

自己在區塊鏈行業待要三年了,常言道:幣圈一天,人間一年,這樣換算下來的話都不知道日子有多久了XD 雖然工作內容多是 Site Reliability Engineering ,但區塊鏈跟虛擬貨幣的 Domain Knowledge 還是有不小心學到一點點;以虛擬貨幣交易所來說,其實可以看到一般傳統市場的金融商品已經逐漸出現,而一般人可能用到的 Paypal 最近也支援購買虛擬貨幣的功能,感覺它離一般人更靠近了一些,不再是遙不可及的外星科技!而今天這篇文章主要是想開箱同事 C9S 大大使用 Golang 所開發的 BBGO 開源程式交易框架!讓大家可以一邊打電玩一邊賺大錢 (誤),不過 PS5 現在都還是買不到 T_T

Introduction

Program Trading

程式交易其實從 1980 年就已經存在了,就是將自己的金融操作方式,用很明確 …


Background

在上一篇 “DevOps: Where is My PodPod — Pod Arrangement” 中談到了並不是使用了 Kubernetes 就什麼事情都不用作了,因為維護 K8S 就像是經營牧場一樣,必須要細心呵護在其中的家畜 (Pod),並且提到要如何讓 K8S Pod 到適宜的 Node 中,有興趣的人可以到上一篇文章瞧瞧看,而在這篇想要談的則是 K8S 的資源管理,為什麼會需要資源管理呢?底下列出幾個原因:

  • 避免失去控制的應用程式影響到其他人
  • 讓應用程式擁有 Scale Out 的能力
  • 讓管理者可以方便規劃整個 K8S 叢集的性能
  • 確保重要的應用程式可以正常運行


Background

這次在 iThome 舉辦的 Kubernetes Summit 有幸可以上台分享,嘗試將 K8S 世界裡維運的所有動作都一對一且映成到牧場管理上,內容雖然簡單易懂,不過由於時間的關係,所以將牧場情境對應回真實 K8S 使用案例的敘述不太完整,因此透過離線文章的撰寫來進行一些補充XD 而這篇的內容會先以 Pod Arrangement 為主,假如還有下一篇的話,就會將重點擺到 Resource Management 上 ==+


Background

網路對於提供線上服務應用程式的重要性當然是不言而諭,因此要如何監控也是個相當耗費心力的問題,因為一般的內部監控並無法滿足此需求,很多大家耳熟能詳的監控工具,例如:Prometheus,SkyWalking,Zabbix…等,都是架設在內部網路 (Intranet) 從內部來進行監控,跟來自於世界各地的一般使用者是完全不同的出發點,所以會有監控上的盲點,看著綠油油的 Dashboard 想說一切都好好的啊!但真實使用者卻已經火冒三丈,客服電話也已經被打到滿線

這種情形就會需要外部的監控服務來模擬一般使用者行為,用以確保服務是否在正常運作中,而在外部網路的監控中,通常會有哪一些重點需要注意,遇到問題的時候又該如何找出癥結點,便是這篇文章想要分享的內容

Resource Timing


Source CDK for Terraform: Enabling Python & TypeScript Support

Background

IaC (Infrastructure as Code) 的戰場,隨著使用的人越來越多,也變得越來越熱鬧了,在數年前其實三大家 Cloud Provider 都有推出自家的解決方案:AWS (Cloudformation), Azure (Resource Manager), GCP (Deployment Manager),除了使用上不太平易近人之外,也都有 Vendor Locking 的問題存在,換一家就要整個換一套;所以工具人 HashiCorp 在此時空背景下推出了 Terraform,一開始主打兩大特色 1) 使用 DSL HCL ,讓不會寫程式的人也可以方便上手,寫出來的東西跟文件一樣簡單易懂 2) 從一開始跨雲端平台,到後來連各種 SaaS 還有網路硬體都在他管理的範圍內

而 A …


Source What is Intelligent Transport System and how it works?

Background

在上一篇 “我的 ElasticSearch 進化之旅” 主要聚焦於 ElasticSearch 要怎麼架設以及架設在哪裡,目標是達到省錢省時間,擁有相對多的功能,並且具備安全性的探討;不過對於效能 Tuning 方面礙於篇幅關係,因此隻字未提;所以今天這篇文章就是要分享 MaiCoin SRE 團隊在久病成良醫的 Performance Tuning 過程,希望達成的目標當然是在合理的系統資源下,處理相對多的 Event,由於我目前處理的 Event 都是以 Log 居多,所以下面的篇幅主要會從三個面向述說,並且都會以最佳維運方式的角度作為出發點

  • Logstash: 如何提升 Log Event Throughput
  • ElasticSearch: 如何穩定的提供 Indexing 與 Sear …

smalltown

原來只是一介草 QA,但開始研究自動化維運雲端服務後,便一頭栽進 DevOps 的世界裏,熱愛鑽研各種可以提升雲端服務品質及增進團隊開發效率的開源技術

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store