歡迎光臨
每天分享高質量文章

7個重要的Serverless運維工具

這篇文章是Serverless系列的第三篇文章,這一系列文章是為了探索Serverless的本質。
第一篇:Serverless的本質是什麼?
第二篇:Serverless是如何改變公司業務、開發流程以及文化的?
第三篇:遷移到Serverless之前應該想清楚的幾件事

越來越多的公司開始關註Serverless架構,因為它使用了一種按使用的計算量付費(pay-only-for-the-compute-you-use)的模型,這種模型不僅可以提高開發效率,同時也可能降低運營成本。
這意味著實施Serverless架構的公司不需要對可提高計算能力的基礎架構有很深的瞭解。Serverless架構的一個主要優點是自動擴充套件,因此不需要DevOps來持續監控何時需要配置新的伺服器。
這樣做也帶了一些缺點,在許多情況下,如果某些事情沒有按預期執行,或者實際執行的成本高於預期,你是無法詳細的知道發生了什麼事情而導致了這種結果。並且Serverless將重心轉移到應用程式級別,這帶來了一系列新的應用程式監控問題。
自然而然,在新興的Serverless生態系統中,DevOps工具是最先開始蓬勃發展的。雲原生計算基金的Serverless環境(The Cloud Native Computing Foundation’s Serverless landscape)可以識別至少六個DevOps工具,還有一些與平臺無關的監控工具也可以在Serverless系統中使用。
以下是您應該瞭解一些重要的工具,它們可以幫助您很好的維護企業級環境。

 

1. CloudZero

CloudZero的CEO以及建立者Erik Peterson說道“CloudZero是第一個Serverless智慧雲平臺,在這個平臺上,雲服務被看作是新型電腦,雲服務提供商如Amazon Web Services (AWS)被看作是新型作業系統”。CloudZero平臺使工程師,架構師以及DevOps團隊能夠實時監控以及瞭解他們的Serverless系統,並透過一個統一的平臺管理一個或者數百個雲賬號的延遲,錯誤和成本。
Peterson說道“我們解決的第一個問題就是識別異常行為,監測Serverless系統發生的變化,然後找到是誰或者是什麼導致了這種變化”。
目前,CloudZero只推出了beta進行測試,並計劃於2018年下半年釋出。


2. Dashbird

Dashbird是一個AWS Lambda監控和除錯平臺。傳統的應用程式效能監視方法通常透過遠端API傳送資料來收集日誌,然後用這些日誌資料建立監控面板和警報。然而這種方法並不適用於Serverless,因為延遲太大了。作為解決方法,Dashbird在Function退出時部署了一個標誌,以顯示它何時重試以及何時首次呼叫。
令人意外的是Dashbird在某些情況下被用作除錯工具。Serverless的挑戰之一是沒有開發環境(development staging),因此開發人員必須執行Functions以檢視它們真實的執行情況,然後檢視如果它沒有按預期執行是因為什麼原因。 Dashbird有一個用於Serverless框架的開源Serverless離線外掛可以模擬Lambda操作和API閘道器,開發人員可以用這個外掛建立測試環境。


3. Epsagon

Epsagon幫助公司和開發人員使用Serverless技術,同時不失去對應用程式的控制,提供Serverless架構的端到端的可見性和視覺化。
Epsagon還可以進行快速故障排除,減少系統停機時間。開發人員在使用Epsagon後,故障排除時間縮短了80%以上。該公司使用分散式跟蹤和AI技術,分析應用程式的效能和瓶頸,改善終端使用者體驗,同時控制了成本。
與Serverless生態系統中的其他DevOps工具相比,Epsagon目前處於測試階段(beta release),Epsagon的聯合創始人兼執行長Nitzan Shapira說道,它們計劃在今年晚些時候推出GA版本(general availability release)。
Shapira說,他們的一些早期客戶包括資料分析初創公司,財務和移動應用程式開發人員。目前有一個客戶是廣告科技公司,他們使用Serverless流水線來分析資料。他們會全天開放Epsagon交易概覽頁面(transactions views page),並使用Epsagon來解決系統中的棘手問題以及分析根本原因。他們反饋說,使用Epsagon為每位開發人員每天節省兩小時。”


4. Honeycomb

Honeycomb執行長Charity Majors表示,Honeycomb是一項服務,它幫助您找到那些透過簡單日誌分析無法找到的關鍵問題。它允許使用者以毫秒為單位查詢和視覺化數百萬個事件,並檢視每個結果背後的原始資料。它與資料的來源無關 – 無需代理或外掛。 API只需接受一個帶有寫許可權金鑰的結構化資料(blob,Binary Large OBject),這種方法使它天生適用於無狀態,Serverlese的程式碼片段。”
Majors說,Serverless架構師正嘗試在一種新的場景下使用Honeycomb的跟蹤功能。 “跟蹤事件與其他事件一樣,你可以將跟蹤事件的ID傳遞給Serverless Function來檢視事件實際花費時間和工作的瀑布圖,”她指出,使用Honeycomb,你既可以在廣度優先的搜尋和深度優先的痕跡檢查之間來回切換。例如,您在debug時,可以首先縮小範圍找到bug的實體,然後跟蹤該實體,然後再放大範圍以檢視這個bug影響了哪些事件。


5. IOpipe

IOpipe 聯合創始人兼技術長Erica Windisch說道,IOpipe提供了一種Serverless的DevOps工具,專註於“應用程式操作(Application Ops)”。她說,在Serverless環境中,每次呼叫Function後都應該觀察應用程式中發生了什麼。
IOpipe旨在提供一套監視和除錯工具,以便更深入地瞭解在呼叫Serverless工作流的每個Lambda Function後發生的事情。使用IOpipe,您可以在程式碼編輯器中工作併在您的應用程式新增IOpipe Serverless框架外掛或使用我們的裝飾器(decorator)。然後你可以在另一個視窗中開啟IOpipe,就會看到資訊匯入到該視窗中。


6. Stackery

Stackery的Serverless工具包幫助專業開發團隊快速交付生產就緒的Serverless應用程式,並使其快速部署到AWS Lambda上。其旗艦軟體已經出了GA( general availability)版本,Stackery 的CEO Nate Taggart 說,我們現在致力開發Serverless的關鍵需求,專註於協作,治理和標準化。
“我們目前正在對CLI和開發人員工作流程進行一些重要的改進。我們正在創造市場上最高效專業的Serverless開發週期,併在接下來的30天內釋出這些更新。“Taggart表示。他的DevOps工具之前已經在The New Stack上進行了介紹[1]。
他指出最近與一位企業客戶合作,這位客戶正面臨一項挑戰,他們需要在Serverless架構中建立標準化且可重覆的釋出流程。而這正是Taggart經常見到的。
“他們嘗試使用AWS SAM,CloudFormation和Serverless框架,但在管理環境,自動釋出版本,配置IAM以及執行測試方面遇到了困難,”他說該公司選擇Stackery來進行環境管理,IAM策略自動化和集中化釋出週期。
“現在,團隊中的每個開發人員都可以在隔離的環境中快速啟動應用程式的新實體。這使他們加快了開發週期,併在每次pull request被合併後自動化執行他們的測試和釋出,“Taggart說。


7. Thundra

Thundra是一種專為Serverless架構設計的視覺化的解決方案。 Thundra的一些主要功能如下:
  • 自動化檢測:Thundra不需要使用者在程式碼中新增手動檢測和日誌陳述句來收集資料。它會自動檢測程式碼來收集相關資料,這樣使用者可以監控並快速解決問題。

  • 全面監控:Thundra在環境中收集並提供統一的檢視指標,日誌和跟蹤,以便快速解決問題。

  • 零開銷:Thundra支援非同步資料收集(以及同步),以確保不會對應用程式產生任何影響。

  • 智慧取樣:Thundra支援可配置的智慧取樣,確保收集到用來識別和排除故障所需的資料,同時控製成本。

儘管Thundra計劃在今年晚些時候推出GA版本,但早期使用者已經從該工具中受益。
“早期使用者之一(一個全球金融公司)需要一種解決方案,以確保他們能夠在轉移到Serverless架構後為開發人員提供和之前架構相同級別的監控,”Thundra的聯合創始人兼開發主管SerkanÖzal表示。 “由於他們現有的APM(application performance management )工具無法在Serverless架構中執行,因此他們採用了Thundra作為Serverless應用程式的監控解決方案。”


在逐漸成熟的Serverless生態系統中使用DevOps工具

雖然Serverless遠遠不是一個成熟的技術市場,但它正在迅速發展,隨著基礎架構被移交給雲提供商進行管理,Serverless變得無法預測以及難以監控,正因為如此,DevOps成為Serverless生態系統早期的領跑者。
這帶來了一些風險,這些風險需要在應用程式級別進行管理。而且,正如來自Epsagon的Nitzan Shapira所解釋的那樣,對於Serverless模型整體而言:“最難理解的就是不同的資源,佇列,資料庫和觸發器(triggers)以及它們現在如何組成一個系統。”
相關連結:
  1. https://thenewstack.io/emerging-ops-tooling-serverless-reveals-two-adoption-paths/


原文連結:https://thenewstack.io/7-essential-devops-tools-to-maintain-serverless-operations/

基於Kubernetes的DevOps實踐培訓

基於Kubernetes的DevOps實踐培訓將於2018年8月24日在北京開課,3天時間帶你係統掌握Kubernetes本次培訓包括:容器特性、映象、網路;Kubernetes架構、核心元件、基本功能;Kubernetes設計理念、架構設計、基本功能、常用物件、設計原則;Kubernetes的資料庫、執行時、網路、外掛已經落地經驗;微服務架構、元件、監控方案等,點選下方圖片檢視詳情。

贊(0)

分享創造快樂