溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux運維用到的技術棧

發(fā)布時間:2020-09-09 19:32:31 來源:網(wǎng)絡 閱讀:676 作者:bigstone2012 欄目:系統(tǒng)運維

[toc]

虛擬化篇

KVM

比較主流的虛擬化技術,不過在運維水平比較差的公司,還能看到在用盜版的VMware產(chǎn)品。如果測試環(huán)境規(guī)模稍微有點大,可以考慮使用云平臺,諸如各種流行的 Stack。如果自己有能力,可以使用 libvrit 提供的API,自己寫一個管理平臺也是可以的。適合內(nèi)部使用即可,開源的各種 Stack 都比較重,用起來都是有一些成本的。

Docker

統(tǒng)一了開發(fā)及線上環(huán)境,適合微服務。

公有云

公有云有你用到的所有東西。在一個使用了公有云的公司,那么完全可以不需要運維及測試了,幫助企業(yè)快速完成DevOps轉(zhuǎn)型。公司做Dev,公有云做Ops。
公有云在IaaS、PaaS及SaaS層面都有相應的產(chǎn)品,真正懂你所需,公司可以根據(jù)自身情況選擇使用合適的產(chǎn)品即可。
安全起見,可以使用子賬號進行 API 相關的一些操作。

存儲服務

如果數(shù)據(jù)量比較大,可以考慮使用開源的分布式存儲,后面在私有云平臺或Docker或K8S上估計都會用到。

WEB 容器篇

OpenResty

OpenResty 并不是一個新的事物,而是 Nginx 與 Lua 的組合。OpenResty 創(chuàng)始人章亦春把 Lua 腳本嵌入了 Nginx,結合 Lua 可以很靈活的擴展 Nginx 的功能,如實現(xiàn) WAF 等。而且做的事情遠不止這些。

數(shù)據(jù)庫篇

主要包括關系型數(shù)據(jù)庫與非關系型數(shù)據(jù)庫。基本的 SQL 功底還是要有的。

MySQL

號稱世界上最流行的數(shù)據(jù)庫,用的還是非常廣泛的。看來“最流行”的稱號并不是吹的。運維最關注的還是如何確保數(shù)據(jù)的安全性及高可用性。

運維層面需要做到的是:

  • 數(shù)據(jù)備份
  • 數(shù)據(jù)恢復
  • 主從同步

關于備份及恢復用到的工具,市面上還是有很多的。選擇你熟悉的即可。

PostgreSQL

號稱世界上最先進的數(shù)據(jù)庫,使用的用戶還是很多的,不過這些用戶大多在國外,在國內(nèi)用的不如 MySQL 廣泛。如果你覺得沒有合適的數(shù)據(jù)庫可以選擇的話,那就選擇 PostgreSQL 吧。

Redis

主流的鍵值存儲數(shù)據(jù)庫。一般用來做關系型數(shù)據(jù)庫的緩存。

MongoDB

監(jiān)控篇

Zabbix

比較著名的開源監(jiān)控系統(tǒng),功能強大。如果要定制或二次開發(fā),相對比較困難(需要我們有C語言(后端)及PHP(前端)的功底),這里所說的困難是面對運維人員來說的。

Open-Falcon

由小米開源的監(jiān)控系統(tǒng),使用Go語言編寫。如果要定制或二次開發(fā)則相對容易,支持腳本語言(Bash、Perl、Python等)對其進行擴展或二次開發(fā)。而這些腳本語言對運維人員來說并不陌生,但能不能用的熟練就是另外一回事了。

顏值高的UI

上述的監(jiān)控軟件,它們的UI界面不是很Nice,可以使用比較流行的Grafana。

ZMON

可以做監(jiān)控及指標監(jiān)控。

Prometheus

應用程序的指標監(jiān)控。四個黃金指標:

  • 延遲:服務請求所需耗時;例如HTTP請求平均延遲
  • 流量/吞吐:衡量服務容量需求;例如每秒處理HTTP請求數(shù)
  • 錯誤:衡量錯誤發(fā)生的情況;例如HTTP 500錯誤數(shù)
  • 飽和度:衡量資源使用情況;例如CPU/內(nèi)存/磁盤使用量

有了指標監(jiān)控,再加上服務調(diào)用鏈追蹤,效果會更好。

服務鏈調(diào)用追蹤

服務鏈調(diào)用追蹤解決的問題:

  1. 提供服務之間的調(diào)用鏈
  2. 性能及延遲分析
  3. 服務依賴分析
  4. 問題分析

Zipkin

Twitter 推出的服務調(diào)用追蹤系統(tǒng)

Jaeger

Uber 推出的服務調(diào)用追蹤系統(tǒng)

Skywalking

華為推出的服務調(diào)用追蹤系統(tǒng)

配置管理篇

Ansible

比較輕量級(相對Puppet及SaltStack)的自動化配置管理工具。讓運維告別使用腳本進行循環(huán)來完成批量操作的任務,而是真正的使用并行來做操作管理。

編程語言篇

做為IT界的一員,不管是什么工種,不會一門編程語言,都不好意思跟別人打招呼。

Python

Python的口號是:"Life is short, use Python."

Golang

Golang具有C的性能及Python的姿態(tài),它的口號是:"Life is short, let's Go."

Lua

OpenResty中需要用到Lua語言,所以掌握一下這門語言也是應該的。

JavaScript

現(xiàn)在不管是什么職位,總得會點JS吧,不然離全棧還是有點距離的。如果不會一點,自己想做個頁面,還要找前端同事,多么不方便。

代碼托管

有了編程語言及相應的開發(fā)環(huán)境,那就該有一個代碼托管的地方。這里推薦使用Gitlab作為公司內(nèi)部的代碼托管服務,相信很多公司也是這么選擇的。

開發(fā)框架

JAVA 相關框架

涉及到Java開發(fā),就少不了下面的幾個組件:

  1. JDK
  2. MavenAntGradle
  3. Nexus
  4. 代碼托管
  5. 數(shù)據(jù)庫(關系型數(shù)據(jù)庫、非關系型數(shù)據(jù)庫)

Spring全家桶要知道有什么,及怎么工作的。如:

  • 服務注冊、發(fā)現(xiàn)
  • 負載均衡
  • 熔斷是怎么回事
  • 配置中心

Spring Boot

Spring Cloud

Python 相關框架

Django

Python 世界中一個大而全的WEB框架。

Flask

Python 世界中一個小而美的WEB框架。

CI/CD

這在日常的工作中,有著很大的比重。如果這一塊做不好,運維將會比較苦逼。市面上的CI/CD工具比較多,選擇也比較多,推薦使用Jenkins或者自研。

運維小工具

平時可以開發(fā)一些小工具,這些小工具可以幫助自己或開發(fā)快速獲取一些信息,如:

  1. 解析 Eureka 的注冊信息,可以知道自己的服務部署在哪里及監(jiān)聽的端口
  2. 從一臺機器上復制文件到另外一臺
  3. 從一個數(shù)據(jù)庫實例,同步數(shù)據(jù)到另外一個數(shù)據(jù)庫實例
  4. 還有很多

總結

運維要把基礎型的工作做好之后,就可以用更多的時間與精力做更有價值的事情了?;A型的工作主要有:

  1. 持續(xù)集成與持續(xù)部署
  2. 基礎設施監(jiān)控
  3. 服務性能監(jiān)控

上述工作做好之后,就可以做一些公司內(nèi)部的運維平臺,方便開發(fā)同事進行更高效地開發(fā)。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI