在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

無服務器架構的基本概念及運維

茶棚小二a ? 來源:茶棚小二 ? 作者:茶棚小二 ? 2022-04-06 10:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

在介紹運維之前,大家先來快速了解一下無服務器(serverless)的概念。由于筆者的實戰經驗是在AWS平臺上,本文中出現的無服務器均指使用AWS Lambda構建的serverless應用。Serverless的特點是用戶無需預配置或管理服務器,只需要部署功能代碼,服務會在需要的時候執行代碼并自動伸縮,從每天幾個請求到每秒數千個請求,輕松地實現FaaS(Function as a Service)。如下圖所示:

無服務器架構的基本概念及運維

(圖片來自網絡)

在傳統的應用中,開發團隊除了需要編寫功能代碼,還要監控實時負載,并相應地對應用進行伸縮,還要處理一些因非功能性故障導致的停機(硬盤、內存等)。而無服務器架構則將開發團隊從服務器維護的工作中解放出來,繼而能更專注在功能代碼上(圖中的Function)。在實際的項目里,開發者只需將功能代碼打包上傳到AWS Lambda,再進行少量配置(環境變量,觸發條件,內存,超時時間等)即可將應用/服務上線。

以上是無服務器架構的基本概念。接下來,筆者將從日志,指標,監控及報警,災備這四個維度來介紹無服務器架構下的運維。

日志

默認情況下,應用運行時產生的日志會保存在應用服務器本機,在需要查看日志的時候,需要運維人員遠程登錄到這臺服務器獲取日志信息。這種方式操作起來稍顯繁瑣,而且當應用服務器的數量增多后,由于需要先找出產生錯誤信息的那臺服務器,會嚴重降低查找日志的效率。

一種解決辦法是ELK(ElasticSearch, Logstash, Kibana),這三個開源工具各司其職,Logstash負責日志的推送和轉換,ElasticSearch作為數據庫與搜索引擎,Kibana作為圖形界面。好處是搭建容易,良好的伸縮性,以及免費。但帶來的額外成本是,獨立出來的日志服務也需要做好全方位的監控(應用狀態,硬盤,網絡等),避免因為基礎服務的問題導致系統全面故障。

AWS無服務器架構中的日志是一個開箱即用的服務,所有日志自動采集到AWS CloudWatch Logs中,只要根據服務名稱找到對應的日志組,即可進行查詢搜索,不需要任何配置,也沒有任何維護成本。

無服務器架構的基本概念及運維

指標

通常情況下,運維工作會包含采集線上應用的運行指標,來反映應用的健康狀況,故障率,性能,訪問量,訪問頻率等。這里以一個使用Spring Boot構建的API服務來舉例,Spring Boot中的Actuator扮演了采集指標的角色。默認配置下,對于每個API,Actuator會自動采集以下幾個指標:

uri,例如/api/person/{id}

method,例如GET或POST

status,例如200或500

當然我們可以通過實現一些接口來擴展/自定義采集指標,這里就不展開了。有了指標數據,還需要對應的報表或儀表盤工具,以便更好地查詢和展示,可以選擇像Prometheus,Grafana這樣的工具。

那么AWS無服務器架構是否提供了類似的指標采集呢?答案是肯定的,AWS CloudWatch Metrics自動采集了Lambda function的以下四個指標:

Invocations(實際調用量)

Errors

Duration(執行時間)

Throttles(超過并行限制而被阻止的調用的數量)

Invocations和Errors取一段時間的總數,結合二者可以得出應用的錯誤率,如下

無服務器架構的基本概念及運維

Duration則通過取平均數來反映一段時間的性能表現,在筆者的項目中Lambda function的耗時主要集中在SQL的查詢上,這個數字可以相應地反映技術人員對查詢優化的效果。當然,在實際情況中,這些檢驗都可以在預發布環境下進行,這個例子只是為了方便理解。

無服務器架構的基本概念及運維

在筆者目前的項目中,Throttle并未被使用到,默認的并發限制是1000/秒,而用量最大的Lambda function的調用頻率也不過每分鐘150次,距離超限差得很遠,不過這一數據對于并發高的應用有很重要的意義。

除了開箱即用的幾個指標以外,還可以結合CloudWatch metrics的API,在相應的功能代碼中埋點,定制化采集指標。例如,對于一個Lambda function,代碼里三個子task,默認提供的Duration只能反映總體的運行效率,如果需要統計每個task的消耗,就需要用到AWS CloudWatch metrics API。

監控&報警

監控的意義在于全面了解應用的資源使用率,性能和運行情況,這些數據可以用來幫助團隊及時作出調整,保證應用程序順暢運行。這通常包括CPU使用率,數據傳輸,磁盤使用等。在突發狀況導致系統不可用的時候,團隊的響應速度,往往取決于監控和報警的及時性,全面性和準確度。如果能在對歷史數據的分析之上對監控系統進行合理的配置,團隊甚至能預測不好的事情將要發生,提前做好防范,未雨綢繆。

同上,這里還是以一個Spring Boot應用為例,在上一小節指標數據的采集中提到過Actuator,事實上Actuator除了可以記錄上面提到的指標,還可以用來收集監控數據。這里我們只需要設置一個Spring Boot Admin應用,給需要進行監控的應用加上Spring Boot Admin client配置,監控數據就會通過Actuator暴露的API傳遞給Spring Boot Admin。

無服務器架構的基本概念及運維

報警功能一般則要根據實際情況自行實現。Spring Boot Admin中實現了對Pagerduty,Slack等第三方工具的集成,如果只是需要簡單的郵件提醒,實現起來也不復雜,這里就不展開了。

隨著云上基礎設施的普及,上面提到的監控和報警早已是各個平臺的標準配置,根本輪不到開發者去操心如何實現及維護,運營團隊可以把更多的精力放在配置優化的工作中去。

AWS默認提供了非常完備的監控數據,也允許自定義監控dashboard,通過把一系列重要的指標添加到創建好的dashboard中,應用的運行狀況一目了然。

無服務器架構的基本概念及運維

前面已經提到過,在出現錯誤,或性能底下時,根據某些關鍵指標的變動情況發送警告通知非常必要。筆者所在的項目的做法是使用AWS CloudWatch和AWS SNS提供的告警通知功能,只需要先選擇指標然后設定觸發閾值和檢查間隔時間即可,AWS SNS支持HTTP、SMS、Email等多種訂閱方式。下圖展示了如何設定當某個Lambda在過去5分鐘內發生了5次以上錯誤的時候發送通知。

無服務器架構的基本概念及運維

災難備份&恢復

在系統鏡像,構建工具還有容器技術越來越普及的今天,災難備份的意義很大程度上是為了有效保護重要數據。通常的做法是設定一些定期任務,將數據傳輸到遠端的災備中心,從物理上抵御不可抗災難。如果數據量過大,出現網絡傳輸效率跟不上的情況,可以參考AWS用卡車拉數據的解決辦法。

真正需要用到災難備份的情況在筆者有限的經歷中還沒有發生過,但是如果不未雨綢繆,真正發生時的后果將難以設想。筆者項目中用到的AWS RDS默認啟用了以7天為周期的自動備份,這個配置可以手動調整也可以將配置寫入構建基礎設施的腳本中去。 如果災難真的發生,光有數據備份是不夠的,還需要能夠快速重建應用運行時的基礎設施。筆者所在的團隊(下文簡稱團隊)分別使用了AWS CloudFormation和Serverless framework,CloudFormation用來重建數據庫、網絡等基礎設施,Serverless framework用來重建Lambda function,在重建數據庫的時候,通過持續集成流水線,以環境變量的方式傳入最近一次數據備份快照的Id,15分鐘以內即可重建一套產品環境。

總結

筆者所在的團隊是10個人左右的配置,采用結對編程的方式,3對pair,包含web端、業務層、數據層。從產品原型確定到第一次上線(MVP)耗時30天,每周至少發布一次新版本,story的平均交付時間(cycle time,從需求確定到上線)為8天。這樣的速度也許不能算快,但是如果沒有Serverless架構在運維端提供的支持,我們想要在交付速度上有更高的突破會困難得多。

最后來談一下成本,俗話說拋開商業化談技術都是耍流氓,大部分人看到一個強大易用的工具都會下意識里覺得開銷會很大。實際上并不是這樣,我們做了一個粗算,選用雙核CPU,8G內存的M4型服務器,開銷是$72每月。dev,staging,prod三個環境都用同樣的配置就是$216每月,而實際上Lambda每個月的開銷包含所有環境在$20左右,需要注意的是Lambda的計費是根據使用量來的,我們的API訪問大約在150萬每月的量級。可以預見到當訪問達到一定數量的時候Lambda的開銷會和使用服務器的方案持平甚至更大,但是在量小的時候優勢明顯。

得益于強大的AWS生態,利用Lambda構建的無服務器應用經過少量甚至無需任何配置,即可以極低的價格獲得完整的運維功能和體驗。與自己利用開源工具進行搭建的方式相比,研發團隊可以從繁瑣的運維工作——特別是基礎工程搭建——中解脫出來,更加專注于產品本身,極大的提高軟件交付速度,可用性、可靠性和可擴展性也相當有保障。換來的代價是更高的遷移成本,某些功能的不可定制化可能成為瓶頸,以及對底層實現原理的屏蔽也可能對開發者的學習和成長有影響。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    13

    文章

    9757

    瀏覽量

    87589
  • 架構
    +關注

    關注

    1

    文章

    528

    瀏覽量

    25928
  • 運維
    +關注

    關注

    1

    文章

    270

    瀏覽量

    8119
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    AI集成管理平臺的架構與核心構成解析

    在數字化轉型浪潮下,企業IT基礎設施規模不斷擴大,系統架構日益復雜,傳統依賴人工的模式面臨著響應速度慢、故障定位難、成本高等諸多挑戰
    的頭像 發表于 06-12 17:04 ?162次閱讀

    光伏管理系統架構設計及其應用分析

    開展。 光伏管理系統集成先進的數據監測、故障診斷、任務管理等多種功能內容,為光伏電站提供全面、高效、智能的
    的頭像 發表于 06-10 11:34 ?183次閱讀
    光伏<b class='flag-5'>運</b><b class='flag-5'>維</b>管理系統<b class='flag-5'>架構</b>設計及其應用分析

    服務器計算池的團隊需要掌握的網絡工具

    服務器計算池的團隊需要掌握多種網絡工具,以實現高效的網絡監控、故障排查、安全管理和資源優化。以下是團隊常用的網絡工具分類及推薦:
    的頭像 發表于 02-17 15:50 ?293次閱讀

    服務器還是服務器好用一些?

    服務器還是服務器好用一些?云服務器服務器各有優勢。服務器作為獨立物理設備,適合需高性能、物理控制和安全性高的場景;而云
    的頭像 發表于 12-26 10:08 ?487次閱讀

    SSR與傳統服務器的對比分析

    隨著云計算技術的快速發展,Serverless架構服務器架構)逐漸成為業界關注的焦點。其中,SSR(Serverless Stateful Resources,
    的頭像 發表于 11-18 11:22 ?927次閱讀

    GPU服務器AI網絡架構設計

    眾所周知,在大型模型訓練中,通常采用每臺服務器配備多個GPU的集群架構。在上一篇文章《高性能GPU服務器AI網絡架構(上篇)》中,我們對GPU網絡中的核心術語與
    的頭像 發表于 11-05 16:20 ?1160次閱讀
    GPU<b class='flag-5'>服務器</b>AI網絡<b class='flag-5'>架構</b>設計

    諧波的概念及應用

    本文簡單介紹了諧波的概念及應用。
    的頭像 發表于 10-18 14:14 ?1220次閱讀
    諧波的<b class='flag-5'>概念及</b>應用

    如何優化Linux服務器的性能

    優化Linux服務器的性能是一個綜合性的任務,涉及硬件、軟件、配置、監控等多個方面。以下是一個詳細的指南,旨在幫助系統管理員和人員提升Linux服務器的性能和穩定性。
    的頭像 發表于 09-29 16:50 ?629次閱讀

    基于高通主板的ARM架構服務器

    一、ARM架構服務器的崛起 (一)市場需求推動 消費市場寒冬,全球消費電子需求下行,服務器成半導體核心動力之一。Arm 加速布局服務器領域,如 9 月推出 Neoverse V2。長久
    的頭像 發表于 09-11 10:53 ?1091次閱讀

    服務器而言,ARM架構與X86架構有什么區別?各自的優勢在哪里?

    一、服務器架構概述 在數字化時代,服務器架構至關重要。服務器是網絡核心節點,存儲、處理和提供數據與服務
    的頭像 發表于 09-09 14:05 ?2898次閱讀

    源傳感基本概念、工作原理及分類

    、維護方便等優點,因此在許多領域得到了廣泛應用。 一、源傳感基本概念 1.1 定義 源傳感是一種不需要外部能源的傳感
    的頭像 發表于 08-19 09:53 ?3032次閱讀

    美國輕量云服務器是什么?和云服務器有哪些區別

    美國輕量云服務器,作為云計算領域的一種服務模式,主要面向入門級云計算用戶及需要簡單應用部署的場景。它提供基于單臺云服務器的綜合服務,包括域名管理、應用部署、安全及
    的頭像 發表于 08-16 11:20 ?689次閱讀

    S參數的概念及應用

    電子發燒友網站提供《S參數的概念及應用.pdf》資料免費下載
    發表于 08-12 14:29 ?0次下載

    如何在阿里ECS服務器上架設自己的OpenVPN服務器

    需要自己架設服務器,讓現場的IR615路由連接自己的服務器。能通過自己的服務器進行數據采集和遠程
    發表于 07-25 06:14

    ai服務器是什么架構類型

    AI服務器,即人工智能服務器,是專門為人工智能應用設計的高性能計算服務器。AI服務器架構類型有很多種,以下是一些常見的
    的頭像 發表于 07-02 09:51 ?1845次閱讀
    主站蜘蛛池模板: 潘金莲国产三级视频在线 | 欧美 亚洲 国产 精品有声 | 一级特黄aaa大片免色 | 永久免费观看午夜视频在线 | 久久久久久综合 | 亚洲精品亚洲人成人网 | 国语自产免费精品视频一区二区 | 午夜小网站 | 四虎影院精品 | aika中文字幕永久在线 | 亚洲一区欧美一区 | 日本jlzz | 一级在线免费视频 | 亚洲精品在线免费观看视频 | 天堂在线最新版www中文 | 国产美女动态免费视频 | 天天干夜夜躁 | 娇妻被黑人蹂躏 | 男人的天堂视频在线 | 四虎在线最新地址公告 | 日本一道dvd在线中文字幕 | 国产视频资源 | 色com| 欧美极品在线播放 | 久久久噜久噜久久gif动图 | 欧美成人精品一区二区 | 久久99热精品这里久久精品 | 欧美色图在线视频 | 国外精品视频在线观看免费 | 波多久久夜色精品国产 | 啪啪网站视频 | 国产小视频在线观看www | 激情文学综合 | 色九| 亚洲操操操| 1024 cc香蕉在线观看看中文 | 国产成人精品一区二区仙踪林 | 手机在线看片你懂的 | h网站免费在线观看 | 久久99国产亚洲高清观看首页 | 婷婷免费高清视频在线观看 |